web-dev-qa-db-ja.com

SFTPユーザーはファイルを編集または作成できません

サーバー:Ubuntu 12.04 LTS

私はopenSSHを使用しており、グループbobに属するsftponlyという名前のSFTPユーザーを作成しました。私はbobを彼のホームディレクトリである/usr/share/nginx/www/bob/にchrootしました。

bobはサーバーにSFTPで接続でき、ビューはホームディレクトリですが、ディレクトリ内のファイルを編集することはできません。 chown -R bob /usr/share/nginx/www/bob/*を実行して、bobをファイルの所有者にしましたが、まだ編集できません。

なぜこれでしょうか?

5
George Reith

Sftponlyグループメンバーを適切にchrootするには、次のオプションを/etc/ssh/sshd_configで設定する必要があります。


Subsystem       sftp    internal-sftp
Match Group sftponly
        ChrootDirectory /srv/chroot/%u
        ForceCommand internal-sftp

Chrootされたユーザーのホームディレクトリ、およびシステムのルートまでのディレクトリは、root:rootに属している必要があります。

ユーザーに次の値を指定します。


$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin

次のようなディレクトリ構造が必要です。


$ tree /srv/chroot
/srv/chroot
├── user001
│   └── input

User001のHOMEディレクトリはchroot呼び出しの後に評価されるため、書き込み権限が有効なinputディレクトリに移動します。


$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input
6
dawud