Phân Quyền Trong Linux: Bài 1- Quản Lý User, Group Và Phân Quyền ...

Đối với máy tính hoặc thiết bị sử dụng hệ điều hành Linux và được chia sẻ giữa nhiều người dùng(ví dụ: Linux server,…), việc phân chia quyền hạn cho mỗi user rất quan trọng, nhằm đảm bảo tính bảo mật cũng như tránh xung đột giữa hành vi của các user với nhau.

Ví dụ thực tế: Một cơ quan có sử dụng Server cài hệ điều hành Linux để quản lý, chia sẻ tài liệu dự án giữa các thành viên trong dự án. Có những file, những thư mục quan trọng, chỉ cho phép một số người liên quan có quyền truy cập vào. Nếu không phân quyền, ai cũng có thể truy cập vào được, một ngày đẹp trời, ai đó lỡ tay xóa mất(vì họ không liên quan nên họ không ý thức được tầm quan trọng) thì thật là nguy hiểm…

Rất may là Linux hỗ trợ cho chúng ta các công cụ hữu ích để giải quyết vấn đề này. Mình sẽ chia nhỏ phần này thành 3 bài viết. Bài 1 là các vấn đề cơ bản và bài 2 nâng cao hơn 1 chút. Nội dung bài 1:

  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 và 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> -c “Thông tin người dùng” -d <Thư mục cá nhân> -m : Tạo thư mục cá nhân nếu chưa tồn tại -g <nhóm của người dùng> Ví dụ: #useradd tiensu -c “Nguyen Tien Su – Server Admin” -m -g serveradmin

  • Đặt mật khẩu cho người dùng
 Cú pháp : #passwd <username>  Ví dụ :  #passwd tiensu //sau đó nhập 2 lần mật khẩu cho user
  • Thay đổi thông tin cá nhân:
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 (YYYYMM-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 -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 tiensu -g kinhdoanh //chuyển vana từ nhóm server admin sang nhóm kinhdoanh. #usermod tiensu -ag kinhdanh //thêm tiensu vào nhóm kinhdoanh, và vẫn giữ tiensu trong nhóm serveradmin
  • Xem user đang thuộc những group nào
Cú pháp: #groups <username> Ví dụ: #groups tiensu
  • Khóa/Mở khóa người dùng
passwd –l <username>  /  passwd –u <username> usermod –L <username> /  usermod –U <username> Trong file /etc/shadow có thể khóa tài khoản bằng cách thay từ khóa x bằng từ khóa *.
  • Xóa người dùng
 Cú pháp : #userdel [option] <username> Ví dụ :  #userdel tiensu
  • Tạo nhóm:
Cú pháp: #groupadd <groupname> Ví dụ: #groupadd serveradmin //kiểm tra nhóm và user đã được tạo trong file /etc/group
  • Xóa nhóm
Cú pháp: #groupdel <groupname> Ví dụ: #groupdel <serveradmin>
  • Xem các thành viên(user) thuộc group
Cú pháp: #members <groupname> Ví dụ: #members kinhdoanh 4. 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. 5.  Quyền hạn rong 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.
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:06install.log -rw-r--r--. 1 root root 5337 Jan 10 14:06install.log.syslog drwxr-xr-x 6 root root 4096 Feb 9 10:02 softs 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. 6.  Các lệnh liên quan đến quyền hạn3
  • 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>

*  Quyền hạn1. Sơ lựơc về quyền

Trên Linux, quyền trên files hoặc thư mục được ghi vào trong inode của file hoặc thư mục đó. Để dễ quản lý, Linux xem mọi thứ như là file. Để xem quyền, chúng ta có thể sử dụng lệnh “ls -l” như trong hình sau: Image Cột đầu tiên trong kết quả của lệnh ls -l thể hiện cho quyền hạn. Phần này bao gồm 10 bit: – bit 1: thể hiện kiểu file (vd: “-” file thường, “d” thư mục,…) – 9 bit còn lại chia làm 3 nhóm, mỗi nhóm có 3 bit: +owner: Quyền của user mà owner của file này. +group: Quyền của những users thuộc group mà owner của file này. +other: Quyền của tất cả các user khác trên máy. Trong mỗi nhóm (3 bit) thể hiện cho các quyền đọc (r), ghi (w), thực thi (x). Nếu nơi nào không có quyền sẽ được ghi là denied (-).
Ký hiệu file thư mục
Không có quyền Không có quyền
r Có thể đọc file, ví dụ dùng lệnh cat, more, …. Có thể xem nội dung trong thư mục, ví dụ dùng lệnh ls.
w Có thể thêm, bớt nội dung trong file. Có thể tạo thêm hoặc xóa đi file hoặc thư mục con của thư mục này.
x Có thể thực thi file này, chỉ dùng trong trường hợp đây là program hoặc script. Có thể “đứng” trong thư mục được, vi dụ cd vào thư mục này.
1.1 Thay đổi quyền Chỉ có user có quyền root, hoặc user là owner của file mới có thể thay đổi quyền của file đó. Lệnh chuyển quyền: chmod mode file Trong đó “mode” có thể được viết theo 2 cách: symbolic hoặc octal mode a. symbolic mode Image Trong mode này chúng ta có thể thêm (+), bớt (-), gán (=) các quyền (r w x) cho từng nhóm (u g o) hoặc cho cả 3 nhóm (a). Ưu điểm của mode này là chúng ta có thể kế thừa quyền củ. vd: chmod g-w myfile <=bỏ quyền write trên group. chmod u+x,go+r <=thêm quyền thực thi cho owner, quyền đọc cho group và other. b. octal mode Trong mode này, mổi quyền được thể hiện bằng 1 số tương ứng: – : 0 x : 1 w : 2 r : 4 Quyền sẽ được tính tổng trên từng nhóm, vd: r(4)+w(2)+x(1)=7. Khi gán quyền phải gán cho cả 3 nhóm. ví dụ quyền và số octal tương ứng: 644 rw-r–r– 751 rwxr-x–x 775 rwxrwxr-x 777 rwxrwxrwx Dùng lệnh: chmod chmod 644 myfile <=gán quyền 644 trên file. Với cách sử dụng như trên, khi dùng octal mode chúng ta không kế thừa được quyền củ, nhưng bù lại chúng ngắn gọn dễ xài. :D 1.2. Quyền mặc định Khi chúng ta tạo ra file hoặc thư mục, mặc nhiên hệ thống sẽ gán cho 1 quyền mặc định, trong đó: File: 666 (rw-rw-rw-) Thư mục: 777 (rwxrwxrwx) Để thay đổi quyền mặc định khi tạo file và thư mục, hệ thống cung cấp cho chúng ta một công cụ đó là umask. Như vậy, khi tạo ra file hoặc thư mục, thì quyền mặc định được tính như sau: File: 666 – umask Thư mục: 777 – umask Ví dụ, nếu umask=022 thì quyền mặc định trên file và thư mục sẽ là (644) và (755) Image Lưu ý: ví dụ như umask=123, thì quyền mặc định cho file sẽ là (644) chứ không phải (543) nhé. Lý do vì sao bạn thử tìm hiểu xem ;) Chúng có thể xem hoặc thay đổi giá trị umask như trong ví dụ sau: $ umask 022 $ umask 027 $ umask 027 1.3. Thay đổi Owner Chúng ta có thể thay đổi chủ sở hữu của file (owner) bằng lệnh sau: chown -R [user.group] files -R : đổi tất cả files và thư mục con. Lệnh này cũng cho phép thay đổi owner chỉ riêng user hoặc group hoặc cả hai. vd: # ls -l total 0 -rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file1 -rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file2 -rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file3 # chown oravn file1 <=đổi user owner # chown .dba file2 <=đổi group owner # chown oravn.dba file3 <=đổi cả user và group owner # ls -l total 0 -rw-r–r– 1 oravn nhsang 0 Nov 23 16:46 file1 -rw-r–r– 1 nhsang dba 0 Nov 23 16:46 file2 -rw-r–r– 1 oravn dba 0 Nov 23 16:46 file3 # Lưu ý là bạn chỉ có thể dùng lệnh này khi bạn là user mà owner của file này hoặc user có quyền root. Liên quan đến phần quyền hạn, chúng ta còn 3 quyền đặc biệt là SUID, SGID và Sticky bit. Các bạn vui lòng tham khảo thêm trong các tài liệu tiếng Nguồn: http://dacchieu.wordpress.com/

