adduser
ツールを介してシステムにユーザーを追加しました。次に、で/etc/passwd
、私は変更しようとした/bin/bash
の/sbin/nologin
かを/dev/null
、どちらも働いたこれらの。
ユーザーに対話型シェルを取得するオプションがなく、単にを使用したいのsftp
ですが。方法はありますか?
以前にここで質問されたことは知っていますが、満足のいく応答をした人はいないようです。
adduser
ツールを介してシステムにユーザーを追加しました。次に、で/etc/passwd
、私は変更しようとした/bin/bash
の/sbin/nologin
かを/dev/null
、どちらも働いたこれらの。
ユーザーに対話型シェルを取得するオプションがなく、単にを使用したいのsftp
ですが。方法はありますか?
以前にここで質問されたことは知っていますが、満足のいく応答をした人はいないようです。
回答:
シェルを変更するために使用するコマンドは chshです。nologinシェルは/sbin/nologin
orにすることができます/usr/sbin/nologin
(探して確認してください/etc/shells
)が、/bin/false
おそらくより良い選択でしょう。
chsh -s /bin/false user
あなたが望むことを正確に行うscponlyのようなものをセットアップすることを検討すべきです。
/bin/false
し/bin/nologin
て、実際に利用可能です/etc/shells
!
また、OpenSSH 4.9以降でそれを行うことができるはずです。これにより、セキュリティを強化するためにユーザーをさらにchrootできます。
あなたの/etc/ssh/sshd_config
:
Match User user
ChrootDirectory /home/user
ForceCommand internal-sftp
AllowTcpForwarding no
次に実行します:
chsh -s /bin/false user
chown root:root /home/user
mkdir /home/user/uploads
chown user /home/user/uploads
ユーザーは/ home / user / uploadsにのみ書き込みできます。
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
最善の方法はmysecureshellを使用することだと思います
http://mysecureshell.sourceforge.net/en/index.html
これでユーザーを簡単にchrootでき、必要に応じて帯域幅を制限することもできます。