So ändern Sie das Root-Berechtigungsverzeichnis des Linux-Servers in PHP in www:www

WBOY
Freigeben: 2016-08-04 09:20:52
Original
2031 Leute haben es durchsucht

Wenn der Kundendienst Dateien über FTP hochlädt, verfügen alle Dateien standardmäßig über ROOT-Benutzerberechtigungen, was zu PHP-Dateien führt, die nicht gelesen, geschrieben und erstellt werden können.

Sie können jede Datei nur über chown www:www festlegen.

Gibt es eine Möglichkeit, es über PHP zu bedienen?

Antwortinhalt:

Wenn der Kundendienst Dateien über FTP hochlädt, verfügen alle Dateien standardmäßig über ROOT-Benutzerberechtigungen, was zu PHP-Dateien führt, die nicht gelesen, geschrieben und erstellt werden können.

Sie können jede Datei nur über chown www:www festlegen.

Gibt es eine Möglichkeit, es über PHP zu bedienen?

Sie sagten: Für ihren Server verwenden sie gerne dieses SFTP, um Dateien direkt zu übertragen, was dazu führt, dass das Programm keine Verzeichnisse erstellen, Dateien neu schreiben usw. kann. Dies ist unvermeidlich. Sie können usermod -aG www [Benutzername] verwenden, um den Benutzer, den er sich bei SFTP anmeldet, zur WWW-Gruppe hinzuzufügen, und den WWW-Benutzer zur Gruppe des Benutzers hinzufügen, an den Sie Dateien übertragen www und Die Benutzer, die Dateien hochladen, gehören zur selben Gruppe, daher müssen den Dateien 664-Berechtigungen erteilt werden. (Dies ist die Methode, die ich verwendet habe. Ich verwende Syncthing und den Atom-Editor (der zur Benutzergruppe gehört) lokal, um Dateien mit dem Webserver (Nginx-Gruppe) zu synchronisieren. Ich habe den Webserver jedoch an Benutzer weitergeleitet.)

Ja, bool chown (String $filename, gemischt $user) kann geändert werden. PHP scheint chmod zu haben, es wird jedoch empfohlen, es auf dem Server zu ändern,

chown -R www:www /path/

Im Allgemeinen erhalten die Ordnerberechtigungen 755 und die Dateiberechtigungen 644. Dies kann mit dem folgenden Befehl erfolgen (der spezifische Ordner kann von Ihnen selbst geändert werden):

chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} ; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} ;Ich habe es in bashrc geschrieben, ich kann es beim nächsten Mal nicht erneut eingeben:
alias webroot='chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} ; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} ;'

<code>-----</code>
Nach dem Login kopieren
Ein anderer Server verwendet SFTP, um Dateien zu übertragen. Bevor ich die Datei übertrage, ändere ich alle Dateiberechtigungen, die den Benutzern gehören bashrc. und es dann nach der Übertragung zurückzuholen, ist es besser, das oben Genannte zu tun. Schließlich müssen Sie stfp verwenden, und es ist nicht sicher, einfach den Root zur Verwendung herauszugeben)

Wenn es Ihnen passt, wählen Sie einfach den Ordner -R 777

Können Sie die Berechtigungen für den FTP-Benutzer nicht festlegen?

Verwenden Sie nicht root, um sich anzumelden, sondern laden Sie es einfach von Win herunter. Im Allgemeinen können Sie es mit FTP-Tools wie xftp ändern eingehende Dateien

Sie können diese Funktion boolchown() verwenden, es ist jedoch nicht sicher, sie direkt auf dem Server zu ändern. Dazu sind auch Root-Berechtigungen erforderlich. Es ist am besten, wenn das FTP-Konto mit dem Benutzer übereinstimmt des PHP-Prozesses

Bei der Verwendung des Befehls chown in der Shell ist dieses Problem bereits beim Konfigurieren der Lampe aufgetreten.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage