Trong bài viết này, tôi sẽ hướng dẫn các bạn cách quản trị user và group trong linux. Quản lý người dùng và nhóm là một phần quan trọng của việc quản lý hệ thống Linux. Từ việc quản lý user bao gồm việc kiểm tra, tạo mới, sửa đổi, lock, đổi mật khẩu, xóa người dùng cho đến việc thành lập và quản lý nhóm cũng như quản lý quyền truy cập vào tệp và thư mục thông qua quyền sở hữu và quyền truy cập.
Quản lý user
Linux có 3 loại tài khoản người dùng:
Super user (root): có quyền quản trị cao nhất hệ thống Linux
Service user : tài khoản này được sử dụng bởi các dịch vụ để chạy các quy trình và thực thi các chức năng
Regular user : thường được quyền đăng nhập hệ thống với một số quyền nhất định và không có quyền quản trị
Kiểm tra
File /etc/passwd là tập tin quan trọng nhất trong hệ điều hành Linux. Tập tin này lưu trữ thông tin cần thiết về người dùng trên hệ thống. Thuộc sở hữu của người dùng root và để chỉnh sửa tập tin này, chúng ta phải có quyền root. Nhưng hãy cố gắng tránh chỉnh sửa tập tin này. Bây giờ chúng ta hãy xem tập tin này trông như thế nào.
[1] Username : lưu trữ tên người dùng được sử dụng khi đăng nhập vào hệ thống. Độ dài của trường này là từ 1 đến 32 ký tự
[2] password : lưu trữ mật khẩu của người dùng. Ký tự x cho biết mật khẩu được lưu trong tệp /etc/shadow ở định dạng được mã hóa. Chúng ta có thể sử dụng lệnh passwd để cập nhật trường này
[3] User ID(UID): Mã định danh người dùng là số được hệ điều hành gán cho mỗi người dùng để giới thiệu người dùng.
UID 0: được dành riêng cho người dùng root
UID 1-99: được dành riêng cho các tài khoản được xác định trước khác
UID 100-999: được hệ thống dành riêng cho các tài khoản/nhóm quản trị và hệ thống.
[4] : Group ID(GID) : mặc dịnh là 0
[5] : Real name(GECOS) : chứa thông tin của người dùng
[6] : Home directory : chứa đường dẫn tuyệt đối của thư mục chính của người dùng
[7] : Login shell : lưu trữ đường dẫn tuyệt đối của shell người dùng. Shell này được khởi động khi người dùng đăng nhập vào hệ thống.
Để xem danh sách user chúng ta vào quyền root và sử dụng lệnh : cat /etc/passwd
File /etc/shadow là một tập tin văn bản chứa thông tin về mật khẩu của người dùng hệ thống.
[1] Username : tài khoản người dùng tồn tại trên hệ thống
[2] Encrypt password: mật khẩu được mã hóa với định dạng đầu
$1$ – MD5
$2a$ – Blowfish
$2y$ – Eksblowfish
$5$ – SHA – 256
$6$ – SHA – 512
Nếu mật khẩu chứa dấu (*) hoặc (!) (ví dụ : root:!:19802:0:99999:7::: ) thì người dùng sẽ không thể đăng nhập vào hệ thống bằng xác thực mật khẩu.
[3] Last password change: là ngày mật khẩu được thay đổi lần cuối ( tính từ 01/01/1970)
[4] Minimum password age : ngày trước khi phải thay đổi password
[5] Maximum password age : ngày sau khi phải thay đổi password
[6] Warning period : ngày user bị cảnh báo nếu không thay đổi password
[7] Unused : Chưa sử dụng, dành riêng cho việc sử dụng sau này.
Tạo User
Để thêm một user mới, chúng ta sử dụng lệnh adduser hoặc useradd trên Linux với quyền sudo
Tạo user với userid, home directory chỉ định
useradd [option] [username]
Option : -c : tên mô tả user
-d : quy định thư mục cá nhân
-m : quy định và tạo thư mục cá nhân nếu nó chưa tồn tại
-g : quy định nhóm người dùng mà user là thành viên
Ví dụ
sudo useradd -d /etc/passwd adminvietnam1
Kiểm tra user với câu lệnh
more /etc/passwd
id adminvietnam1
Khóa, mở tài khoản câu lệnh
passwd -l [username]
passwd -u [username]
Đổi mật khẩu trong lần đăng nhập tiếp theo
passwd -e [username]
passwd –expire [username]
Chỉnh sửa, xóa
Thay đổi thư mục home
usermod -d /home/adminvietnam adminvietnam1
Thay đổi nhóm
usermod -g group1, group2 [username]
Thay đổi shell
Thay đổi shell mặc định của người dùng trong hệ thống linux
usermod -s /bin/bash [username]
Không cho phép người dùng đăng nhập vào hệ thống qua môi trường dòng lệnh
usermod -s /bin/nologin [username]
Xóa user
userdel [username]
Quản lý group
Các tài khoản có chung đặc điểm hoặc quyền truy cập vào thư mục hay tập tin thì để giảm các thao tác quản trị , cần đưa các tài khoản này vào chung một nhóm để dễ quản lý
Kiểm tra
File /etc/group là một tập tin xác định các nhóm mà người dùng thuộc về hệ điều hành linux. Nhiều người dùng có thể được phân loại thành các nhóm. Việc sử dụng các nhóm cho phép khả năng bổ sung, ủy quyền một cách có tổ chức, chẳng hạn như truy cập vào disk, máy in, các thiết bị khác, …vv. Cho phép supper user ủy quyền một số nhiệm vụ quản trị cho người dùng thông thường. Bây giờ chúng ta hãy xem tập tin này trông như thế nào.
[1] Groupname : tên của group
[2] Group password : mật khẩu của group, ký tự x cho biết mật khẩu được lưu trong tệp /etc/shadow ở định dạng được mã hóa
[3] : Group ID(GID) : số ID của nhóm, số này là duy nhất với mỗi nhóm
[4] : Group list : danh sách tài khoản user là thành viên của nhóm.
Để xem danh sách group chúng ta vào quyền root và sử dụng lệnh : cat /etc/group
Tạo một group mới
groupadd [group name]
VD: tạo mới group manageAdmin
groupadd manageAdmin
Kiểm tra group
cat /etc/group
Thay đổi group ID
groupmod -g [group name]
VD: Group manageAdmin có GID là 1003 thì có thể thay đổi GID thành 1004
groupmod -g 1004 manageAdmin
Chuyển user sang group khác
groupmod -g [group name] [username]
VD: adminvietnam trong group1 chúng ta có thể thêm vào group2, group3 qua
groupmod -g group1, group2, group3 adminvietnam
Thêm người dùng trong group
adduser [username] [groupname]
VD: thêm adminvietnam vào group manageAdmin
adduser adminvietnam manageAdmin
Xóa người dùng trong group
gpasswd -d [username] [groupname]
VD: xóa adminvietnam khỏi group manageAdmin
gpasswd -d adminvietnam manageAdmin
Xóa group
groupdel [groupname]
Ví dụ: xóa group manageAdmin
groupdel manageAdmin
Cảm ơn các bạn đã theo dõi.