Benutzerverwaltung
SCP/SFTP User in einer Chroot ohne Shell Anmeldung
Falls noch nicht geschehen benötigt ihr eine Linux Gruppe. In diese werden die Benutzer mit aufgenommen, die SCP/SFTP ohne SSH Zugriff nutzen sollen.
groupadd sftp
Damit die Benutzer sich am SSH Daemon anmelden können und diese Session in einer CHROOT landen, passen wir als erstet die sshd_config an.
#/etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Danach den SSHD Dienst durchstarten. Unter Debian/Ubuntu wie folgt
systemctl restart sshd
Jetzt fehlt nur noch ein SCP/SFTP Benutzer. Den legt ihr wie folgt an.
mkdir -p /path/to/home/dir
useradd -d /path/to/home/dir -s /bin/false -G sftp sftptest
passwd sftptest
Das Homedirectory benötigt für diese Anforderung eine ungewöhnliche Berechtigung. Hier muss der User root Besitzer sein. Ansonsten funktioniert der Login nicht. Das hochladen einer Datei ist nur in einem unterordner möglich
chown root:root /home/sftptest/
chmod 0755 /home/sftptest/
mkdir /home/sftptest/uploads
chown sftptest:sftp /home/sftptest/uploads