You are on page 1of 5

Username, Group, Permisstion trên CentOS

Giảng viên: Lê Ngọc An


I. Các lệnh cơ bản:
[root@anln ~]# useradd anln
[root@anln ~]# password anln
[root@anln ~]#groupadd IT
[root@anln ~]#groupadd Sale
[root@anln ~]# usermod -g IT anln
[root@anln ~]# usermod -g Sale jenln
[root@anln ~]# chmod 575 /Data1
[root@anln ~]# chgrp IT /Data1
[root@ anln~]# vi /etc/group
[root@ anln~]# vi /etc/passwd
[root@ anln~]# ls -l
total 16
drwx------. 2 anln anln 4096 Sep 28 00:13 anln
drw-rw-r--. 2 root IT 4096 Sep 28 00:21 data
drwx------. 2 jenln jenln 4096 Sep 28 00:13 jenln
dr--rw-r--. 2 root Sale 4096 Sep 28 00:34 picture

II. Nội dung chi tiết:


1. Các khái niệm cơ bản về quản lý account của Linux và Unix
- Account trên Linux/Unix bao gồm nhiều thông tin trong đó hai phần liên quan đến việc sử dụng là
username và userID:
 username: khi sử dụng để login, gán quyền, v.v.. chúng ta thực hiện thông qua username,
nhưng hệ thống lại hiểu và làm theo userID.
 userID: Số đi kèm với username, hệ điều hành dùng số này để quản lý. Như vậy nếu có hai
username khác nhau nhưng dùng chung một userID, thì hệ thống xem hai tên này chỉ là một.
- Quyền hạn: Linux và Unix chỉ phân biệt user làm hai loại
 User có quyền root: Tất cả những user có userID=0, thường thì với một máy mới, chúng ta sẽ
có ngay một user tên root và có userID=0. Nếu chúng ta tạo ra một user khác và sau đó sửa
userID của nó thành 0, thì lúc này nó có quyền root y chang user tên là root của hệ thống.
 User thường: Tất cả các user có userID khác 0 điều là người dùng thường.
- User và Group :Mỗi user trên linux bắt buộc phải thuộc một group nào đó (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), theo một số tài
liệu thì user có thể tham gia vào tối đa 16 Secondary Group.
- Trên Linux và Unix , tất cả thông tin về users và groups điều được lưu vào các tệp tin văn bản thường.
Vì vậy thay vì bạn dùng lệnh để quản lý user, có thể mở các files này ra sửa trực tiếp. Tuy nhiên chỉ
làm vậy khi thật cần thiết, và với mục đích học tập mà thôi. Trước khi sửa chữa các bạn nên backup lại.
Theo tôi bạn chỉ nên "đọc" mà thôi!
2. Quản lý các user
Thông tin về các user được lưu trữ trong các files: /etc/passwd và /etc/shadow.
/etc/passwd: File này chứa thông tin về user, điều khiển việc login của các user.
File này được lưu dưới dạng ASCII, mỗi dòng lưu thông tin của một user, và mỗi dòng lại phân thành
các trường bằng dấu hai chấm. Như vậy thông tin đã được lưu dưới dạng một "bảng". Cấu trúc của nó
như sau:
UserName : Password : UserID : PrincipleGroup : Comments : HomeDirectory : Shell
Ý nghĩa của cụ thể của các trường:
 1-usename: 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à Primary Group 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.
Bạn xem nội dung của /etc/passwd bằng lệnh:
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
/etc/shadow : Chứa chuỗi password đã mã hóa bằng hàm băm và thông tin về khác như Password Age
của User.
 1-usename: phân biệt Hoa/thường, nên dùng chữ thường.
 2-password: lưu chuỗi passwd đã hash. Nếu nó chứa ! hay * thì người dùng không thể login vào
tài khoản này
 3-ngày sửa cuối: tính từ 1/1/1970
 ...
 9-trường này để dành
