Tôi có một thư mục nhất định trong đó có một dự án được chia sẻ bởi nhiều người dùng. Những người dùng này sử dụng SSH để có quyền truy cập vào thư mục này và sửa đổi / tạo tệp.
Dự án này chỉ có thể được ghi cho một nhóm người dùng nhất định: hãy gọi nó là "mygroup". Trong phiên SSH, tất cả các tệp / thư mục được tạo bởi người dùng hiện tại theo mặc định phải thuộc sở hữu của nhóm "mygroup" và có quyền ghi nhóm.
Tôi có thể giải quyết vấn đề quyền với umask
:
$ cd project
$ umask 002
$ touch test.txt
Tệp "test.txt" hiện có thể ghi theo nhóm, nhưng vẫn thuộc nhóm mặc định của tôi ("mislav", giống như tên người dùng của tôi) và không thuộc "nhóm của tôi". Tôi có thể chgrp
đệ quy để đặt nhóm mong muốn, nhưng tôi muốn biết có cách nào để đặt một số nhóm hoàn toàn giống như umask thay đổi quyền mặc định trong một phiên.
Thư mục cụ thể này là một repo git được chia sẻ với một bản sao đang hoạt động và tôi muốn git checkout
và các git reset
thao tác để đặt mặt nạ và nhóm chính xác cho các tệp mới được tạo trong bản sao làm việc. HĐH là Ubuntu Linux.
Cập nhật: một đồng nghiệp gợi ý tôi nên xem xét getfacl / setfacl của POSIX ACL nhưng giải pháp bên dưới kết hợp với umask 002
trong phiên hiện tại là đủ tốt cho tôi và đơn giản hơn nhiều.