Le autorizzazioni del file caricato di default su vsFTPd su Ubuntu non funzionano


14

Ho un server con Ubuntu 12.10 x64 e l'ultima versione di vsFTPd.

Il mio utente example.com ha la sua cartella home impostata su /var/www/example.com,

Ho creato una cartella public_html all'interno e le ho dato le 777autorizzazioni, e ho rimosso le autorizzazioni di scrittura della cartella dell'utente home. Tutto funziona bene ma:

Ogni file che carico tramite FTP (usando SmartFTP) ottiene un chmod di 0.

Il mio vsftpd.confaveva solo una riga relativa:

local_umask=022.

Ho provato a passare a:

file_open_mode=777
local_umask=002

Quindi i miei file verrebbero caricati non 775appena caricati.

Ma solo le mie cartelle caricate ottengono le 775autorizzazioni.

I miei file caricati ottengono 1411 permissions

Qualcuno può aiutarmi a risolverlo?


devi dare il permesso all'utente FTP.
Gex,

Risposte:


11

Ho finito per usare

file_open_mode=0777
local_umask=022

su vsftpd.conf. Il problema era che sia l'utente FTP che l'utente dei dati www avevano bisogno delle autorizzazioni per scrivere, quindi ho dovuto unire www-data e ftpuser al gruppo di utenti www-data e CHMOD -R 775 tutti i file su / var / www - in questo modo, con 775 CHMOD, il gruppo avrebbe il permesso di leggere, scrivere ed eseguire. Ora funziona perfettamente.


1
non dimenticare di riavviare il server FTP: sudo service vsftpd restart
Nahid

7

Ho la mia risposta:

Poiché i dati www sono l'utente responsabile del server web e l'utente normale è responsabile del server ftp, è necessario innanzitutto renderli entrambi membri dello stesso gruppo: il gruppo www-data.

Creazione utente personalizzato:

useradd –d /var/www/asasd.com -g www-data -m yourusername in questo modo la home directory sarà /var/www/asasd.com e il tuo utente sarà nel gruppo www-data .

dopo questo, cambia il passaggio dell'utente digitando passwd.

Quindi, è necessario creare una public_html cartella all'interno del vostro nomeutente cartella home, come l'FTP non sarà in grado di scrivere nella root della vostra cartella home, è necessario creare una sottocartella.

Rimuovere le autorizzazioni di scrittura dalla cartella yourusernamechmod a-w /var/www/asasd.com

Quindi, applica le nuove autorizzazioni per la sottocartella: chmod -R 775 /var/www/asasd.com/public_html (nota che devi usare 775 chmod perché hai bisogno delle autorizzazioni di scrittura di gruppo, non delle autorizzazioni di scrittura dell'utente, poiché vuoi che l'intero gruppo (dati ftp e www) sia in grado di scrivere) Quindi, possiedi il cartella per i dati www chown -R www-data:www-data /var/www/asasd.com/public_html

In questo modo devi essere in grado di utilizzare FTP e far funzionare un server web.

In bocca al lupo!

Divertente questa informazione è così difficile da trovare. Le persone non condividono più la conoscenza?


"devi prima renderli entrambi membri dello stesso gruppo: il gruppo www-data" Come mettere il mio utente ftp nel gruppo www-data?
Black

Ha funzionato perfettamente. Grazie @lucasmx
Enrique Becerra,

0

Ho anche avuto problemi come il permesso di file è cambiato quando carico un file tramite il mio ftp. Questo è stato risolto con un cambio di riga nel miovsftpd.conf

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


Vuoi migliorare e aprirlo un po '? Perché questo meglio rispetto alle alternative precedenti e che cosa fa realmente fare , dal momento che questo tipo di sintassi non è descritto nella pagina di manuale a tutti: local_umaskdeve essere un valore unico, e deve avere 0come prefisso per il valore ottale.
Esa Jokinen,

-4

devi cambiare la proprietà di quel file:

chown root:root /home/username
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.