Cách quản lý các Users trong Ubuntu Server

(Ngày: 30/12/2019)
Cách quản lý user trong Ubuntu Server. Đối với người quản trị thì bản thân user cũng là một nguồn tài nguyên cần phải quản lý. Bạn sẽ phải tạo mới, quản lý mật khẩu, xóa tài khoản và phân cấp quyền thao tác với các tài nguyên.

Tìm hiểu về root

Root là một tài khoản luôn được tạo ra đầu tiên và có quyền cao nhất trong hệ thống. Chính vì vậy, sử dụng root có thể dẫn đến những sự cố đáng tiếc nên bạn hãy tạo thêm một user để sử dụng.

Tạo mới và xóa user

Bạn sử dụng lệnh adduser hoặc useradd để tạo mới user trên Ubuntu Server. Lưu ý chỉ có quyền root mới chạy lệnh này được.

Ví dụ: Tạo một user có tên là jdoe với thư mục home/jdoe

useradd -d /home/jdoe -m jdoe # root user

sudo useradd -d /home/jdoe -m jdoe

Kết quả là:

Thiết lập password: Sử dụng lệnh passwd. Nếu thay đổi passwd của user khác thì cần quyền root bằng cách dùng thêm sudo.

root@ubuntu-server:~# passwd jdoe

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Bây giờ đã có tài khoản jode. Một cách khác có thể tạo mới User là dùng command adduser.

root@ubuntu-server:~# adduser dscully

Adding user `dscully' ...

Adding new group `dscully' (1006) ...

Adding new user `dscully' (1006) with group `dscully' ...

Creating home directory `/home/dscully' ...

Copying files from `/etc/skel' ...

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for dscully

Enter the new value, or press ENTER for the default

Full Name []: Dana Scully

Room Number []: 405

Work Phone []: 555-412-5555

Home Phone []: 412-555-5555

Other []: Trust no one

Is the information correct? [Y/n] y

Câu lệnh này cho chúng ta khá nhiều options như Full Name, Room Number, Work Phone,… Lưu ý là adduser thì tiện lợi hơn nhưng không phải có sẵn trên tất cả các phiên bản hệ điều hành Linux, vì vậy nếu không sử dụng Ubuntu thì bạn nên sử dụng lệnh useradd.

Để xóa một user, ta sử dụng lệnh:

sudo userdel dscully

Để xóa cả thư mục dscully /home thì có thể dùng lệnh:

userdel -r dscully

Hiểu về /etc/passwd và /ect/shadow files

Việc lưu trữ thông tin các User đã được tạo nằm ở trong 2 text files là /etc/passwd và /etc/shadow.

sudo cat /etc/passwd

cat /etc/shadow # chỉ có root user mới có quyền xem file này.

Trong file /ect/passwd

testuser:x:1000:1000::/home/testuser:0

testuser2:x:1006:1006:Test user,,,:/home/testuser2:/bin/bash

myuser:x:1002:1002::/home/myuser:

myuser2:x:1003:1003::/home/myuser2:

jdoe:x:1004:1004::/home/jdoe:

bsmith:x:1005:1005::/home/bsmith:/bin/bash

jdoe2:x:1007:1007::/home/jdoe2:

testuser # USERNAME

1000 # userId

1000 # groupId.

Khi tạo mới một User thì một group tương ứng cũng được tạo ra.

Trong file /etc/shadow:

myuser2:$6$maFOiNL.:16809:0:99999:7:::

jdoe:$6$TPxx8Z.:16809:0:99999:7:::

bsmith:$6$KoShUY.:16809:0:99999:7:::

testuser3:$6$QAGTNqR:16809:0:99999:7::

Password của User sẽ được chia ra thành một chuỗi hash và lưu trữ trong /etc/shadow

Phân phối các file config mặc định với /etc/skel

Những cấu hình mặc định như config cho text editors, version control systems thường sẽ được để trong /etc/skel và được copy vào thư mục /home của user khi tạo mới. Để xem được nội dung của thư mục /etc/skel: sử dụng lệnh ls -la /etc/skel

.bash_logout

.bashrc

.profile

Khi tạo user thì những file này sẽ được tự động copy vào thư mục /home/tên user,…

Chúc bạn thành công!

viblo.asia