ubuntu Server 14.04でサーバーを実行しています。 sftp経由で接続し、1つのファイルをダウンロードして接続を終了できるユーザーを作成したい。ユーザーは他に何もできないはずです。システムファイルまたは設定、コマンドラインエントリの閲覧、なし。ログインし、ファイルをダウンロードします、gg。ファイルが更新されたら、ログインしてダウンロードします、gg。ファイルは毎回同じディレクトリにあり、毎回同じ名前ですが、更新されます。
編集:私はあなたのソリューションを実装しようとしていますが、いくつかの問題が見つかりました:私の設定のsshの設定ファイルに「allow groups sshdusers」という行があります。 sftp_usersを追加しました。しかし、先には別の問題があります。 rootは「ubuntu」がダウンロードするファイルをsshしてディレクトリに書き込むことができないため、sudo chown root.root/ubuntu /は最適ではありません(user1と呼びます。user1に書き込みを許可します)ディレクトリとubuntuを読み取り専用にします。Sudochown user1.user1/ubuntu /を変更して、ユーザーubuntuでsftpしようとすると、接続に失敗します。ルートのままにしておくと、接続できますが、現在のディレクトリでは、filezillaで/とempyのみが表示され、user1をsftp_usersに追加しましたが、まだ成功していません。
どうもありがとう
始めましょう
ユーザーを作成ubuntu
Sudo useradd ubuntu
パスワードを作る
Sudo passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
SFTP専用グループ用に作成
xxx@xxx:~$ Sudo groupadd sftp_users
SFTP専用グループのユーザー「ubuntu」に追加する
xxx@xxx:~$ Sudo usermod -G sftp_users ubuntu
sftp
アクセス用にディレクトリを作成します
Sudo mkdir /ubuntu
所有者を変更する、読み取り/書き込み許可があるため
Sudo chown root.root /ubuntu/
許可を追加
Sudo chmod 755 /ubuntu/
編集/etc/ssh/sshd_config
Sudo nano /etc/ssh/sshd_config
コメントアウトして、以下のような行を追加します
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
最後に追加
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /ubuntu
ForceCommand internal-sftp
ssh
サービスを再起動します
Sudo service ssh restart
この構成では、フォルダーubuntu
にsshしてファイルを取得できます。 put
またはdelete
はできません
やってみて。
編集1
正しいフォルダーでsftpするには、/etc/passwd
を編集します。ユーザーubuntu
の行を次のように変更します
Sudo nano /etc/passwd
ubuntu:x:1001:1001::/ubuntu:
これにより、ユーザーのubuntuホームフォルダがsftpサーバーフォルダに変更されます。
root
アカウントを有効にすることはお勧めできません。
user1
を使用してサーバーにSSH接続できます。
user1
にユーザーsudoer group
を追加すると、フォルダー/ubuntu/
に書き込み、適切な権限を設定できます。
Sudo adduser user1 Sudo
フォルダを作成し、ubuntuフォルダに書き込みます。アクションの後、ユーザーubuntu
の許可を設定する必要があります。最も簡単な方法は、許可を755に設定することです
Sudo chmod 755 -R /ubuntu/
-R-オプションは、ユーザーubuntu
のすべてのファイルとディレクトリの読み取り許可を与えます。