Thursday, April 4, 2013

Quản lý User, group và phân quyền trên linux



Nội dung:
  1. User
  2. Group
  3. Tập lệnh quản lý User và Group
  4. Những file liên quan đến User và Group
  5. Quyền hạn
  6. Các lệnh liên quan đến quyền hạn

1.User

User là người có thể truy cập đến hệ thống.
User có username password.
Có hai loại user: super user regular user.
với tài khoản super user : root -có thể làm bất cứ điều gì muốn trên hệ thống.
Để tạo một người dùng mới, thay đổi thuộc tính của một người dùng cũng như xóa bỏ một người dùng chỉ khi có quyền của một siêu người dùng.
Mỗi user còn có một định danh riêng gọi là UID.
Định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 500.

  1. Group

Group là tập hợp nhiều user lại.
Mỗi user luôn là thành viên của một group.
Khi tạo một user thì mặc định một group được tạo ra.
Mỗi group còn có một định danh riêng gọi là GID.
Định danh của group thường sử dụng giá trị bắt đầu từ 500.

  1. Tập lệnh quản lý User và Group
  • Tạo User:
Cú pháp: #useradd [option] <username>
Ví dụ: Tạo tài khoản người dùng có tên Manhtung

Câu lệnh : # sudo useradd Manhtung
để chuyển user ta dùng lênh :
# su <user> vd : #su manhtung 

  • sửa thông thông tin người dùng
Cú pháp: #usermod [option] <username>
Những option tương tự Useradd
Các tùy chọn của lệnh:
  • -c, comment : thay đổi thông tin cá nhân của tài khoản người dùng.
  • -d, home_dir : thay đổi thư mục cá nhân của tài khoản người dùng.
  • -e, expire_date : thay đổi thời điểm hết hạn của tài khoản người dùng (YYYY-MM-DD).
  • -f, inactive_days : thiết đặt số ngày hết hiệu lực của mật khẩu trước khi tài khoản người dùng hết hạn sử dụng.
  • -g, initial_group : tùy chọn này thay đổi tên hoặc số khởi tạo đăng nhập nhóm người dùng.
  • Tên nhóm phải tồn tại, và số của nhóm phải tham chiếu đến một nhóm đã tồn tại. Số nhóm ngầm định là 1.
  • -G, group : thay đổi danh sách các nhóm phụ mà người dùng cũng là thành viên thuộc các nhóm đó. Mỗi nhóm sẽ được ngăn cách với nhóm khác bởi dấu ',' mặc định người dùng sẽ thuộc vào nhóm khởi tạo.
  • -l, login_name : thay đổi tên đăng nhập của người dùng. Trong một số trường hợp, tên thư mục riêng của người dùng có thể sẽ thay đổi để tham chiếu đến tên đăng nhập mới.
  • -p, passwd : thay đổi mật khẩu đăng nhập của tài khoản người dùng.
  • -s, shell : thay đổi shell đăng nhập.
  • -u, uid : thay đổi chỉ số người dùng.

Ví dụ: #usermod –g kinhdoanh vana //chuyển vana từ nhóm server admin sang nhóm kinh doanh.
  • Xóa người dùng
Cúpháp : #sudo userdel [option] <username>
Vídụ:#userdel –r manhtung
  • Khóa/Mở khóa người dùng Cơ sở dữ liệu cơ bản của người dùng được lưu trữ trong file /etc/passwd. File này liệt kê tất cả các tên người dùng hợp lệ và các thông tin liên quan của mỗi người dùng trên hệ thống. cú pháp # cat etc /paswd
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 *.
  • Tạo nhóm:
Cú pháp: #sudo groupadd<groupname>
Ví dụ:#groupadd Tin41
dùng lệnh # etc /cat/group

  • Xóa nhóm

Cú pháp: #sudo groupdel<groupname>
Ví dụ: #groupdel <serveradmin>
  • 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

  1. Những file liên quan đến User và Group
#/etc/passwd

Mã:
chown [tùy-chọn]... [chủ][.nhóm] <tập-tin ...>

Lệnh này cho phép thay chủ sở hữu tập tin. Nếu chỉ có tham số về chủ, thì người dùng chủ sẽ có quyền sở hữu tập tin và nhóm sở hữu không thay đổi. Nếu theo sau tên người chủ là dấu "." và tên của một nhóm thì nhóm đó sẽ nhóm sở hữu tập tin. Nếu chỉ có dấu "." và nhóm mà không có tên người chủ thì chỉ có quyền sở hữu nhóm của tập tin thay đổi, lúc này, lệnh chown có tác dụng giống như lệnh chgrp (lệnh chgrp được trình bày dưới đây).
Các tùy chọn của lệnh chown:
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chown tác động tới (có hoặc không thay đổi sở hữu).
--help
đưa ra trang trợ giúp và thoát.

