Quyền trên Tệp:


9

Tôi muốn cấp 755 quyền cho một thư mục, vì vậy tôi sử dụng:

# chmod -R 755 /my/folder/

Nó hoạt động cho tất cả các tệp trong thư mục của tôi, nhưng vấn đề là tôi sử dụng các tập lệnh tạo tệp mới trong thư mục này và theo mặc định, quyền là 600.

Làm cách nào tôi có thể áp đặt, 755 quyền đối với các tệp 'tương lai' này?

--BIÊN TẬP--

Tôi sử dụng một tập lệnh cung cấp cho tôi thông tin về lưu lượng truy cập mạng trong khuôn viên của tôi. Tôi có một tệp mới cứ sau 10 phút, nằm trong một thư mục có tên là Journey, nằm trong thư mục tháng như thế này:

ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root   85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root   54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root   33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root   48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root   36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root   37034 avril 27 01:00 zzaccounting.dmp-00-50
-rwxr-sr-x 1 root root   38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root   38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root   26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root   31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root   23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root   32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root   30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root   31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root   25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root   26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root   23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root   23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root   21854 avril 27 03:10 zzaccounting.dmp-03-00

Ở đây tôi đã thay đổi quyền bằng tay nhưng khi tệp mới xuất hiện, tôi có điều này:

-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40

Điều này là cho mọi thư mục và tập tin dưới / home / netmet / safe / Tôi muốn 755 hoán vị theo mặc định.

Tôi đã làm điều này:

chmod -R g+s /home/netmet/secure   
setfacl -d -m g::rwx /home/netmet/secure   
setfacl -d -m o::rx /home/netmet/secure   

3
ACL là câu trả lời. Điều này đã được thảo luận trước đây.
d3ag0s

8
ACL là câu trả lời cho việc ghi đè umask, nhưng không phải là ghi đè chương trình tạo tệp với chế độ 0600theo thiết kế. Xem ở đây để tham khảo một số.
ilkkachu

1
Và một chi tiết nữa: theo mặc định, bạn không thể sử dụng umaskđể thêm bit thực thi vào tệp, việc này cần phải được thực hiện bằng tay
Romeo Ninov

umask không hoạt động mọi người
klaypez

Bạn có thể chỉnh sửa tập lệnh bạn sử dụng để tạo tập tin không? Làm thế nào để các tập tin vào thư mục cuối cùng (ví dụ. 2017-04-27) Và các thư mục được thực hiện ở vị trí đầu tiên như thế nào? Vui lòng cập nhật câu hỏi với các chi tiết này.
Kích hoạt

Câu trả lời:


1

Hãy thử chạy umasktrong thư mục của bạn. Nếu nó trả về bất cứ thứ gì khác ngoài '0022' thì đây là vấn đề của bạn. Trong trường hợp của bạn, nó sẽ khởi tạo đầu ra '0177'. Hệ thống cấp phép khi tạo thư mục về cơ bản được tính toán: default - umask0777 là chế độ mặc định cho các thư mục và 0666 cho các tệp thông thường, nhưng có các nhiệm vụ khác nhau, nếu tôi hiểu đúng những điều này. Cố gắng thực hiện umask a=rx,uu+w.

EDIT: Bạn có thể sử dụng umask để cung cấp bit thực thi cho thư mục để có thể cd vào nó, nhưng không cho các tệp. Chúng phải được cung cấp bit thực hiện thủ công vì bảo mật. Đơn giản chỉ cần thêm chmod +x <file>vào kịch bản của bạn. Và, thực thi cờ được thiết lập trên tệp bất cứ điều gì khác ngoài thực thi không có hiệu lực.


1
Lệnh umaskshell không phụ thuộc vào đường dẫn, nó chỉ phụ thuộc vào người dùng đang chạy nó, mỗi người dùng có một giá trị umask cụ thể, được xác định khi đăng nhập và có thể thay đổi sau đó. Điều này xác định cách tạo quyền tập tin mới.
Patrick Mevzek

Điều đó nên được chmod a=rx,u+wtrả lời của bạn.
Patrick Mevzek

1

Tôi đoán bạn đang chạy các tập lệnh tạo tệp trong môi trường có ô được đặt thành 0077. Điều này ngăn chương trình tạo để đặt bất kỳ bit quyền nào trong các bit quyền 'nhóm' và 'khác'.

Lưu ý rằng ô là một phần của môi trường được kế thừa của bất kỳ quy trình nào và thường được đặt từ một 'hồ sơ' mặc định khi đăng nhập. Bất kỳ quá trình (vỏ) nào cũng có thể sửa đổi ô của chính họ và con cháu của họ (ban đầu) bằng lệnh 'umask'.

Các bit trong ô hiện tại sẽ ngăn việc tạo tệp với các bit này được đặt trong quyền của chúng (do đó là "mặt nạ", che giấu các bit cho phép kết quả)


0

Lưu ý : Điều này không lý tưởng và nên được coi là một cách giải quyết tạm thời

Bạn có thể tạo công việc cron chạy lệnh chmod cứ sau 5 phút hoặc tùy ý.

Ngoài ra còn có inotify

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.