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.

j0h
quelle
Ä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:,,,,[email protected]:/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:,,,,[email protected]:/home/foo:/bin/sh

Und nur um sicher zu gehen:

$ su - testuser
Password: 
$ pwd
/home/foo
Stahlfahrer
quelle