Ví dụ, thư mục khanhpt có thông tin về các quyền truy nhập như sau:
Trích dẫn:
drwxr-xr-x 12 khanhpt root 4096 Oct 23 2007 khanhpt

Người sở hữu hiện tại thư mục khanhpt là người dùng khanhpt. Để người dùng khanh là chủ sở hữu thư mục trên, hãy gõ lệnh:
Mã:
# chown khanh khanhpt

Khi đó, nếu dùng lệnh ls thì thông tin về thư mục khanhpt sẽ có dạng:
Trích dẫn:
drwxr-xr-x 12 khanh root 4096 Oct 23 2007 khanhpt

với người sở hữu thư mục bây giờ là người dùng khanh.
Khi chuyển quyền sở hữu tập tin cho một người khác, người chủ cũ mất quyền sở hữu tập tin đó.

2.Thay đổi quyền sở hữu nhóm với lệnh chgrp

Các tập tin (và người dùng) còn thuộc vào các nhóm, đây là phương thức truy nhập tập tin thuận tiện cho nhiều người dùng nhưng không phải tất cả người dùng trên hệ thống. Khi đăng nhập, mặc định sẽ là thành viên của một nhóm được thiết lập khi người dùng cao cấp root tạo tài khoản người dùng. Cho phép một người dùng thuộc nhiều nhóm khác nhau, nhưng mỗi lần đăng nhập chỉ là thành viên của một nhóm.
Để thay đổi quyền sở hữu nhóm đối với một hoặc nhiều tập tin, hãy sử dụng lệnh chgrp với cú pháp như sau:
Mã:
chgrp [tùy-chọn]... {nhóm|--reference=nhómR} <tập-tin...>

Lệnh này cho phép thay thuộc tính nhóm sở hữu của tập tin theo tên nhóm được chỉ ra trực tiếp theo tham số nhóm hoặc gián tiếp qua thuộc tính nhóm của tập tin có tên là nhómR.
Các tùy chọn của lệnh là (một số tương tự như ở lệnh chown):
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chgrp tác động tới (có hoặc không thay đổi sở hữu).
--help
hiển thị trang trợ giúp và thoát

Tham số --reference=nhómR cho thấy cách gián tiếp thay nhóm chủ của tập tin theo nhóm chủ của một tập tin khác (tên là nhómR) là cách thức được ưa chuộng hơn. Tham số này là xung khắc với tham số nhóm của lệnh.

3. Thay đổi quyền truy cập tập tin với lệnh chmod

Cú pháp lệnh chmod có ba dạng:
Mã:
chmod [tùy-chọn]... <mod [,mod]...> <tập-tin...>
chmod [tùy-chọn]... <mod-hệ-8> <tập-tin...>
chmod [tùy-chọn]... --reference=nhómR <tập-tin...>

Mã:
chown [tùy-chọn]... [chủ][.nhóm] <tập-tin ...>

Lệnh này cho phép thay chủ sở hữu tập tin. Nếu chỉ có tham số về chủ, thì người dùng chủ sẽ có quyền sở hữu tập tin và nhóm sở hữu không thay đổi. Nếu theo sau tên người chủ là dấu "." và tên của một nhóm thì nhóm đó sẽ nhóm sở hữu tập tin. Nếu chỉ có dấu "." và nhóm mà không có tên người chủ thì chỉ có quyền sở hữu nhóm của tập tin thay đổi, lúc này, lệnh chown có tác dụng giống như lệnh chgrp (lệnh chgrp được trình bày dưới đây).
Các tùy chọn của lệnh chown:
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chown tác động tới (có hoặc không thay đổi sở hữu).
--help
đưa ra trang trợ giúp và thoát.

Ví dụ, thư mục khanhpt có thông tin về các quyền truy nhập như sau:
Trích dẫn:
drwxr-xr-x 12 khanhpt root 4096 Oct 23 2007 khanhpt

Người sở hữu hiện tại thư mục khanhpt là người dùng khanhpt. Để người dùng khanh là chủ sở hữu thư mục trên, hãy gõ lệnh:
Mã:
# chown khanh khanhpt

