Hướng dẫn quản lý User và Group trên Linux

Khái niệm về User và Group

User là một thuật ngữ chuyên dụng được sử dụng trong ngành công nghệ thông tin. User được dùng để thể hiện tài khoản của người dùng trong máy tính. User giúp bạn bảo mật thông tin máy tính của bạn. User được sử dụng để login, gán quyền, v.v.. Mặc định khi bạn thêm một User mới vào thì User này sẽ sở nằm trong một group với tên trùng với tên user

Group là thuật ngữ chỉ 1 nhóm tập hợp của nhiều user lại với nhau ,Mỗi user trên linux bắt buộc phải thuộc một group chính (gọi là Primary Group), ngoài ra còn có thể lựa chọn tham gia vào các group khác (gọi là Secondary Group)

I.Lệnh quản trị User và Group

Lệnh tạo user mới, mặc định khi bạn thêm một User mới vào thì User này sẽ sở nằm trong một group với tên trùng với tên user

# useradd <Tên user mới>

Ngay sau khi ta tạo user mới ta cần phải đặt mật khẩu cho nó

Đặt mật khẩu cho user mới

# passwd <Tên user cần đặt pass>

Tạo user với thư mục tùy chọn

# useradd -d /<tên thư mục>  <tên user>

Tạo user với group tùy chọn 

# useradd -G <tên group> <tên user>

Tạo một user không tạo ra thư mục riêng

# useradd -M <tên user>

Tạo user và tự khóa vào ngày nhất định

# useradd -e <năm-tháng-ngày> <tên user>

Xóa user

# userdel <Tên user>

Tạo group mới

# groupadd  <Tên group mới>

Xóa group

# groupdel <Tên group>

II.Một số file liên quan đến user và group

File /etc/passwd

Để kiểm tra xem user của bạn đã thật sự được thêm vào chưa, ta sẽ kiểm tra file /etc/passwd

# nano /etc/passwd

Trong file passwd sẽ hiển thị toàn bộ user có trên VPS kèm theo quyền và tên nhóm của nó

Cấu trúc file như sau

UserName : Password : UserID : Group ID : Comments : HomeDirectory : Shell

  1. Username: tên đăng nhập, phân biệt Hoa/thường, nên dùng chữ thường.
  2. Password: lưu chuỗi passwd đã hash, nếu có sử dụng /etc/shadow thì ở đây sẽ là chữ x
  3. User ID: hệ thống dùng user ID để phân biệt người này với người khác.
  4. Group ID: Đây là nhóm chính của user này.
  5. Comment: mô tả cho user.
  6. Home Directory: Thư mục home của từng user, thường sẽ nằm trong /home/tenuser
  7. Shell: Tên chương trình sẽ thực thi ngay sau khi user login vào. Nếu không có shell user sẽ không thể login. Mặc nhiên trên Linux sẽ dùng bash shell ở đây.

File /etc/default/useradd

Để cấu hình user ta sẽ xem file /etc/default/useradd

# nano /etc/default/useradd

Nội dung file như sau:

  1. Shell: Là một hệ vỏ mặc định mà user sẽ được sử dụng. Bạn cứ hiểu là khi vào SSH, bạn gõ các dòng lệnh Linux vào và thực thi, đó chính là bạn đang dùng Shell. Nếu bạn không muốn user được tạo ra có quyền sử dụng Shell thì để trống phần này.
  2. Group: là ID của group mặc định mà user sẽ được đưa vào khi tạo ra.
  3. Home: Đường dẫn mặc định chứa các thư mục của từng thành viên khi tạo ra.
  4. Inactive: Thời gian mà tài khoản sẽ bị khóa vĩnh viễn sau khi mật khẩu của thành viên đó hết hạn.
  5. Expire: Ngày mà tài khoản của thành viên được tạo ra mặc định sẽ bị khóa. Cấu trúc ngày tháng ở đây là YYYY-MM-DD (2014-09-23).
  6. Skel: Thư mục mẫu của user mà khi tạo ra, user sẽ tự động copy các file và thư mục trong đây vào thư mục /home/tên-user.
  7. Create_mail_spool: cho thành viên được phép sử dụng mail trên server nếu tùy chọn là yes. Mail sẽ được lưu trong file /var/mail/tên-user hoặc /var/spool/mail/tên-user.

File /etc/group

/etc/group là file chứa các thông tin về group

# nano /etc/group

Cấu trúc của nó như sau:

GroupName : Password : GroupID : User1,User2,…

  1. Groupname: tên nhóm
  2. Passwd: lưu chuỗi passwd ,chỗ này được ghi là x
  3. Group ID: ID của nhóm
  4. User: Danh sách các user nhận group này là secondary, ngăn cách nhau bằng dấu phẩy

Kết 

Hi vọng rằng với bài viết này sẽ giúp các bạn hiểu rõ hơn về User và Group, hẹn gặp lại các bạn trong các bài tiếp theo. Chúc các bạn thành công!