Sau khi nhận được câu hỏi của tôi được trả lời ở đây và thực hiện một số nghiên cứu về kết quả, tôi đã tìm thấy một bài viết giải thích tất cả rất tốt. Tôi muốn chia sẻ một số phần của bài viết này ở đây để tham khảo trong tương lai.
Quyền xem
Để sử dụng chmod
để thay đổi quyền của tệp hoặc thư mục, trước tiên bạn sẽ cần biết chế độ truy cập hiện tại là gì. Bạn có thể xem nội dung của một thư mục trong thiết bị đầu cuối bằng cd
thư mục đó và sau đó sử dụng:
$ ls -l
Việc -l
chuyển đổi rất quan trọng vì sử dụng ls
mà không có nó sẽ chỉ hiển thị tên của các tệp hoặc thư mục trong thư mục.
Dưới đây là một ví dụ về việc sử dụng ls -l
trên thư mục nhà của tôi:
total 128
drwxr-xr-x 2 peter users 4096 Jul 5 21:03 Desktop
drwxr-xr-x 6 peter users 4096 Jul 5 17:37 Documents
drwxr-xr-x 2 peter users 4096 Jul 5 13:45 Downloads
drwxr-xr-x 2 peter users 4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users 4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users 4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users 354 Jul 6 17:15 chmodtest
Các cột có nghĩa là gì
Cột đầu tiên là loại của mỗi tệp:
-
biểu thị một tập tin bình thường.
d
biểu thị một thư mục, tức là một thư mục chứa các tệp hoặc thư mục khác.
p
biểu thị một đường ống có tên (hay còn gọi là FIFO).
l
biểu thị một liên kết tượng trưng.
Các chữ cái sau đó là các quyền, cột đầu tiên này là thứ chúng ta sẽ quan tâm nhất. Cái thứ hai là có bao nhiêu liên kết trong một tệp, chúng ta có thể bỏ qua nó một cách an toàn. Cột thứ ba có hai giá trị / tên: Cột đầu tiên (trong ví dụ của tôi 'peter') là tên của người dùng sở hữu tệp. Giá trị thứ hai ('người dùng' trong ví dụ) là nhóm mà chủ sở hữu thuộc về (Đọc thêm về các nhóm).
Cột tiếp theo là kích thước của tệp hoặc thư mục theo byte và thông tin sau đó là ngày và thời gian tệp hoặc thư mục được sửa đổi lần cuối, và tất nhiên là tên của tệp hoặc thư mục.
Các quyền có nghĩa là gì
Ba chữ cái đầu tiên, sau chữ cái đầu tiên -
hoặc d
, là quyền mà chủ sở hữu có. Ba chữ cái tiếp theo là các quyền áp dụng cho nhóm. Ba chữ cái cuối cùng là các quyền áp dụng cho những người khác.
Mỗi bộ ba chữ cái được tạo thành r
w
và x
. r
luôn ở vị trí thứ nhất, w
luôn ở vị trí thứ hai và x
luôn ở vị trí thứ ba. r
là quyền đọc, w
là quyền ghi và x
là quyền thực thi. Nếu có một dấu gạch nối ( -
) ở vị trí của một trong những chữ cái này, điều đó có nghĩa là sự cho phép không được cấp, và nếu lá thư có mặt thì nó được cấp.
Thư mục
Trong trường hợp các thư mục, các bit chế độ có thể được hiểu như sau:
r
(đọc) là viết tắt của khả năng đọc mục lục của thư mục đã cho,
w
(write) là viết tắt của khả năng ghi mục lục của thư mục đã cho (tạo tệp mới, thư mục; đổi tên, xóa tệp hiện có, thư mục) khi và chỉ khi bit thực thi được đặt. Nếu không, sự cho phép này là vô nghĩa.
x
(thực thi) là viết tắt của khả năng nhập thư mục đã cho bằng lệnh cd và truy cập các tệp, thư mục trong thư mục đó.
Thay đổi quyền bằng lệnh chmod
chmod
là một lệnh trong Linux và các hệ điều hành giống Unix khác. Nó cho phép bạn thay đổi quyền (hoặc chế độ truy cập) của tệp hoặc thư mục.
Bạn có thể thay đổi quyền theo hai cách khác nhau: - Dựa trên văn bản - Dựa trên chmod
sốchmod
Phương pháp văn bản
Để thay đổi quyền - hoặc chế độ truy cập của tệp, chúng tôi sử dụng lệnh chmod trong thiết bị đầu cuối. Dưới đây là cấu trúc chung của lệnh:
chmod who=permissions filename
Trường hợp ai là bất kỳ từ một loạt các chữ cái, và mỗi người biểu thị bạn sẽ cho phép ai. Chúng là như sau:
u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.
Có quyền hạn tương tự như đã thảo luận ( r
, w
và x
).
Lệnh chmod cho phép chúng ta thêm và trừ các quyền từ một tập hợp hiện có bằng cách sử dụng + hoặc - thay vì =. Điều này khác với các lệnh trên, trong đó chủ yếu viết lại các điều khoản (tức là thay đổi một sự cho phép từ r--
đến rw-
, bạn vẫn cần phải bao gồm r
cũng như w
sau khi =
vào chmod
lệnh. Nếu bạn bỏ lỡ r
, nó sẽ lấy đi các r
phép như chúng đang được viết lại bằng =. Sử dụng + và - tránh điều này bằng cách thêm hoặc lấy đi từ bộ quyền hiện tại).
Phương pháp số
chmod
cũng có thể thiết lập quyền sử dụng số.
Sử dụng số là một phương pháp khác cho phép bạn chỉnh sửa quyền cho cả ba chủ sở hữu, nhóm và những người khác cùng một lúc. Cấu trúc cơ bản của mã này là:
chmod xxx file/directory
Trong đó xxx là số có 3 chữ số trong đó mỗi chữ số có thể là bất cứ thứ gì từ 1 đến 7. Chữ số đầu tiên áp dụng cho quyền đối với chủ sở hữu, chữ số thứ hai áp dụng cho quyền đối với nhóm và chữ số thứ ba áp dụng cho quyền đối với tất cả các chữ số khác.
Trong ký hiệu số này, các giá trị r, w và x có giá trị số riêng:
r=4
w=2
x=1
Để đưa ra một số có ba chữ số, bạn cần xem xét những quyền mà bạn muốn chủ sở hữu, nhóm và người dùng có, sau đó tổng giá trị của chúng lên. Ví dụ: giả sử tôi muốn cấp cho chủ sở hữu quyền đọc và ghi thư mục và tôi muốn nhóm và mọi người khác vừa đọc và thực thi quyền. Tôi sẽ đưa ra các giá trị số như vậy:
Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)
Final number = 755
$ chmod 755 filename
Điều này tương đương với việc sử dụng như sau:
chmod u=rwx filename
chmod go=rx filename
Hầu hết các thư mục / thư mục được đặt thành 755 để cho phép đọc và viết và thực thi cho chủ sở hữu, nhưng từ chối ghi cho người khác và các tệp thường là 644 để cho phép đọc và viết cho chủ sở hữu nhưng chỉ đọc cho mọi người khác, hãy tham khảo lần cuối lưu ý về việc thiếu quyền x với các tệp không thể thực thi - đó là cùng một thỏa thuận ở đây.