Khi đó, nếu dùng lệnh ls thì thông tin về thư mục khanhpt sẽ có dạng:
Trích dẫn:
drwxr-xr-x 12 khanh root 4096 Oct 23 2007 khanhpt

với người sở hữu thư mục bây giờ là người dùng khanh.
Khi chuyển quyền sở hữu tập tin cho một người khác, người chủ cũ mất quyền sở hữu tập tin đó.

2.Thay đổi quyền sở hữu nhóm với lệnh chgrp

Các tập tin (và người dùng) còn thuộc vào các nhóm, đây là phương thức truy nhập tập tin thuận tiện cho nhiều người dùng nhưng không phải tất cả người dùng trên hệ thống. Khi đăng nhập, mặc định sẽ là thành viên của một nhóm được thiết lập khi người dùng cao cấp root tạo tài khoản người dùng. Cho phép một người dùng thuộc nhiều nhóm khác nhau, nhưng mỗi lần đăng nhập chỉ là thành viên của một nhóm.
Để thay đổi quyền sở hữu nhóm đối với một hoặc nhiều tập tin, hãy sử dụng lệnh chgrp với cú pháp như sau:
Mã:
chgrp [tùy-chọn]... {nhóm|--reference=nhómR} <tập-tin...>

Lệnh này cho phép thay thuộc tính nhóm sở hữu của tập tin theo tên nhóm được chỉ ra trực tiếp theo tham số nhóm hoặc gián tiếp qua thuộc tính nhóm của tập tin có tên là nhómR.
Các tùy chọn của lệnh là (một số tương tự như ở lệnh chown):
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chgrp tác động tới (có hoặc không thay đổi sở hữu).
--help
hiển thị trang trợ giúp và thoát

Tham số --reference=nhómR cho thấy cách gián tiếp thay nhóm chủ của tập tin theo nhóm chủ của một tập tin khác (tên là nhómR) là cách thức được ưa chuộng hơn. Tham số này là xung khắc với tham số nhóm của lệnh.

3. Thay đổi quyền truy cập tập tin với lệnh chmod

Cú pháp lệnh chmod có ba dạng:
Mã:
chmod [tùy-chọn]... <mod [,mod]...> <tập-tin...>
chmod [tùy-chọn]... <mod-hệ-8> <tập-tin...>
chmod [tùy-chọn]... --reference=nhómR <tập-tin...>

Lệnh chmod cho phép xác lập quyền truy nhập theo kiểu (mode) trên tập tin. Dạng đầu tiên là dạng xác lập tương đối, dạng thứ hai là dạng xác lập tuyệt đối và dạng cuối cùng là dạng gián tiếp chỉ dẫn theo quyền truy nhập của tập tin nhómR.
Các tùy chọn của lệnh chmod được liệt kê như dưới đây và có ý nghĩa tương tự các tuỳ chọn tương ứng của các lệnh chown, chgrp:
Trích dẫn:
-c, --changes
-f, --silent, --quiet
-v, --verbose
-R, --recursive
--help
TG: Pham Manh Tung


Lệnh chmod cho phép xác lập quyền truy nhập theo kiểu (mode) trên tập tin. Dạng đầu tiên là dạng xác lập tương đối, dạng thứ hai là dạng xác lập tuyệt đối và dạng cuối cùng là dạng gián tiếp chỉ dẫn theo quyền truy nhập của tập tin nhómR.
Các tùy chọn của lệnh chmod được liệt kê như dưới đây và có ý nghĩa tương tự các tuỳ chọn tương ứng của các lệnh chown, chgrp:
Trích dẫn:
-c, --changes
-f, --silent, --quiet
-v, --verbose
-R, --recursive
--help
TG: Pham Manh Tung


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.

  1. Quyền hạn
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).
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.
  1. Các lệnh liên quan đến quyền hạn
  • LệnhChmod: dùng để cấp quyền hạn.
Cú pháp : #chmod<specification> <file>
Ví dụ: #chmod644 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>
1. Thay đổi quyền sở hữu tập tin với lệnh chown
Để thay đổi quyền sở hữu đối với một tập tin, hãy sử dụng lệnh chown với cú pháp như sau:
Mã:
chown [tùy-chọn]... [chủ][.nhóm] <tập-tin ...>

