Wie ändere ich ein Benutzer-Ausgangsverzeichnis in ein Verzeichnis, das bereits existiert?


2

Ich habe einen Website-Benutzer, der Inhalte in einen Ordner auf meinem Server hochladen soll. Ich dachte ok, ich erstelle einen neuen Benutzer und ändere sein Home-Verzeichnis in den Ordner, in dem sich seine Sachen bereits befinden.

Kein Glück, usermod erlaubt mir nicht, dieses Verzeichnis zu erstellen, es existiert bereits.

$ sudo usermod -m -d /public_html/user user
  usermod: directory /public_html/user exists

Ich habe die Manpage durchgesehen, aber keine sofortige Lösung für dieses Problem gefunden.


Ähm, sorry aber nein. Einfach nein. Die Horrorgeschichten, die ich erzählen kann, wenn ein Windows-Administrator beschließt, "/ home / as share" zu öffnen, wobei der Benutzer die Dateien beginnend mit einem Punkt verschiebt und löscht. Benutzer müssen sich innerhalb / außerhalb eines Webservers befinden. Sie sollten einen Symlink in / home / $ USER / erstellen, den Benutzer in diesen Ordner zwingen und ihn mit / public_html / user
Rinzwind

Antworten:


5

Die Nachricht dient nur zur Information - die Änderung sollte trotzdem akzeptiert werden.

Ex. gegeben

$ getent passwd testuser
testuser:x:1001:1001:,,,,testuser@foo.com:/home/testuser:/bin/sh

dann

$ sudo mkdir /home/foo 
$ sudo usermod -m -d /home/foo testuser
usermod: directory /home/foo exists

Das Ausgangsverzeichnis wurde jedoch erfolgreich geändert

$ getent passwd testuser
testuser:x:1001:1001:,,,,testuser@foo.com:/home/foo:/bin/sh

Und nur um sicher zu gehen:

$ su - testuser
Password: 
$ pwd
/home/foo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.