Nếu bạn đã tạo tài khoản người dùng useradd
, bạn phải thiết lập mọi thứ cho nó theo cách thủ công. Đây là lý do tại sao, khi tạo tài khoản người dùng từ dòng lệnh, nên sử dụng adduser
Ubuntu (và Debian và các hệ thống dựa trên Debian khác). Bạn có thể chỉ muốn xóa người dùng bằng userdel
hoặc deluser
tạo lại nó với adduser
. Nếu không thì...
Sửa vị trí thư mục chính
Nếu bạn muốn giữ tài khoản người dùng và khắc phục sự cố, thì bạn cần xem xét:
- Tên của thư mục chính tài khoản người dùng thực sự được cấu hình cho
- Tên của thư mục bạn thực sự tạo ra
Đây phải là chính xác như nhau. Thông báo lỗi bạn nhận được su -l penner
là nói với bạn rằng chúng không giống nhau.
Để kiểm tra thư mục chính, tài khoản người dùng thực sự được cấu hình, hãy chạy lệnh này (xem man 5 passwd
và man grep
để biết thêm thông tin):
grep penner /etc/passwd
Bạn sẽ thấy một dòng như thế này:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
Đó là, trường phân :
tách thứ sáu (sau thứ năm :
) chứa thư mục chính. Nếu không /home/penner
, nó nên như vậy. Nếu thư mục bạn đã tạo cho người dùng thì không /home/penner
, nó cũng vậy. Nếu hai thư mục giống nhau nhưng không phải là một /home/penner
, thì về mặt lý thuyết có thể hoạt động, nhưng bạn nên tạo cả hai /home/penner
, bởi vì rất nhiều phần mềm giả định rằng tất cả các root
thư mục nhà của người dùng không phải là ./home/username
Bạn có thể thay đổi penner
thư mục chính /home/penner
của mình bằng cách chạy lệnh này:
sudo usermod -d /home/penner penner
Đảm bảo rằng nó là một thư mục và người dùng có quyền truy cập
Nếu (hoặc một lần) tên là cả hai /home/penner
, bạn cũng nên đảm bảo rằng người dùng có quyền truy cập vào thư mục nhà riêng của họ. Chạy:
ls -ld /home/penner
Bạn sẽ thấy một cái gì đó trông như thế này (mặc dù ngày và giờ sẽ khác nhau):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Nếu thay vì drwxr-xr-x
, bạn có một cái gì đó bắt đầu bằng -
thay vì d
, thì bạn đã tạo một tệp chứ không phải là một thư mục. Xóa tập tin và tạo một thư mục ở đó để thay thế.
Nếu thay vì lần đầu tiên penner
bạn có thứ gì khác, thì người dùng không sở hữu thư mục chính của họ, vì vậy hãy khiến họ sở hữu nó:
sudo chown penner /home/penner
Nếu thay vì drwxr-xr-x
có dấu gạch ngang trong ba ký tự tiếp theo sau d
thì người dùng không có quyền truy cập đầy đủ ở đó. Khắc phục điều đó như sau:
sudo chmod u+rwx /home/penner
( penner
có khả năng chạy lệnh này nếu họ sở hữu thư mục chính của họ, vì vậy nếu bạn thích, bạn có thể chạy lệnh này dưới dạng sudo -u penner u+rwx /home/penner
:)
Đảm bảo người dùng khác Không có quyền truy cập bằng văn bản
Nếu thay vì drwxr-xr-x
, có w
s thay vì -
s trong sáu chữ cái cuối cùng, thì người dùng bên cạnh penner
có thể có quyền truy cập ghi vào penner
thư mục chính của. Điều này rất nguy hiểm (trừ khi bạn thực sự biết những gì bạn đang làm và muốn nó theo cách này và đã thiết lập mọi thứ để nó sẽ không thành vấn đề). Để sửa chữa nó:
sudo chmod -R go-w /home/penner
Mặc định khác
Có một số thay đổi khác bạn có thể muốn thực hiện. Theo mặc định trong Ubuntu (nghĩa là, nếu bạn tạo tài khoản người dùng bằng adduser
hoặc bằng công cụ đồ họa mà bạn không có):
Thư mục chính đã đọc và viết quyền cho tất cả mọi người, không chỉ người dùng sở hữu chúng. Người dùng có thể thay đổi điều này, cho toàn bộ thư mục chính hoặc bất kỳ tệp và thư mục con nào bên trong nó. Nhưng nếu bạn muốn mặc định này và bạn không có thứ hai và thứ ba r
và x
trong drwxr-xr-x
, hãy chạy:
sudo chmod 755 /home/penner
( penner
có khả năng chạy lệnh này nếu họ sở hữu thư mục chính của họ, vì vậy nếu bạn thích, bạn có thể chạy lệnh này dưới dạng sudo -u penner chmod 755 /home/penner
:)
Mỗi người dùng có nhóm riêng của mình, có cùng tên với người dùng và đây là nhóm chính của người dùng. Thư mục nhà của họ thuộc sở hữu của nhóm này. Đó là ý nghĩa của thứ hai penner
trong drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Bạn có thể dừng lại với mặc định này, nếu bạn biết bạn đang làm gì . Nhưng nếu bạn không có ý định làm khác đi, bạn nên đảm bảo penner
được thiết lập theo cách này, vì một số danh tính nhóm chính có thể có cho người dùng hoặc chủ sở hữu nhóm trên thư mục nhà của người dùng, có thể dẫn đến các vấn đề bảo mật.
Chạy đi groups penner
. (Xem man groups
để biết thêm thông tin.) Bạn sẽ thấy một cái gì đó như thế này:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
Đừng lo lắng nếu nó không hoàn toàn như vậy. Tôi sẽ đến đó sớm thôi. Thay vào đó, hãy nhìn vào từ đầu tiên sau :
. Đó là tên của nhóm chính của người dùng. Giả sử bạn muốn nó penner
, hãy chắc chắn rằng nó là. Nếu không, thay đổi nó:
sudo usermod -g penner penner
Nếu bạn gặp lỗi nói rằng nhóm penner
không tồn tại, thì bạn sẽ phải tạo nó bằng lệnh này (và sau đó chạy lại lệnh trên):
sudo addgroup penner
- Xem
man addgroup
để biết thêm thông tin. (Nếu bạn thích, bạn có thể sử dụng groupadd
lệnh để tạo nhóm.)
Khi bạn chạy groups penner
, bạn có thể đã nhận được một danh sách các nhóm ngắn hơn đáng kể so với của tôi penner : penner adm dialout cdrom plugdev lpadmin sambashare
. Đối với người dùng máy tính để bàn, các adm
, dialout
, cdrom
, plugdev
, lpadmin
, và sambashare
cung cấp khả năng mà người dùng máy tính để bàn thông thường nên có. Do đó, trừ khi bạn có lý do để làm khác, penner
nên ở trong các nhóm này. Tuy nhiên, đây không phải là các nhóm chính, vì vậy chúng được đặt khác nhau. Giả sử penner
không có trong bất kỳ nhóm nào trong số này và bạn muốn penner
tham gia vào tất cả các nhóm này, hãy chạy lệnh này:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Trong trường hợp bạn quan tâm, đây là ý nghĩa của tất cả các nhóm:
(Nguồn: Đặc quyền , trong wiki tài liệu Ubuntu.)
Làm cho người dùng trở thành quản trị viên
Nếu bạn không muốn penner
trở thành quản trị viên, có lẽ bạn không cần phải làm gì khác. Bạn có thể kiểm tra nếu penner
là một quản trị viên với groups penner
. Nếu không admin
cũng không sudo
được liệt kê, sau đó penner
không phải là một quản trị viên.
Nếu bạn muốn penner
trở thành quản trị viên, hãy thêm penner
vào bất kỳ nhóm nào trong số các nhóm này tồn tại. (Bạn cũng có thể thêm penner
vào cả hai, nếu cả hai đều tồn tại.) Bạn có thể thực hiện điều đó bằng cách chạy riêng hai lệnh này - nếu một trong hai thành công, bạn đã tạo penner
một quản trị viên:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- Lý do có hai nhóm là vì trước Ubuntu 12.04 LTS, các quản trị viên đã ở trong
admin
nhóm. Bắt đầu với Ubuntu 12.04 LTS, các quản trị viên nằm trong sudo
nhóm. Nhưng nếu hệ thống 12.04 LTS của bạn được nâng cấp từ bản phát hành trước (và điều này sẽ áp dụng cho các bản phát hành Ubuntu sau, chẳng hạn như 12.10 khi được phát hành, được nâng cấp từ Ubuntu 11.10 trở về trước), thì để tương thích ngược, quản trị viên là thành viên của cả hai sudo
và admin
. Nói chung, nếu một trong các nhóm này không cung cấp khả năng quản trị, thì đơn giản là nó không tồn tại, do đó, chạy cả hai lệnh trên (riêng biệt, không phải sudo usermod -a -G admin,sudo penner
) nói chung là một cách an toàn và hiệu quả để làm penner
quản trị viên.