Quản lý User trong Ubuntu Server (Phần 1)
Là một developer, bên cạnh các kiến thức về lập trình thì việc học thêm các kiến thức về quản trị mạng, quản lý hệ thống, server cũng rất hữu ích. Và trong bài ngày hôm nay mình sẽ giới thiệu các quản lý user trong Ubuntu Server. Nhìn chung thì ngày việc sử dụng các VPS là rất phổ biến và đa phần các VPS sử dụng hệ điều hành Linux. Đối với người quản trị, 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. Điều này có thể là biggest headache
Là một developer, bên cạnh các kiến thức về lập trình thì việc học thêm các kiến thức về quản trị mạng, quản lý hệ thống, server cũng rất hữu ích. Và trong bài ngày hôm nay mình sẽ giới thiệu các quản lý user trong Ubuntu Server. Nhìn chung thì ngày việc sử dụng các VPS là rất phổ biến và đa phần các VPS sử dụng hệ điều hành Linux. Đối với người quản trị, 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. Điều này có thể là biggest headache
Trong bài viết này chúng ta sẽ cover một số vấn đề :
- Hiểu về root.
- Tạo mới và xóa user.
- Hiểu về /etc/passwd và /etc/shadow files.
- Phân phối các file config mặc định với /etc/skel
- Chuyển đổi giữa các user.
- Quản lý nhóm.
- Quản lý mật khẩu.
- Cấu hình quyền truy cập sudo.
- Cấp quyền thao tác với files và thư mục.
Hiểu về root
Trong hệ điều hành Linux, root
là tài khoản luôn được tạo ra đầu tiên và là thằng có quyền lực tối thượng trong hệ thống, nói chung là nó thích làm gì cũng được. Cũng chính vì nó có quá nhiều quyền lực như vậy nên cộng đồng Linux người ta khuyên là nên hạn chế dùng vì có thể gây ra những tai nạn đáng tiếc
, thôi thì chịu khó tạo thêm một thằng user thường mà sài.
Tạo mới và xóa User
Để tạo mới user trên Ubuntu Server thì có 2 câu lệnh thần thánh là adduser
và useradd
và chỉ có quyền root mới chạy lệnh này được. Ví dụ dưới đây tạo ra 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
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ờ chúng ta đã có tài khoản jdoe . 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
Dễ thấy là 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
Nếu muốn xóa cả thư mục dscully trong /home thì có thể dùng lệnh
userdel -r dscully
Hiểu về /etc/passwd và /etc/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 /etc/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.
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 băm 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
Thông thường, đôi lúc chúng ta sẽ có những cấu hình mặc định dành cho một nhóm người nào đó, ví dụ như config cho text editors và version control systems. Tất cả những cấu hình mặc định này sẽ được để trong /etc/skel và được copy vào thư mục /home của user khi tạo mới. Để view đượ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...
Nguồn: https://viblo.asia/p/quan-ly-cac-users-trong-ubuntu-server-p1-lxrzXNApReO
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!