cấp quyền ghi cho một nhóm vào một thư mục


34

Làm thế nào tôi có thể cấp quyền viết cho 1 nhóm?
Tôi có 2 người dùng ( alexben).
alexlà thành viên của nhóm alexvà của nhóm consult.
benlà thành viên của nhóm benvà của nhóm consult.

Tôi muốn cấp quyền truy cập đọc ghi cho cả hai alexbentrên thư mục consult_documents.

Nếu tôi làm alexchủ sở hữu của thư mục consult_documentsvà tôi cấp 775quyền truy cập vào thư mục consult_documents, benalextôi sẽ có thể truy cập vào thư mục, tôi nghĩ vậy.

Nhưng điều này có cho phép bentruy cập vào alexcác thư mục khác không? Nếu một người dùng ở hai nhóm, điều đó có nghĩa là tất cả các thành viên của cả hai nhóm đều có quyền như nhau trên tất cả các thư mục?


Bạn có muốn alex và ben có thể tạo các tệp trong Consult_document và cho phép cả hai truy cập đọc / ghi trên các tài liệu đó không?
X Tian

Câu trả lời:


42

Cấp 775 quyền trên một thư mục không tự động có nghĩa là tất cả người dùng trong một nhóm nhất định sẽ có quyền rwxtruy cập vào thư mục đó. Họ cần phải là chủ sở hữu của thư mục hoặc thuộc về nhóm của thư mục:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

Vì vậy, để cho phép cả alex và ben có quyền truy cập ghi vào some_dir, some_dirthư mục phải thuộc về consultnhóm. Nếu đó không phải là trường hợp, chủ sở hữu của thư mục (alex trong ví dụ của bạn), nên ban hành lệnh sau:

$ chgrp consult some_dir/

hoặc để thay đổi quyền sở hữu nhóm của tất cả mọi thứ trong thư mục:

$ chgrp -R consult some_dir/

Điều này sẽ chỉ hoạt động nếu alex là một thành viên của consultnhóm, dường như là trường hợp trong ví dụ của bạn.

Điều này sẽ không cho phép ben truy cập tất cả các thư mục của alex vì hai lý do:

  1. Không phải tất cả các thư mục của alex sẽ thuộc về consultnhóm
  2. Một số thư mục của alex có thể thuộc về consultnhóm nhưng alex có thể không chọn cho phép rwxnhóm truy cập vào chúng.

Nói tóm lại, câu trả lời phụ thuộc cả vào quyền sở hữu nhóm và các bit quyền của nhóm được đặt cho thư mục.

Tất cả điều này được cung cấp nếu bạn không sử dụng bất kỳ biện pháp kiểm soát truy cập bắt buộc bổ sung nào trên hệ thống của mình.


Consult_document là một Thư mục thì làm thế nào bạn có thể chỉ định nó là một nhóm?
Babin Lonston

@Babinlonston Bạn không thể. Bạn chỉ định consultlà nhóm.
Joseph R.

Cảm ơn bạn, tôi đã tìm cách cung cấp quyền truy cập vào một thư mục cho một nhóm. Tôi đã không nhận ra rằng lệnh chgrp có thể làm điều này. Tôi nghĩ rằng chgrp chỉ để thêm / xóa người dùng vào một nhóm.
anatak

1
@anatak Sửa đổi thành viên nhóm được thực hiện thông qua usermodkhôngchgrp
Joseph R.

Đây có giống như chown -R :consult some_dir/?
Aaron Franke

7

Điều này sẽ khiến alex và ben kết hợp với nhau trong Danh mục này và họ không thể cộng tác trong Dir khác.

Sửa đổi nhóm người dùng bằng cách sử dụng

# usermod -a -G alex,ben alex

Sau đó thay đổi Quyền cho Thư mục

# chown alex:ben consult_documents

Kiểm tra ở đây tôi đã làm việc xung quanh nó

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

Có một cái nhìn ở đây


6

Nếu tôi hiểu chính xác câu hỏi của bạn, câu trả lời là có.

Hãy để tôi giải thích:

Quyền truy cập thư mục và tệp của bạn được chia thành ba loại:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

Mỗi tập tin và thư mục phải được sở hữu bởi người dùng.

Điều đó có nghĩa là, nếu bạn có một thư mục có tên là notify_document và bạn muốn nó có thể truy cập được từ mọi người trong nhóm Tham khảo ý kiến, bạn sẽ có thư mục này (với 755 quyền truy cập):

drwxrwxr-x Alex Consult [......]

Thư mục thuộc sở hữu của Alex và nhóm là Tham khảo ý kiến. Alex có quyền truy cập RWX trên đó. Tham vấn nhóm có quyền truy cập RWX trên đó. Những người dùng khác có quyền RX.

Vì người dùng Alex của bạn có nhiều nhóm, bạn có thể chọn nhóm để chia sẻ.

Ví dụ: nếu thư mục của bạn được sở hữu bởi Alex từ nhóm Alex:

drwxrwxr-x Alex Alex [......]

Làm đi:

chown Alex:Consult your_folder

Nó sẽ trở thành:

drwxrwxr-x Alex Consult [......]

Và sau đó thư mục có sẵn cho nhóm Tham khảo ý kiến.

Xin lưu ý rằng, theo tôi biết, bạn có thể thêm một nhóm không phải là một trong các nhóm của chủ sở hữu. Nhưng tôi không chắc liệu nó có được khuyến nghị không (không rõ ràng khi đọc quyền truy cập).


3

setfacl -mg: debian-truyền: rwx -R / mnt / sra

Tìm thấy lệnh này tốt, thay vì chown sẽ thay đổi hoàn toàn chủ sở hữu của tập tin hoặc thư mục!

Bạn sẽ thấy trên 'ls -Al' rằng dấu + sẽ được thêm vào để cho thấy rằng có nhiều hơn một chủ sở hữu!

gốc drwxr-xr-x 2 4096 ngày 8 tháng 11 19:11 sdc1 /

drwxrwxr-x + 3 root root 4096 17 tháng 2 19:16 sra /

Và sau đó bạn có thể sử dụng getfacl để xem ai có thể viết hoặc đọc tệp hoặc thư mục!

# tập tin: sra

# chủ sở hữu: root

# nhóm: người dùng root :: rwx

nhóm :: rx

nhóm: debian-truyền: rwx

mặt nạ :: rwx

khác :: rx

mặc định: người dùng :: rwx

mặc định: nhóm :: rx

mặc định: nhóm: debian-truyền: rwx

mặc định: mask :: rwx

mặc định: other :: rx

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.