web-dev-qa-db-ja.com

非常に制限された権限を持つSFTP(SSH)ユーザーを作成する方法

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に追加しましたが、まだ成功していません。

どうもありがとう

8
BlueStarry

始めましょう

ユーザーを作成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のすべてのファイルとディレクトリの読み取り許可を与えます。

11
2707974