vsFTPd quyền tải lên tệp mặc định trên Ubuntu không hoạt động


14

Tôi có một Máy chủ chạy Ubuntu 12.10 x64 và phiên bản cuối cùng của vsFTPd.

Ví dụ người dùng của tôi có thư mục nhà được đặt trên /var/www/example.com,

Tôi đã tạo một thư mục public_html bên trong và cho 777phép nó và xóa các quyền viết của thư mục người dùng gia đình. Mọi thứ đều hoạt động tốt nhưng:

Mỗi tệp tôi tải lên bằng FTP (sử dụng SmartFTP) sẽ nhận được 0 điểm.

My vsftpd.confchỉ có một dòng liên quan:

local_umask=022.

Tôi đã cố gắng thay đổi thành:

file_open_mode=777
local_umask=002

Vì vậy, các tập tin của tôi sẽ nhận được 775ngay khi tải lên.

Nhưng chỉ có các thư mục được tải lên của tôi là có được 775quyền.

Các tập tin tải lên của tôi có được 1411 permissions

Ai đó có thể giúp tôi giải quyết điều đó?


bạn phải cấp quyền cho người dùng FTP.
Gex

Câu trả lời:


11

Tôi đã kết thúc bằng cách sử dụng

file_open_mode=0777
local_umask=022

trên vsftpd.conf. Vấn đề là cả người dùng FTP và người dùng dữ liệu www đều cần có quyền để viết, vì vậy tôi phải tham gia www-data và ftpuser vào nhóm người dùng dữ liệu www và CHMOD -R 775 tất cả các tệp trên / var / www - theo cách đó, với 775 CHMOD, nhóm sẽ có quyền đọc, viết và thực thi. Bây giờ nó hoạt động hoàn hảo.


1
đừng quên khởi động lại máy chủ FTP: sudo service vsftpd restart
Nahid

7

Có câu trả lời của tôi:

Vì dữ liệu www là người dùng chịu trách nhiệm cho máy chủ web và người dùng bình thường của bạn chịu trách nhiệm cho máy chủ ftp, trước tiên bạn cần phải biến cả hai thành viên của cùng một nhóm: dữ liệu www của nhóm.

Tạo người dùng tùy chỉnh:

useradd –d /var/www/asasd.com -g www-data -m yourusername bằng cách này, thư mục chính sẽ là /var/www/asasd.com và người dùng của bạn sẽ ở trong nhóm dữ liệu www .

sau đó, thay đổi người dùng qua bằng cách gõ passwd.

Sau đó, bạn cần phải tạo ra một public_html thư mục bên trong của bạn yourusername thư mục nhà, như FTP wont có thể viết trong thư mục gốc của thư mục nhà của bạn, bạn phải tạo một thư mục con.

Remove quyền ghi của bạn yourusername thư mục chmod a-w /var/www/asasd.com

Sau đó, áp dụng các quyền mới cho thư mục con: chmod -R 775 /var/www/asasd.com/public_html (lưu ý bạn phải sử dụng 775 chmod vì bạn cần quyền ghi nhóm, không phải quyền viết của người dùng, vì bạn muốn cả nhóm (dữ liệu ftp và www) có thể viết) Sau đó, hãy sở hữu thư mục cho dữ liệu www chown -R www-data:www-data /var/www/asasd.com/public_html

Bằng cách đó, bạn phải có thể sử dụng FTP và có một Máy chủ web hoạt động.

Chúc may mắn!

Hài hước thông tin này là rất khó để tìm thấy. Có phải mọi người không chia sẻ kiến ​​thức nữa?


"Trước tiên bạn cần biến cả hai thành viên của cùng một nhóm: dữ liệu www của nhóm" Làm cách nào để đưa người dùng ftp của tôi vào dữ liệu www của nhóm?
Đen

Làm việc hoàn hảo. Cảm ơn @lucasmx
Enrique Becerra

0

Tôi cũng gặp vấn đề như quyền thay đổi tệp khi tôi tải tệp lên qua ftp của mình. Điều này được cố định với một thay đổi dòng trong của tôivsftpd.conf

local_umask=val(like 022,007,etc.,)


Quan tâm để cải thiện và mở này một chút? Tại sao điều này tốt hơn các lựa chọn thay thế trước đó và nó thực sự làm gì , vì loại cú pháp này hoàn toàn không được mô tả trong trang hướng dẫn: local_umaskphải là một giá trị duy nhất và nó phải có 0tiền tố cho giá trị bát phân.
Esa Jokinen

-4

bạn cần thay đổi quyền sở hữu tập tin đó:

chown root:root /home/username
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.