0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

goofys で sftp ユーザの chroot を s3 バケット配下のディレクトリにできなかった備忘

Last updated at Posted at 2019-07-10

goofys でマウントした s3bucket

#df -h
Filesystem        Size  Used Avail Use% Mounted on
[bucket name]  1.0P     0  1.0P   0% /data/s3bucket

goofys でマウントした s3bucket と
sftp ユーザが接続直後にアクセスするディレクトリ

# pwd
/data

# tree
.
|-- chroot ← sftp ログインユーザ用のオーナーにしたシンボリックリンクを用意
|   `-- SFTP_USER -> /data/s3bucket/SFTP_USER
`-- s3bucket ← goofys で s3Bucket をマウントする先
    `-- SFTP_USER

# ls -la chroot/
lrwxrwxrwx 1 SFTP_USER SFTP_USER 24 Jul 10 10:44 SFTP_USER -> /data/s3bucket/SFTP_USER

SFTP のユーザと chroot 先の設定

# cat /etc/ssh/sshd_config
〜省略〜
AllowUsers SFTP_USER
〜省略〜
Match Group supplier
  ChrootDirectory /data/chroot/%u
〜省略〜

sftp 鍵認証用に Linux ユーザ home 配下 .ssh/authorized_keys へ公開鍵を追加

ローカルから SFTP サーバへ接続

# sftp -oIdentityFile=~/.ssh/[id_rsa秘密鍵] [SFTP_USER]@[SFTPサーバ]
packet_write_wait: Connection to [SFTPサーバ] port 22: Broken pipe
Connection closed

このときの sftp サーバの message と secure ログ

# tail -f /var/log/messages
systemd: Created slice User Slice of [SFTP_USER].
systemd: Starting User Slice of [SFTP_USER].
systemd-logind: New session 18 of user [SFTP_USER].
systemd: Started Session 18 of user [SFTP_USER].
systemd: Starting Session 18 of user [SFTP_USER].
systemd-logind: Removed session 18.
systemd: Removed slice User Slice of [SFTP_USER].
systemd: Stopping User Slice of [SFTP_USER].

# tail -f /var/log/secure
Accepted publickey for [SFTP_USER] from [SFTP SERVER] port <省略> ssh2: RSA <省略>
pam_unix(sshd:session): session opened for user [SFTP_USER] by (uid=0)
fatal: bad ownership or modes for chroot directory "/data/chroot/[SFTP_USER]" [postauth]
pam_unix(sshd:session): session closed for user [SFTP_USER]

bad ownership or modes for chroot directory

シンボリックリンクの権限では sftp を騙せないんですね。。。

その後わかったこと

Cent os 6 では uid gid ともに 500 番台から 7 では 1000 番台から。
そのため s3fs でも 7 では usermod grpmod で id を 6 に合わせる必要がある。

sftp の chroot 先は root:root の 755 の必要あり。

これが制限となり共通グループがあっても 775 ではないため、書き込みと削除が出来ない。
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?