Xem nội dung của /etc/shadow gần giống như cách ở trên nhưng lile này chứa các thông tin nhạy cảm
nên nó chỉ có thể đọc được nếu bạn có quyền root. Chuyển sang root bằng lệnh 'su' nếu hệ điều hành
cho phép root login, nếu không có thể dùng sudo như sau:
$ sudo cat /etc/shadow
Bạn có thể đọc 'man 5 shadow' để có thông tin đầy đủ về nó.
Nhóm lệnh quản lý user
- Tạo user:
$ useradd [options]
các tùy chọn:
-u UID
-g GID
-G GID : Danh sách các Secondary group có thể cách nhau bằng dấu phẩy ","
-c ghi chú
-d directory
-m Nếu như thư mục của -d chưa có, thì tự động tạo mới.
-s shell : mặc nhiên sẽ dùng bash shell
-Sửa user:
usermod [options] [-l ]
options: hầu hết giống như của lệnh useradd
-Đổi password:
Mỗi user có khả năng tự đổi passwd của chính họ, với điều kiện họ nhớ passwd cũ và phải tuân theo
nguyên tắc đặt passwd của Linux. root được phép đổi passwd của tất cả cả các user mà không cần biết
passwd cũ, cũng như không cần tuân theo nguyên tắc đặt passwd!
$ passwd []
- Xóa user:
$ userdel [-r]
-r : xóa luôn home directory
Xem thêm các lệnh khác như: chfn (thay đổi tên người dùng và các thông tin), chsh (Change login
shell) v.v..
Để biết cú pháp cũng như các tùy chọn, hãy sử dụng tùy chọn --help hay đọc trong man.
3. Quản lý nhóm (group).
Thông tin về nhóm cũng tương tự như user được lưu trong : /etc/groups và /etc/gshadows.
/etc/groups : Chứa thông tin về các groups
Cấu trúc của nó như sau:
GroupName : Password : GroupID : User1,User2,..., Usern
Mô chi tiết các trường:
 1-groupname: tên nhóm
 2-passwd: lưu chuỗi passwd đã băm, trong trường hợp có dùng /etc/gshadow thì chỗ này được
ghi là x
 3-Group ID: ID của nhóm
 4-users: Danh sách các user nhận group này là secondary, ngăn cách nhau bằng dấu phẩy
/etc/gshadows : Chứa thông tin password của groups.
 1-groupname: tên nhóm.
 2-passwd: chuỗi passwd đã mã hóa bằng các hàm băm.
 3-admins: danh sách các user có quyền admin trên group này.
 4-users: các user
Nhóm lệnh quản lý group
- Tạo group:
$ groupadd [-g groupid]
- Sửa group:
$ groupmod [-n New name] [-g new goupid]
- Đổi group password:
gpasswd []
- Xóa group:
$ groupdel
Linux cho phép quản lý users/groups theo cả kiểu cũ và mới. Nhưng bạn nên sử dụng theo mặc định
khi cài, thường là kiểu mới.
 Kiểu cũ: chuỗi password được lưu luôn trong /etc/passwd, và không có file /etc/shadow.
 Kiểu mới: Để tránh việc chuỗi passwd bị dòm ngó dù đã được mã hóa, giờ đây chuỗi passwd
được di dời vào trong /etc/shadow mà chỉ có root được xem. Đồng thời cho phép lưu thêm các
thông tin về Password Age. Chuyện tương tự với group!
4. Thay đổi thông số mặc định
Khi sử dụng lệnh useradd hoặc groupadd, nếu chúng chúng ta không liệt kê đầy đủ các thông số cần
thiết thì hệ thống sẽ lấy theo giá tri mặc nhiên đã được định nghĩa.
Chúng ta có thể thay đổi định nghĩa những giá trị này trong file sau:
 /etc/login.defs : file chứa thông số mặc định khi tạo user hoặc tạo group.
 /etc/skel/ : Tất cả những file là thư mục con trong này sẽ được copy sang HOME của user mới.
