sftp専用のユーザーを作成するにはどうすればよいですか?


15

adduserツールを介してシステムにユーザーを追加しました。次に、で/etc/passwd、私は変更しようとした/bin/bash/sbin/nologinかを/dev/null、どちらも働いたこれらの。

ユーザーに対話型シェルを取得するオプションがなく、単にを使用したいのsftpですが。方法はありますか?

以前にここで質問されたことは知っていますが、満足のいく応答をした人はいないようです。


「運がない」とはどういう意味ですか?
パウェウブロダッキ

リモートscp / sftpが機能しなかったことを意味します。私はイアンによって示唆されているようにSCPONLYシェルを使用してそれを解決
トニ・ロサ

回答:


9

シェルを変更するために使用するコマンドは chshです。nologinシェルは/sbin/nologinorにすることができます/usr/sbin/nologin(探して確認してください/etc/shells)が、/bin/falseおそらくより良い選択でしょう。

chsh -s /bin/false user

あなたが望むことを正確に行うscponlyのようなものをセットアップすることを検討すべきです。


ご回答有難うございます。/ etc / shell内のシェルを試してみましたが、運が悪かった... / bin / falseは「接続が失われました」、/ sbin / nologinは「このアカウントは現在利用できません」を返します。私はこのSCPONLYしようとします
トニ・ロサ

scponlyシェルを使用して解決しました!乾杯
トニ・ローザ

3
この答えは、干し草の中の針です!確認/bin/false/bin/nologinて、実際に利用可能です/etc/shells
16

@Afriファイン、しかし...あなたが本当に読みたいと思うでしょうserverfault.com/questions/328395/...を。これはかなり強く禁忌です。
Reinderien

@Afrは入れないnologin/etc/shellsserverfault.com/a/328424
RobAu

9

また、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


+1調査のためにこれをリストに追加しました。
user9517

1
私はそれを使用しましたが、うまく動作します-また、シェルでchroot環境にログインする選択肢をユーザーに与えることができますが、その場合は最小限のライブラリといくつかの他のユーティリティを期待どおりにコピーする必要があります。Jailkit(olivier.sessink.nl/jailkit)はそのために役立ちます。
エドゥアルドイヴァネック

ありがとう、ForceCommandはヒントでした。chrootは必要ありませんが、サービスアカウントでSFTPにログインしたいです。
-AnrDaemon


1

ユーザーを追加し-s /bin/falseてシェルを無効にすることもできますが、実際に設定する必要があるのはchrootされたsftpアカウントです。これにより、ユーザーは自分のディレクトリに「投獄」され、chrootディレクトリ以外のファイルやディレクトリにアクセスしたり変更したりできなくなります。


答えてくれてありがとう、でもうまくいかないようだ。シェル/ bin / falseを使用してユーザーを試行するたびに、「接続の切断」が発生します。
トニローザ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.