GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich einen Benutzer nur für sftp erstellen?

Lösung 1:

Der Befehl, den Sie verwenden sollten, um die Shell zu ändern, ist chsh . Die Nologin-Shell kann /sbin/nologin sein oder /usr/sbin/nologin (überprüfen Sie, welche Sie haben, indem Sie in /etc/shells nachsehen ), aber /bin/false wäre wahrscheinlich die bessere Wahl.

chsh -s /bin/false user

Sie sollten erwägen, so etwas wie scponly einzurichten die genau das tun, was Sie wollen.

Lösung 2:

Sie sollten dies auch mit OpenSSH 4.9 und höher tun können, mit dem Sie den Benutzer für erhöhte Sicherheit zusätzlich chrooten können.

In Ihrem /etc/ssh/sshd_config :

Match User user
ChrootDirectory /home/user
ForceCommand internal-sftp
AllowTcpForwarding no

Führen Sie dann Folgendes aus:

chsh -s /bin/false user
chown root:root /home/user
mkdir /home/user/uploads
chown user /home/user/uploads

Der Benutzer kann nur in /home/user/uploads schreiben.

https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory

Lösung 3:

Ich denke, der beste Weg ist mit mysecureshell

http://mysecureshell.sourceforge.net/en/index.html

Sie können einen Benutzer damit einfach chrooten und bei Bedarf sogar die Bandbreite begrenzen.


Linux
  1. So erstellen Sie einen Linux-Benutzer mit Ansible

  2. Centos – Wie erstelle ich einen Sftp-Benutzer in Centos?

  3. So erstellen Sie einen Sudo-Benutzer in Rocky Linux 8

  4. CentOS / RHEL:So richten Sie SFTP für Chroot Jail nur für bestimmte Gruppen ein

  5. Wie erstelle ich eine Crontab über ein Skript

So erstellen Sie einen Postgres-Benutzer

So verwenden Sie den Benutzer-Manager in cPanel. Kann ich einen separaten cPanel-Benutzer erstellen?

So erstellen Sie einen Nur-SFTP-Benutzer in Debian 11

So erstellen Sie einen SFTP-Benutzer für einen Webserver Document Root

Wie füge ich eine neue Domain nur für E-Mails hinzu?

Wie kann ich eine neue MySQL-Datenbank in cPanel erstellen?