Ich möchte zwei Benutzerebenen erstellen, um den SFTP-Zugriff einzuschränken: „übergeordnete“ Benutzer und „untergeordnete“ Benutzer.
Die übergeordneten Benutzer müssen auf alle Verzeichnisse der Kinder zugreifen können, die Kinder sollten jedoch nur ihre eigenen Verzeichnisse verwenden können.
Wie mache ich das unter CentOS 6?
Antwort1
Da SFTP einfach FTP über SSH ist, sollten Sie dies mithilfe von Benutzer-Home-Verzeichnissen und -Gruppen tun können. Wenn Sie 3 Benutzer erstellt haben:
parent
childone
childtwo
Sie könnten ihre Home-Verzeichnisse auf eine Struktur wie diese einstellen:
/home/parent
/home/parent/childone
/home/parent/childtwo
Mit Berechtigungen:
#> chmod -R 771 /home/parent
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
Wenn der parent
Benutzer nun zur testftp
Gruppe gehört, die Kinder jedoch nicht, parent
sollten sie Dateien in ihren Home-Verzeichnissen lesen und schreiben können, die Kinder können jedoch nur ihre eigenen Dateien ändern.
Ich habe dies gerade auf meiner Box kurz getestet und es scheint gut zu funktionieren. Geben Sie mir eine Minute und ich poste die vollständigen Befehle zum Einrichten.
Vollständige Befehlsausgabe:
$> sudo -i
#> mkdir -p /home/parent/{childone,childtwo}
#> groupadd testftp
#> useradd -d /home/parent -M -G testftp parent
#> useradd -d /home/parent/childone -M childone
#> useradd -d /home/parent/childtwo -M childtwo
#> chmod -R 771 /home/parent/
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
Scheint bei mir zu funktionieren!