5. Tóm tắt tập lệnh quản lý User và Group
a. Tạo User:
Cú pháp: #useradd [option] <username>
[root@ anln~]# useradd anln -c "Le Ngoc An" -g IT
- p password: đặt password cho user
- c comment
- d /home/directory
- e yyy-mm-dd đặt ngày vô hiệu hóa truy cập
- f yyy-mm-dd đặt ngày password sẽ bị vô hiệu hóa khi tài khoản hết hạn
-g group tài khoản này thuộc nhóm nào
-G group thuộc nhiều nhóm trong hệ thống
-s shell xác định shell mặc định cho người dùng khi đăng nhập hệ thống: shell của root là
/bin/bash
b. Thay đổi thông tin cá nhân:
Cú pháp: #usermod [option] <username>
Những option tương tự Useradd
Ví dụ: #usermod –g kinhdoanh vana //chuyển vana từ nhóm server admin sang nhóm kinh doanh.
c. Xóa người dùng
Cúpháp : #userdel [option] <username>
Vídụ : #userdel –r vana
d. Khóa/Mở khóa người dùng
passwd –l <username> / passwd –u <username>
usermod –L <username> / usermod –U <username>
Trong /etc/shadow có thể khóa tài khoản bằng cách thay từ khóa x bằng từ khóa *.
e. Tạo nhóm:
Cú pháp: #groupadd <groupname>
Ví dụ: #groupadd serveradmin
f. Xóa nhóm
Cú pháp: #groupdel <groupname>
Ví dụ: #groupdel <serveradmin>
g. Xem thông tin về User và Group
Cú pháp: #id <option> <username>
Ví dụ: #id -g vana //xem GroupID của user vana
Cú pháp: #groups <username>
Ví dụ: #groups vana //xem tên nhóm của user vana
h. Lệnh add user vào Group:
usermod -g Sale jenln
6. Những file liên quan đến User và Group
#/etc/passwd
Mỗi dòng trong tập tin gồm có 7 trường, được phân cách bởi dấu hai chấm.
#/etc/group
Mỗi dòng trong tập tin gồm có 4 trường, được phân cách bởi dấu hai chấm.
#/etc/shadow
Lưu mật khẩu đã được mã hóa và chỉ có user root mới được quyền đọc.
7. Quyền hạn
a. Trong Linux có 3 dạng đối tượng :
 Owner (người sở hữu).
 Group owner (nhóm sở hữu).
 Other users (những người khác).
b. Các quyền hạn :
 Read – r – 4 : cho phép đọc nội dung.
 Write – w – 2 : dùng để tạo, thay đổi hay xóa.
 Execute – x – 1 : thực thi chương trình.
Vídụ : Với lệnh ls –l ta thấy :
[root@task ~]# ls -l
total 32
-rw-------. 1 root root 1416 Jan 10 14:06 anaconda-ks.cfg
-rw-r--r--. 1 root root 15522 Jan 10 14:06 install.log
-rw-r--r--. 1 root root 5337 Jan 10 14:06 install.log.syslog
drwxr-xr-x 6 root root 4096 Feb 9 10:02 softs
c. Ngoài ra, chúng ta có thể dùng số.
Vídụ : quyền r, w, x : 4+2+1 = 7
Tổ hợp 3 quyền trên có giá trị từ 0 đến 7.
8. Các lệnh liên quan đến quyền hạn
 Lệnh Chmod : dùng để cấp quyền hạn.
Cú pháp : #chmod <specification> <file>
Ví dụ: #chmod 644 baitap.txt //cấp quyền cho owner có thể ghi các nhóm các chỉ có quyền đọc
với file taptin.txt
 Lệnh Chown : dùng thay đổi người sở hữu.
Cú pháp : #chown <owner> <filename>
 Lệnh Chgrp : dùng thay đổi nhóm sở hữu.
Cú pháp : #chgrp <group> <filename>

You might also like