Local_umask và file_open_mode hoạt động như thế nào?


11

Tôi đã gặp một số vấn đề với các tệp tin khi người dùng cục bộ tải tệp của họ qua vsftp lên máy chủ.

Tôi muốn các tập tin có tất cả 766 quyền. Sau rất nhiều thử nghiệm và lỗi, tôi phát hiện ra rằng tôi phải thiết lập các cài đặt như thế này:

local_umask=011
file_open_mode=0777

Nhưng tôi không biết tại sao điều này dẫn đến 766 quyền. Bất cứ ai có thể giải thích điều này?

Câu trả lời:


13

Các vsftpd daemeon sẽ tạo cho phép file như 0777 . Từ đó, local_umask( 0011 ) bị trừ. Ô về cơ bản sẽ loại bỏ các quyền mà bạn không muốn người dùng có. Điều này dẫn đến quyền truy cập tệp của người dùng được đặt ở 0766 .

Để biết thêm thông tin, xem bài viết này về quyền tập tin .


2
Vâng, tôi hiểu điều đó, tôi biết mẹo. Nhưng làm thế nào để làm việc này? Tại sao tôi không thể đặt chỉ 766?
OrangeTux

1

Giá trị umask được trừ khỏi cài đặt chế độ mở. Nếu bạn không cung cấp giá trị umask tùy chỉnh, giá trị mặc định (077) sẽ được sử dụng, dẫn đến kết quả bạn không muốn.


-1

Bạn đang nhận được sự cho phép này bởi vì:

1) Đặt local_umask = 011 bạn nói với vsftp để đặt:

0: đọc, viết và thực hiện 1: đọc và viết 1: đọc và viết

Điều đó tương đương với chmod 766.

2) Giá trị của file_open_mode = 0777 không được phân tích cú pháp,

Tại đây bạn có thể tìm thấy một lời giải thích rất hay về umask là gì và cách sử dụng nó: https://www.cyberciti.biz/tips/under Hiểu-linux-unix-umask-value-usage.html


Đây không phải là một câu trả lời cho câu hỏi. (1) OP muốn các tệp được bảo vệ 766, không phải 666, vì vậy bạn đang giải quyết tình huống sai. (2) OP có cấu hình hoạt động. Câu hỏi là hỏi tại sao nó hoạt động. Bạn đã không giải quyết điều đó.
Scott

Ok, @Scott, đã chỉnh sửa câu trả lời.
Fernando Kosh
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.