Đánh giá:

Chia sẻ:

  • Twitter
  • Facebook
Thích Đang tải...

Có liên quan

Điều hướng bài viết « Cơ bản về lệnh nén và giải nén trong Linux Giới thiệu assert() – công cụ gỡ lỗi hữu ích » Chuyên mục
  • Entertaiment (4)
    • Poetries-Stories (3)
  • General Knowledge (1)
  • IELTS (42)
    • Writing Task 1 (36)
      • Bar chart (11)
      • Line graph (6)
      • Map (4)
      • Mix graph (3)
      • Pie chart (4)
      • Process (6)
      • Table (2)
    • Writing Task 2 (6)
      • Opinion (6)
  • Introduction (1)
  • Linux (5)
    • Linux Command (3)
    • Tip & Trick (1)
  • Network (8)
  • Photography (3)
  • Programming (69)
    • Android (5)
    • C/C++ (41)
    • Embedded (47)
Bài mới
  • Some advance knowledge in C/C++ _ Part 2 Tháng Mười Hai 6, 2017
  • Some advance knowledge in C/C++ _ Part 1 Tháng Mười Hai 6, 2017
  • Bù sáng (EV) Tháng Mười Một 29, 2016
  • 10 chú ý để có 1 tấm hình đẹp Tháng Mười Một 29, 2016
  • 6 yếu tố căn bản trong bố cục ảnh Tháng Mười Một 29, 2016