Lệnh này cho phép thay chủ sở hữu tập tin. Nếu chỉ có tham số về chủ, thì người dùng chủ sẽ có quyền sở hữu tập tin và nhóm sở hữu không thay đổi. Nếu theo sau tên người chủ là dấu "." và tên của một nhóm thì nhóm đó sẽ nhóm sở hữu tập tin. Nếu chỉ có dấu "." và nhóm mà không có tên người chủ thì chỉ có quyền sở hữu nhóm của tập tin thay đổi, lúc này, lệnh chown có tác dụng giống như lệnh chgrp (lệnh chgrp được trình bày dưới đây).
Các tùy chọn của lệnh chown:
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chown tác động tới (có hoặc không thay đổi sở hữu).
--help
đưa ra trang trợ giúp và thoát.

Ví dụ, thư mục khanhpt có thông tin về các quyền truy nhập như sau:
Trích dẫn:
drwxr-xr-x 12 khanhpt root 4096 Oct 23 2007 khanhpt

Người sở hữu hiện tại thư mục khanhpt là người dùng khanhpt. Để người dùng khanh là chủ sở hữu thư mục trên, hãy gõ lệnh:
Mã:
# chown khanh khanhpt

Khi đó, nếu dùng lệnh ls thì thông tin về thư mục khanhpt sẽ có dạng:
Trích dẫn:
drwxr-xr-x 12 khanh root 4096 Oct 23 2007 khanhpt

với người sở hữu thư mục bây giờ là người dùng khanh.
Khi chuyển quyền sở hữu tập tin cho một người khác, người chủ cũ mất quyền sở hữu tập tin đó.

2.Thay đổi quyền sở hữu nhóm với lệnh chgrp

Các tập tin (và người dùng) còn thuộc vào các nhóm, đây là phương thức truy nhập tập tin thuận tiện cho nhiều người dùng nhưng không phải tất cả người dùng trên hệ thống. Khi đăng nhập, mặc định sẽ là thành viên của một nhóm được thiết lập khi người dùng cao cấp root tạo tài khoản người dùng. Cho phép một người dùng thuộc nhiều nhóm khác nhau, nhưng mỗi lần đăng nhập chỉ là thành viên của một nhóm.
Để thay đổi quyền sở hữu nhóm đối với một hoặc nhiều tập tin, hãy sử dụng lệnh chgrp với cú pháp như sau:
Mã:
chgrp [tùy-chọn]... {nhóm|--reference=nhómR} <tập-tin...>

Lệnh này cho phép thay thuộc tính nhóm sở hữu của tập tin theo tên nhóm được chỉ ra trực tiếp theo tham số nhóm hoặc gián tiếp qua thuộc tính nhóm của tập tin có tên là nhómR.
Các tùy chọn của lệnh là (một số tương tự như ở lệnh chown):
Trích dẫn:
-c, --changes
hiển thị dòng thông báo chỉ với các tập tin mà lệnh làm thay đổi sở hữu (số thông báo hiện ra có thể ít hơn trường hợp -v, -verbosr).
-f, --silent, --quiet
bỏ qua hầu hết các thông báo lỗi.
-R, --recursive
thực hiện đổi quyền sở hữu đối với thư mục và tập tin theo đệ quy.
-v, --verbose
hiển thị dòng thông báo với mọi tập tin liên quan mà chgrp tác động tới (có hoặc không thay đổi sở hữu).
--help
hiển thị trang trợ giúp và thoát

Tham số --reference=nhómR cho thấy cách gián tiếp thay nhóm chủ của tập tin theo nhóm chủ của một tập tin khác (tên là nhómR) là cách thức được ưa chuộng hơn. Tham số này là xung khắc với tham số nhóm của lệnh.

3. Thay đổi quyền truy cập tập tin với lệnh chmod

Cú pháp lệnh chmod có ba dạng:
Mã:
chmod [tùy-chọn]... <mod [,mod]...> <tập-tin...>
chmod [tùy-chọn]... <mod-hệ-8> <tập-tin...>
chmod [tùy-chọn]... --reference=nhómR <tập-tin...>

Lệnh chmod cho phép xác lập quyền truy nhập theo kiểu (mode) trên tập tin. Dạng đầu tiên là dạng xác lập tương đối, dạng thứ hai là dạng xác lập tuyệt đối và dạng cuối cùng là dạng gián tiếp chỉ dẫn theo quyền truy nhập của tập tin nhómR.
Các tùy chọn của lệnh chmod được liệt kê như dưới đây và có ý nghĩa tương tự các tuỳ chọn tương ứng của các lệnh chown, chgrp:
Trích dẫn:
-c, --changes
-f, --silent, --quiet
-v, --verbose
-R, --recursive
--help
TG: Pham Manh Tung


No comments:

Post a Comment