Benutzer „abc“ für Gruppenverzeichnis „def“ anlegen und Kennwort setzen.
sudo groupadd def
sudo useradd abc -d /home/sftp/def -g def -s /bin/false
sudo passwd abc |
sudo groupadd def
sudo useradd abc -d /home/sftp/def -g def -s /bin/false
sudo passwd abc
Gruppenverzeichnis anlegen und passende Rechte setzen. Alle Elemente von ChrootDirectory müssen „root“ gehören und dürfen auch nur von „root“ beschreibbar sein. Im ChrootDirectory liegt das Arbeitsverzeichnis für die Benutzer.
mkdir -p /home/sftp/def
sudo namei -om /home/sftp/def
f: /home/sftp/def
dr-xr-xr-x root root /
drwxr-xr-x root root sftp
drwxrwxr-x abc def def |
mkdir -p /home/sftp/def
sudo namei -om /home/sftp/def
f: /home/sftp/def
dr-xr-xr-x root root /
drwxr-xr-x root root sftp
drwxrwxr-x abc def def
Datei „/etc/ssh/sshd_config“ editieren und SSHD mit „sudo systemctl restart sshd“ neustarten.
...
Subsystem sftp /usr/libexec/openssh/sftp-server
Match Group def
ChrootDirectory /home/sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp |
...
Subsystem sftp /usr/libexec/openssh/sftp-server
Match Group def
ChrootDirectory /home/sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
$ sudo sshd -t -f /etc/ssh/sshd_config
$ sudo systemctl restart sshd
# usermod -a admin -G def
# chown -R admin:def/home/sftp/def
# namei -om /home/sftp/def |
$ sudo sshd -t -f /etc/ssh/sshd_config
$ sudo systemctl restart sshd
# usermod -a admin -G def
# chown -R admin:def/home/sftp/def
# namei -om /home/sftp/def