Ich habe ein sftp-Konto in /home/sam
eingerichtet , erstellte eine Gruppe sftp
, und fügte den Benutzer sam
hinzu drin. Ich habe chown sam:sftp /home/sam
gegeben damit der Benutzer Operationen in diesem Verzeichnis ausführen kann.
Jetzt habe ich ein weiteres sftp-Konto tom
erstellt und ich muss ihn dazu bringen, das Verzeichnis /home/sam
zu teilen . d.h. beide sam
und tom
muss dasselbe Verzeichnis für gemeinsame Dateien freigeben. Jetzt kann ich chown tom:sftp on /home/sam
nicht geben . Wie mache ich das Verzeichnis sam
für beide Benutzer teilbar?
Akzeptierte Antwort:
Angenommen, eine häufig verwendete Linux-Distribution und ein sshd-Dienst laufen.
1) Wenn Sie möchten, dass zwei Benutzer Dateien im selben Verzeichnis erstellen, löschen und ändern können, erstellen Sie einfach ein Konto und geben Sie die Anmeldeinformationen an beide Personen weiter. Das ist jedoch der einfachste Weg …
…wenn Sie ihre Aktivität separat protokollieren möchten, z. wer sich wann eingeloggt hat, legen Sie dann zwei Benutzer mit derselben Gruppe an und weisen Sie beiden dasselbe Home-Verzeichnis zu. Z. B.
groupadd sftp
mkdir /home/sftp
chown nobody:sftp /home/sftp
chmod 770 /home/sftp
useradd -d /home/sftp -g sftp sam
useradd -d /home/sftp -g sftp tom
wenn die Benutzer sam und tom bereits existieren und ihre eigene primäre Gruppe haben, dann chmod g+s /home/sftp
erzwingt Dateien, die in diesem Verzeichnis erstellt wurden, ihre Gruppen-ID zu erben.
In diesem anderen Beitrag erfahren Sie, wie Sie eine standardmäßige umask
erzwingen unter sftp, sodass hochgeladene Dateien für Gruppen les-/schreibbar sind.
2) Wenn Sie möchten, dass nur ein Benutzer den Inhalt des Verzeichnisses erstellt, löscht und ändert und ein zweiter Benutzer nur Lesezugriff hat. Dies erfordert eigentlich keine besondere Behandlung, normale Benutzer können Inhalte aus den Verzeichnissen anderer Benutzer lesen. Der zweite Benutzer muss nur angeben oder in das Zielverzeichnis wechseln (Sie können dem zweiten Benutzer jedoch dasselbe Home-Verzeichnis zuweisen).