Modifica delle autorizzazioni per / var / www / html


12

Ho studiato questo argomento https://help.ubuntu.com/community/FilePermissions per un po 'e non riesco a farlo funzionare per qualche motivo.

In particolare, queste linee mi interessano di più:

Per modificare contemporaneamente tutte le autorizzazioni di ciascun file e cartella in una directory specificata, utilizzare sudo chmod con -R

$ sudo chmod 777 -R /path/to/someDirectory
$ ls -l
total 3
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file1
drwxrwxrwx  2 user user 4096 Nov 19 20:13 folder
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file2

Ecco cosa ho scritto:

mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0

Quindi ho verificato eventuali modifiche in sftp:

sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r--    1 root     root        11321 Apr 10 20:07 index.html

Dall'output è chiaro che la directory html è ancora modificabile solo da root.

Come posso cambiarlo nel modo in cui io (non root) posso caricare i file nella directory html?

Ho anche testato:

Il proprietario di un file può essere modificato usando il comando chown. Ad esempio, per cambiare il proprietario del file foobar in tux:

$ sudo chown tux foobar

Ho digitato dal server:

sudo chown mark owner

nessun effetto.


Manca l'opzione -r per ricorsivo. E 777 non è più la modifica corretta da effettuare (a meno che non si imposti anche l'opzione t (bit appiccicoso). Domanda: perché la directory è vuota al 2 ° comando e riempita con index.html al 3 ° comando? Questi comandi NON sono rilasciato con le stesse situazioni. sudo chown mark ownerChe cosa dovrebbe fare? Come mai si introduce un file o una directory chiamata "proprietario" lì?
Rinzwind

Per diventare proprietario di un file o di una directory, è necessario specificare chi è il nuovo proprietario, il gruppo (opzionale) e il file o la directory. Ad esempio, sudo chown user:user mydocsdove si trova il nuovo proprietario e il gruppo usere la directory di cui si sta assumendo la proprietà èmydocs
Gansheim

1
In questo caso, lascerei da solo la proprietà della directory, per modificare le autorizzazioni per quella directory specifica in modo da poter scrivere su di essa, impostare le autorizzazioni di lettura / scrittura, essendo il comandosudo chmod 766 -r /var/www/html
Gansheim

@Rinzwind sembra che abbia emesso il ls -lcomando dalla loro directory home. @Mark A meno che non ci si trovi nella directory che si sta tentando di visualizzare / manipolare, è necessario specificare il percorso, in questo caso avresti dovuto emettere il comando comels -l /var/www/html
Gansheim

1
Come hanno sottolineato i ragazzi, chmodcambia i permessi, chowncambia il proprietario. 755 prima cifra (7) significa che "proprietario" ha tutte le autorizzazioni, mentre la seconda e l'ultima cifra (5) indicano che "gruppo" e "altro" hanno entrambi le autorizzazioni di lettura ed esecuzione. Puoi aggiungere il tuo utente al gruppo e dare anche le autorizzazioni complete al gruppo in modo da non dover apportare così tante modifiche.
Samuel,

Risposte:


11

In questo caso, lascerei da solo la proprietà della directory. Per modificare le autorizzazioni per quella specifica directory in modo da poterle scrivere, impostare le autorizzazioni di lettura / scrittura, essendo il comando sudo chmod 766 -R /var/www/html. Ciò assegnerà autorizzazioni complete 7per il proprietario, lettura / scrittura 6per il gruppo e lettura / scrittura per tutti 6, ricorsivamente.


9

Puoi diventare il proprietario di quella directory

sudo chown pi /var/www/html

Ma sicuramente vuoi impostare le autorizzazioni

chmod 755 -R /var/www/html

L'uso dell'opzione -R (ricorsivo) assicurerà che i tuoi file di script e il tuo file .htaccess siano tutti uguali.


Ogni volta che aggiungi un nuovo script, assicurati di impostarlo anche in questo modo.

chmod 755 /var/www/html/cgi-bin/newscript.cgi

Si noti che alcuni programmi CGI hanno i propri requisiti, come ad esempio il

Registratore visitatori del sito web Bestdam + Hit Counter

Estratto:

Apri il file bdlogger.pl in un editor di testo e, se necessario, modifica la riga shebang.

Sul server, creare una sottodirectory bdlogger nella directory cgi-bin e FTP lo script e i file di dati in esso utilizzando la modalità ASCII

Se si utilizza un server UNIX / Linux, digitare i file:

bdlogger.pl to 755
all other files to 666

Aggiungi il seguente tag di direttiva SSI alle tue pagine Web:

<!--#exec cgi="/cgi-bin/bdlogger/bdlogger.pl" -->

5

È necessario impostare il proprietario della cartella www da "root" a "Me".

Dal tuo terminale, esegui il comando:

sudo chown -R your_system_username /var/www

Spero funzioni!!


2

Mentre le risposte di cui sopra faranno praticamente il trucco, questo è un approccio più salutare. È possibile che tu voglia modificare i file all'interno di / var / www / html perché desideri aggiungere un'app Web in cui pubblicare Apache2. Per raggiungere questo obiettivo sono necessari i seguenti passaggi

  1. Aggiungi l'utente al gruppo utenti www-datacon proprietà predefinita della cartella. Perché? Perché se si intende apportare modifiche all'app Web in modo dinamico, anche se è dentro wordpress, è necessario che gli utenti di questo gruppo dispongano delle autorizzazioni di scrittura. Per fare questo basta scrivere: sudo adduser username grouptoaddNel nostro caso lo sarà sudo adduser username www-data.
  2. Successivamente è necessario modificare read/write permissionsutilizzando il chmodcomando. Ricorda che ora fai parte del gruppo utenti e non è necessario cambiare proprietà utilizzando chown. Per fare questo basta eseguire:, sudo chmod -R 766 directoryin questo caso lo sarà sudo chmod -R 766 html. Se ti senti sportivo, puoi ottenere le autorizzazioni di scrittura complete (777), a seconda della sicurezza della tua app.

Si -Rintende una funzione ricorsiva, che consente al comando di applicarsi a tutte le sottodirectory. Spero che questo aiuti qualcuno nel bisogno.

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.