ubuntuusers.de

Wie kann ich einem Benutzer SFTP Zugriff erlauben?

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

michrad

Anmeldungsdatum:
21. November 2016

Beiträge: Zähle...

Hallo zusammen,

Ich bin Neuling bei Ubuntu.

Ich habe Wordpress installiert in einem Order unterhalb www/htdocs.

Wordpress läuft wohl unter dem Benutzer www-data, soweit ich das richtig verstehe.

Damit Wordpress Plugins oder Themes installieren kann, muss wohl der Benutzer www-data SSH-Zugriff mit Passwort erhalten, weil SFTP ein submodule von SSH ist, richtig?

An www-data habe ich mit passwd ein Passwort vergeben.

Bisher gibt es nur root der sich via ssh und sftp mit keyfile einloggen kann.

Wie kann ich dem Benutzer SFTP-Zugang mit Passwort erlauben?

Anbei Screenshots der /etc/ssh/sshd_conf

Vielen Dank.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo und herzlich Willkommen!

Ich merke nur an, dass dein Screenshot fehlt, was in dem Fall aber nicht schlimm ist. Text sollte immer mit der entsprechenden Forensyntax versehen werden, in deinem Fall also mittels Codeblock.

In diesem Bereich kenne ich mich zu wenig aus, um konkrete Tipps zu geben, aber mein Bauchgefühl sagt mir, du solltest nicht mit www-data arbeiten, da dann der Nutzer auf alles Zugriff hat, auf das www-data auch Zugriff hat. Lieber separate Benutzer und Gruppen.

michrad

(Themenstarter)

Anmeldungsdatum:
21. November 2016

Beiträge: 5

Ja, das leuchtet schon ein, aber dazu müsste wordpress unter einem separaten user laufen. Ich weiss nicht wie man das macht?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Da gibt es mehrere Möglichkeiten. Daher warte mal auf die, die sich damit auskennen. Im oben verlinkten Wiki-Beitrag kannst du ja nachlesen, wie man einen neuen Benutzer anlegt. Dessen Homeverzeichnis würde ich dann entweder ins www-Verzeichnis einbinden oder ihm gleich sein Home dort anlegen lassen. www-data braucht dann allerdings Rechte auf diesen Nutzer, damit es die Daten lesen (ggf. auch Schreiben) kann. Umgekehrt braucht der Nutzer aber keinen Zugriff auf den Webserver.

Bevor du deinen Service online stellst, musst du das ja eh alles wissen... nutze die Zwischenzeit zum Lesen ☺

Mal ein paar Links:

jb-alvarado

Anmeldungsdatum:
28. November 2012

Beiträge: 345

Hallo, also für Themes und Plugins zu installieren braucht Wordpress ganz sicher kein sftp Zugang. Das läuft alles über php ab und es wird nur im eigenen Verzeichnis was installiert.

Wordpress läuft auch nicht wirklich unter dem Benutzer www-data. Apache läuft darunter, daher soll alles was in www/htdocs ist dem Benutzer www-data zugeordnet sein, damit es ausgeführt werden kann.

Es ist möglich, dass du in dem Wordpress Ordner zum Teil Schreibrechte anpassen muss, damit die Installation funktioniert. Aber auch nicht wahllos alle Rechte ändern, sonder gezielt, da wo es nötig ist. Müsste eigentlich in der Doku von Wordpress stehen, welche Ordner das sind.

Dem Benutzer www-data solltest du auch wieder das Passwort entziehen.

michrad

(Themenstarter)

Anmeldungsdatum:
21. November 2016

Beiträge: 5

jb-alvarado schrieb:

Hallo, also für Themes und Plugins zu installieren braucht Wordpress ganz sicher kein sftp Zugang. Das läuft alles über php ab und es wird nur im eigenen Verzeichnis was installiert.

Wordpress läuft auch nicht wirklich unter dem Benutzer www-data. Apache läuft darunter, daher soll alles was in www/htdocs ist dem Benutzer www-data zugeordnet sein, damit es ausgeführt werden kann.

Es ist möglich, dass du in dem Wordpress Ordner zum Teil Schreibrechte anpassen muss, damit die Installation funktioniert. Aber auch nicht wahllos alle Rechte ändern, sonder gezielt, da wo es nötig ist. Müsste eigentlich in der Doku von Wordpress stehen, welche Ordner das sind.

Dem Benutzer www-data solltest du auch wieder das Passwort entziehen.

Schreibrechte sind angepasst für den wp-content Ordner.

Ich habe auch dem www-data das Passwort wieder entzogen mit passwd -l www-data.

Allerdings verlangt wordpress nach einem ftp-Zugang oder sftp-Zugang (FTP-Benutzername und FTP-Passwort) wenn Ich ein Plugin installieren möchte. Auf dem System gibt es aber nur Logins mit key-file, und daher kann Wordpress die Installation nicht durchführen.

jb-alvarado

Anmeldungsdatum:
28. November 2012

Beiträge: 345

Welches Plugin ist das denn? Habe gerade ein Kollege gefragt, er meinte es gibt wirklich Plugins die das wollen, sorry dass ich dem widersprochen habe. Backup Plugins bräuchten das z.B.. Das Plugin an sich sollte aber dennoch auch so installiert werden können, erst die eigentliche Funktion bräuchte dann Logindaten. Dafür müsste aber auch ein andere Nutzer gehen mit minimalen Rechten und nicht der www-data User.

michrad

(Themenstarter)

Anmeldungsdatum:
21. November 2016

Beiträge: 5

jb-alvarado schrieb:

Welches Plugin ist das denn? Habe gerade ein Kollege gefragt, er meinte es gibt wirklich Plugins die das wollen, sorry dass ich dem widersprochen habe. Backup Plugins bräuchten das z.B.. Das Plugin an sich sollte aber dennoch auch so installiert werden können, erst die eigentliche Funktion bräuchte dann Logindaten. Dafür müsste aber auch ein andere Nutzer gehen mit minimalen Rechten und nicht der www-data User.

Ja im Prinzip ginge jeder beliebige FTP/SFTP Benutzer der sich mit einem Passwort einlogged. Das war ja auch die Frage. Nur, dass auf diesem System es nur Benutzer mit key-file gibt, aber keinen der sich mit Passwort einloggt. Deswegen soll ein Benutzer angelegt werden der sich mit Passwort in FTP einloggen kann und schreibrechte besitzt.

jb-alvarado

Anmeldungsdatum:
28. November 2012

Beiträge: 345

So was in der Art würde dann gehen: http://askubuntu.com/questions/598870/limit-sftp-user-access-to-specified-directory

Habe das selbst noch nicht gemacht und kann daher nicht sagen wie sicher das ist.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Wenn Wordpress nach FTP bzw. SFTP-Zugangsdaten fragt, dann hat es keine Rechte, sich selbst direkt zu updaten und Dateien hochzuladen. Andernfalls würde es das tun. Mach mal ein:

chown -R www-data:www-data /var/www/html

Dann sollte Wordpress die Rechte haben Plugins direkt hochladen zu lassen und automatische Updates durchzuführen.

Wichtig ist, wenn mehrere Seiten auf dem System laufen, dass man die PHP-User trennt, beispielsweise per FPM. Außerdem sollte man immer ein openbase_dir setzen, damit eine PHP-Instanz nicht Amok laufen kann.

michrad

(Themenstarter)

Anmeldungsdatum:
21. November 2016

Beiträge: 5

Danke für die Lösung! ☺

Antworten |