Ändern der Berechtigungen für / var / www / html

12

Ich habe dieses Thema https://help.ubuntu.com/community/FilePermissions für eine Weile studiert und kann es aus irgendeinem Grund nicht zum Laufen bringen.

Diese Zeilen interessieren mich besonders:

Verwenden Sie sudo chmod mit -R, um alle Berechtigungen für jede Datei und jeden Ordner in einem bestimmten Verzeichnis gleichzeitig zu ändern

$ 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

Folgendes habe ich eingegeben:

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

Dann habe ich alle Änderungen in sftp überprüft:

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

Aus der Ausgabe geht hervor, dass das HTML-Verzeichnis nur noch durch root geändert werden kann.

Wie kann ich dies so ändern, dass ich (Nicht-Root) Dateien in das HTML-Verzeichnis hochladen kann?

Ich habe auch getestet:

Der Eigentümer einer Datei kann mit dem Befehl chown geändert werden. So ändern Sie beispielsweise den Eigentümer der Foobar-Datei in tux:

$ sudo chown tux foobar

Ich habe vom Server aus getippt:

sudo chown mark owner

keine Wirkung.

Mark Alexa
quelle
Ihnen fehlt die Option -r für rekursiv. Und 777 ist nie die richtige Änderung (es sei denn, Sie setzen auch die Option t (Sticky Bit). Frage: Warum ist das Verzeichnis beim 2. Befehl leer und beim 3. Befehl mit index.html gefüllt? Diese Befehle sind NICHT . mit den gleichen Situationen ausgegeben sudo chown mark owner? was das ist wohl zu tun Wie kommen Sie eine Datei oder dir als „Besitzer“ dort vorstellen?
Rinzwind
Um Eigentümer einer Datei oder eines Verzeichnisses zu werden, müssen Sie angeben, wer der neue Eigentümer ist, die Gruppe (optional) und die Datei oder das Verzeichnis. Zum Beispiel, sudo chown user:user mydocswo sich der neue Eigentümer und die neue Gruppe befinden userund das Verzeichnis, dessen Eigentümer Sie sind, istmydocs
Gansheim
1
In diesem Fall würde ich den Verzeichnisbesitz in Ruhe lassen, um die Berechtigungen für dieses bestimmte Verzeichnis so zu ändern, dass Sie darauf schreiben können, Lese- / Schreibberechtigungen festlegen, wobei der Befehlsudo chmod 766 -r /var/www/html
Gansheim
@Rinzwind sieht aus, als hätte er den ls -lBefehl aus ihrem Home-Verzeichnis ausgegeben . @ Mark Wenn Sie sich nicht in dem Verzeichnis befinden, das Sie anzeigen / bearbeiten möchten, müssen Sie den Pfad angeben. In diesem Fall sollten Sie den Befehl alsls -l /var/www/html
Gansheim
1
Wie die Jungs betont haben, chmodändert sich die Berechtigung, chownwechselt der Besitzer. 755 erste Ziffer (7) bedeutet, dass 'Eigentümer' alle Berechtigungen hat, während zweite und letzte Ziffer (5) bedeuten, dass 'Gruppe' und 'andere' beide Lese- und Ausführungsberechtigungen haben. Sie können Ihren Benutzer zur Gruppe hinzufügen und auch der Gruppe vollständige Berechtigungen erteilen, damit Sie nicht so viele Änderungen vornehmen müssen.
Samuel

Antworten:

9

In diesem Fall würde ich den Verzeichnisbesitz in Ruhe lassen. Um die Berechtigungen für dieses bestimmte Verzeichnis so zu ändern, dass Sie darauf schreiben können, legen Sie die Lese- / Schreibberechtigungen fest, wobei der Befehl lautet sudo chmod 766 -R /var/www/html. Dadurch werden 7dem Eigentümer vollständige Berechtigungen zugewiesen , 6für die Gruppe gelesen / geschrieben und für alle 6rekursiv gelesen / geschrieben .

Gansheim
quelle
8

Sie können sich selbst zum Eigentümer dieses Verzeichnisses machen

sudo chown pi /var/www/html

Aber Sie möchten auf jeden Fall die Berechtigungen festlegen

chmod 755 -R /var/www/html

Wenn Sie die Option -R (rekursiv) verwenden, wird sichergestellt, dass Ihre Skriptdateien und Ihre .htaccess-Datei alle gleich eingestellt sind.


Wenn Sie ein neues Skript hinzufügen, müssen Sie es auch so einstellen.

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

Beachten Sie, dass einige CGI-Programme ihre eigenen Anforderungen haben, z

Bestdam Website Besucher Logger + Hit Counter

Auszug:

Öffnen Sie die Datei bdlogger.pl in einem Texteditor und ändern Sie gegebenenfalls die shebang-Zeile.

Erstellen Sie auf dem Server ein bdlogger-Unterverzeichnis unter Ihrem Verzeichnis cgi-bin und übertragen Sie das Skript und die Datendateien im ASCII-Modus per FTP

Wenn Sie einen UNIX / Linux-Server verwenden, ändern Sie die Dateien:

bdlogger.pl to 755
all other files to 666

Fügen Sie Ihren Webseiten das folgende SSI-Direktiven-Tag hinzu:

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

Sie müssen den Eigentümer des WWW-Ordners von 'root' auf 'Me' setzen.

Führen Sie auf Ihrem Terminal den folgenden Befehl aus:

sudo chown -R your_system_username /var/www

Hoffe, es funktioniert!!

Genius
quelle
1

Während die obigen Antworten so ziemlich den Trick machen, ist dies ein gesünderer Ansatz. Möglicherweise möchten Sie Dateien in / var / www / html ändern, da Sie eine Web-App hinzufügen möchten, in der Sie dienen möchten Apache2. Um dies zu erreichen, benötigen Sie die folgenden Schritte

  1. Fügen Sie den Benutzer der Benutzergruppe hinzu, die www-datastandardmäßig Eigentümer des Ordners ist. Warum? Wenn Sie Änderungen an der Webanwendung dynamisch vornehmen möchten, wordpressmüssen die Benutzer in dieser Gruppe über Schreibberechtigungen verfügen , auch wenn diese aktiviert sind. Um dies zu tun, schreiben Sie einfach: sudo adduser username grouptoaddIn unserem Fall wird es sein sudo adduser username www-data.
  2. Als nächstes müssen Sie die read/write permissionsmit dem chmodBefehl ändern . Denken Sie daran, dass Sie jetzt Teil der Benutzergruppe sind und den Eigentümer nicht mit ändern müssen chown. Führen Sie dazu einfach: sudo chmod -R 766 directoryin diesem Fall aus sudo chmod -R 766 html. Wenn Sie sich sportlich fühlen, erhalten Sie volle Schreibberechtigungen (777), je nachdem, wie sicher Ihre App ist.

Die -RGemeint ist eine rekursive Funktion, so dass der Befehl für alle Unterverzeichnisse zu übernehmen. Ich hoffe das hilft jemandem in Not.

AntonyMN
quelle