vsFTPd izin file yang diunggah default di Ubuntu tidak berfungsi

14

Saya memiliki Server yang menjalankan Ubuntu 12.10 x64 , dan versi terakhir vsFTPd.

Pengguna saya example.com telah mengaktifkan folder beranda /var/www/example.com,

Saya membuat folder public_html di dalam dan memberikan 777izin padanya, dan menghapus izin menulis dari folder pengguna rumah. Semuanya bekerja dengan baik tetapi:

Setiap file yang saya unggah melalui FTP (menggunakan SmartFTP) mendapatkan chmod 0.

Saya vsftpd.confpunya hanya satu baris terkait:

local_umask=022.

Saya sudah mencoba mengubah ke:

file_open_mode=777
local_umask=002

Jadi file saya akan 775segera diunggah.

Tetapi hanya folder yang saya unggah yang mendapatkan 775izin.

File unggahan saya dapatkan 1411 permissions

Adakah yang bisa membantu saya menyelesaikannya?

lucasmx
sumber
Anda harus memberi izin kepada pengguna FTP.
Gex

Jawaban:

11

Saya akhirnya menggunakan

file_open_mode=0777
local_umask=022

di vsftpd.conf. Masalahnya adalah bahwa baik pengguna FTP dan pengguna data-www memerlukan izin untuk menulis, jadi saya harus bergabung dengan www-data dan ftpuser ke grup pengguna www-data, dan CHMOD -R 775 semua file di / var / www - dengan cara itu, dengan 775 CHMOD, grup akan memiliki izin untuk membaca, menulis, dan mengeksekusi. Sekarang ini berfungsi dengan baik.

lucasmx
sumber
1
jangan lupa untuk me-restart server FTP: layanan sudo vsftpd restart
Nahid
7

Mendapat jawaban saya:

Karena www-data adalah pengguna yang bertanggung jawab atas server web dan pengguna normal Anda bertanggung jawab atas server ftp, Anda harus terlebih dahulu menjadikan keduanya anggota grup yang sama: grup www-data.

Membuat Pengguna khusus:

useradd –d /var/www/asasd.com -g www-data -m yourusername dengan cara ini direktori home adalah /var/www/asasd.com dan pengguna Anda akan berada dalam grup www-data .

setelah ini, ubah pass pengguna dengan mengetik passwd.

Kemudian, Anda perlu membuat public_html folder di dalam Anda yourusername folder rumah, sebagai FTP wont dapat menulis di root folder rumah Anda, Anda harus membuat subfolder.

Izin Hapus menulis dari Anda yourusername folder chmod a-w /var/www/asasd.com

Kemudian, terapkan izin baru untuk subfolder: chmod -R 775 /var/www/asasd.com/public_html (perhatikan Anda harus menggunakan 775 chmod karena Anda memerlukan izin menulis grup, bukan izin menulis pengguna, karena Anda ingin seluruh grup (ftp dan www-data) dapat menulis) Kemudian, miliki folder untuk data-www chown -R www-data:www-data /var/www/asasd.com/public_html

Dengan begitu Anda harus dapat menggunakan FTP dan memiliki Webserver yang berfungsi.

Semoga berhasil!

Lucu info ini sangat sulit ditemukan. Apakah orang tidak berbagi pengetahuan lagi?

lucasmx
sumber
"Anda harus terlebih dahulu menjadikan mereka berdua anggota dari grup yang sama: grup www-data" Bagaimana cara menempatkan pengguna ftp saya di grup www-data?
Black
Bekerja dengan sempurna. Terima kasih @lucasmx
Enrique Becerra
0

Saya juga punya masalah seperti izin file diubah ketika saya mengunggah file melalui ftp saya. Ini diperbaiki dengan satu perubahan baris di myvsftpd.conf

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

vijay
sumber
Peduli untuk meningkatkan dan membuka ini sedikit? Mengapa ini lebih baik daripada alternatif sebelumnya dan apa yang sebenarnya dilakukannya , karena sintaksis semacam ini tidak dijelaskan di halaman manual sama sekali: local_umaskharus bernilai tunggal, dan harus memiliki 0awalan untuk nilai oktal.
Esa Jokinen
-4

Anda perlu mengubah kepemilikan file itu:

chown root:root /home/username
Gex
sumber