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


8

Ubuntu Server 14.04でサーバーを実行しています。sftp経由で接続し、1つのファイルをダウンロードして接続を終了できるユーザーを作成したいと考えています。ユーザーが他のことを行うことはできません。システムファイルや設定、コマンドラインエントリを参照しても、何も起こりません。ログインして、ファイルggをダウンロードします。ファイルが更新されたら、ログインしてダウンロードします(gg)。ファイルは毎回同じディレクトリにあり、毎回同じ名前ですが更新されます。

編集:私はあなたの解決策を実装しようとしていますが、いくつかの問題を見つけました:私の設定のsshの設定ファイルに、「allow groups sshdusers」という行があります。sftp_usersを追加しました。しかし、先には別の問題があります。sudo chown root.root / ubuntu /は私にとって最適ではありません。rootはsshを実行できず、「ubuntu」がダウンロードする必要のあるファイルをディレクトリに書き込むことができないためです(これをuser1と呼びます。user1に書き込みを許可します)ディレクトリとubuntuを読み取り専用に変更します。sudochown user1.user1 / ubuntu /を変更し、ユーザーubuntuでsftpを実行しようとすると、接続が失敗します。ルートのままにすると、接続できますが、表示されません。現在のディレクトリ私は/のみを表示し、filezillaでempyを表示します。user1をsftp_usersに追加しても、まだ成功しません。

どうもありがとう

回答:


11

はじめましょう

ユーザーを作成 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

この構成では、SSHでフォルダーに移動ubuntuしてファイルを取得できます。できないputdelete

お試しください。

編集1

正しいフォルダでsftpするにはedit /etc/passwd。ユーザーの行をubuntuこのように変更します

sudo nano /etc/passwd

 ubuntu:x:1001:1001::/ubuntu:

これにより、ユーザーubuntuホームフォルダーがsftpサーバーフォルダーに変更されます。

rootアカウントを有効にすることはお勧めできません。

sshを使用してサーバーにアクセスできますuser1

ユーザーを追加する場合user1にはsudoer group、フォルダに書き込むことができます/ubuntu/し、適切なアクセス権を設定します

sudo adduser user1 sudo

フォルダを作成し、ubuntuフォルダに書き込みます。アクションの後、ユーザーに権限を設定する必要がありますubuntu。最も簡単な方法は、再度許可を755に設定することです

sudo chmod 755 -R /ubuntu/

-R-オプションは、ユーザーにすべてのファイルとディレクトリの読み取り許可を与えます ubuntu


ありがとうございます。コメントは非常にタイトなので、詳細は私の編集を参照してください。
BlueStarry

1
あなたは私の答えに編集1を持っています。
2707974

うまくいきませんでした。filezilla sftpを使用すると、user1もubuntuもフォルダーに書き込むことができません。sftpを介してubuntuでログインすると、最後の変更にもかかわらず/フォルダーが表示されます。複数回試しましたが、問題を理解できません。
BlueStarry

また、所有者はrootであり、sudoersは755のフォルダに書き込むことができないため、755はこの目的には適していないと思います
BlueStarry

でもバック2015年に、私はUbuntuは使用していたと確信しているadduseraddgroup、いうよりuseraddgroupaddなどsudo chown root.root /ubuntu/だけで間違っています。を使用してディレクトリを作成したsudoため、所有権はすでにrootです。それを使用する必要がありますubuntu.sftp_users。最後に、によって所有されているものとして最初に作成した場合ubuntu、「rootユーザーを有効にしています ...」からのすべては不要です。
Auspex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.