Xem nhiều
  • Pie chart - Practice 1: The average household expenditures in Japan and Malaysia
  • Line graph - Practice 4: Tourists to England who visited four different attractions in Brighton
  • Logic Mờ (Fuzzy Logic)
  • Process - Practice 3: Life cycle of a frog
  • Các Đơn Vị Thường Dùng Trong ngành Viễn thông (dB, dBm, dBw dBd, dBi, dBc)
Comment mới
How to Debug Program… trong How to Debug C Program using g…
Nguyễn Tiến Sử trong I2C Bit-Bangging – MSP430
Trung Kiên trong I2C Bit-Bangging – MSP430
C Pointer to Pointer… trong C Pointers Fundamentals Explai…
DungNT104 trong Cơ bản về mạng GPON
Số lần truy cập
  • 327 573 lần
Tháng Mười 2015
H B T N S B C
1234
567891011
12131415161718
19202122232425
262728293031
« Th6 Th11 » Tài khoản
  • Đăng ký
  • Đăng nhập
  • RSS bài viết
  • RSS bình luận
  • WordPress.com
Theo dõi blog này qua email

Nhập email của bạn để nhận thông báo về bài viết mới

Địa chỉ email:

Theo dõi

Thư viện
  • Tháng Mười Hai 2017 (2)
  • Tháng Mười Một 2016 (75)
  • Tháng Mười 2016 (10)
  • Tháng Tám 2016 (11)
  • Tháng Sáu 2016 (1)
  • Tháng Ba 2016 (1)
  • Tháng Mười Hai 2015 (2)
  • Tháng Mười Một 2015 (12)
  • Tháng Mười 2015 (3)
  • Tháng Sáu 2015 (2)
  • Tháng Mười 2014 (3)
  • Tháng Năm 2014 (1)
  • Tháng Tư 2014 (10)
Trang này sử dụng cookie. Tìm hiểu cách kiểm soát ở trong: Chính Sách Cookie
  • Đăng lại
  • Theo dõi Đã theo dõi
    • Share Your Knowledge!
    • Theo dõi ngay
    • Đã có tài khoản WordPress.com? Đăng nhập.
    • Share Your Knowledge!
    • Tùy biến
    • Theo dõi Đã theo dõi
    • Đăng ký
    • Đăng nhập
    • URL rút gọn
    • Báo cáo nội dung
    • Xem toàn bộ bài viết
    • Quản lý theo dõi
    • Ẩn menu
%d Tạo trang giống vầy với WordPress.comHãy bắt đầu

Từ khóa » Trong Linux Có Bao Nhiêu Loại User