Life would be so much simple if we don't care so much

Posts tagged ‘chmod’

Linux – thay đổi quyền truy cập (permission) với chmod

Sử dụng command chmod để thay đổi quyền truy cập file và thư mục.

Command chmod có 2 mode là ký tự (symbol) và giá trị số (numberic). Có thể chỉ định, removw hoặc thêm quyền truy cập với dạng symbol. Đối với giá trị số thì phần input của command option thì khá là ngăn nhưng chỉ có thể set giá trị cố định cho quyền truy cập.

1. Các ví dụ về cách dùng command ở mode symbol và mode numberic

Mode numberic
■ Set permission là 777:
$ chmod 755 test.txt
$ ls -l
合計 4
-rwxr-xr-x 1 test_user test_user 0 7月 22 10:00 test.txt

Mode symbol
■ Thêm quyền write cho group
$ chmod g+w test.txt
$ ls -l
合計 4
-rwxrwxr-x 1 test_user test_user 0 7月 22 10:00 test.txt

 

■Remove quyền execute của 「Group」と「Others 」từ list permision
$ chmod go-x test.txt
$ ls -l
合計 4
-rwxrw-r– 1 test_user test_user 0 7月 22 10:00 test.txt

2. Format command chmod

Format
chmod [options] mode file…

Các option chính

-v, –verbose Thay đổi tất cả các file hoặc hiển thị chi tiết nội dung không được thay đổi
-R, –recursive Thay đổi theo đệ quy tất cả các file và thư mục chứa bên trong thư mục đó
$ chmod -v 644 test.txt
Đổi mode của file ‘test.txt’ thành 0644 (rw-r–r–)  ←Nội dung thay đổi sẽ được hiển thị
Chỉ định permission ở thành phần của mode, dưới đây sẽ giải thích cách chỉ định permission

3. Giải thích về ký hiệu ở mode sử dụng symbol

Khi ở mode dùng symbol, thì các ký hiệu được hiển thị ở phần mode trong format của lệnh chmod như sau

[ugoa…][[+-=][rwxXstugo…]…][,…]
Vd, khi sử dụng lệnh tương tự như sau

chmod g+w file.txt

Chi tiết sẽ được giải thích dưới đây
Ở mod dùng ký tự thì sẽ được bắt đầu với「u, g, o, a」.「u, g, o, a」sẽ quy định về việc tương ứng với user nào mà quyền truy cập sẽ được thay đổi.

Ý nghĩa từng ký tự được giải thích như sau

u  Owner
g  Group
o  Những account mà không phải owner lẫn group owner
a  Tất cả các ý nghĩa, khi chỉ định sẽ trở thành chọn tất cả các option u,g,o. Có thể lược bót u, g, o bằng cách chỉ định 「a」
※ Phần vị trí của quyền truy cập được thiết lập umask là không thay đổi được nên cần phải chú ý.
Tiếp theo là +,-,= sẽ được chỉ định. Các toán tủ này mang ý nghĩa như sau:
+  Quyền truy cập được thêm vào
–   Quyền truy cập được lược bỏ đi
=  Quyền truy cập được chọn thiết lập

Cuối cùng quyền truy cập được chỉ định

r  Quyền read
w  Quyền write
x  Quyền execute

***Note
Về cơ bản thì những r, w, x được list ở trên thường được sử dụng, nhưng cũng có 1 số ký tự khác như sau
X Owner, group, nếu được thiết lập quyền execute đối với 1 số cái khác thì quyền execute/delete sẽ được thêm vào.
s  Set User ID, Set Group ID。※ Sẽ được giải thích vào lần sau
t  Sticky bit ※  Sẽ được giải thích ở lần sau
u  Biểu thị quyền truy cập được setting đối với owner. Chẳng hạn, thiết lập g+u đối với group thì có thể thêm vào quyền truy cập tương tự như owner

g  Quyền truy cập được thiết lập với group
o  Quyền truy cập được thiết lập đối với user loại khác.

Chỉ định nhiều thay đổi trong cùng 1 lần
Có thể chỉ định nhiều quyền truy cập cùng 1 lúc bằng cách phân tách chúng với dấu phẩy

Chẳng hạn,

chmod g+r,o+r test.txt
※ Chú ý: phía sau dấu「,」thì sẽ không được có khoảng trắng

Ngoài ra có thể chỉ định rwx đối với group g.

chmod g+rwx test.txt
Rất tiện dùng khi có thể thiết lập nhiều quyền truy cập cùng lúc.

4. Giải thích về mode numeric
Mode numeric thì thiết lập dễ hơn so với ký tự, có thể thiết lập permission theo số đã nhớ từ trước.
Cách tạo ra cách con số thì được mô tả trong phần (bài đăng sau)

1000  Stiky bit
2000  Set Group ID
4000  Set User ID
100owner quyền execute
200owner quyền write
400owner quyền read
10group quyền execute
20group quyền write
40group quyền read
1orthers quyền execute
2orthers quyền write
4orthers quyền read

Các con số được tính toán bằng cách chỉ định và cộng thêm vào giá trị bề mặt dưới đây
Chẳng hạn, trường hợp muốn thiết lập quyền execute của owner, quyền write, quyền read + quyền đọc group+ quyền đọc của các user khác thì sẽ được sử dụng là
100+200+400+40+4=744
Làm như vậy thì quyền truy cập đã được thiết lập như đã nói ở trên:
owner execute, write, read + group read + others read

***Note
Sẽ đơn giản hơn nếu bạn có thể confirm được
・Đối với accoutn nào
・Quyền truy cập như thế nào
・Thêm/Xoá/Chỉ định

Trích nguồn

http://kazmax.zpp.jp/linux_beginner/chmod.html