2014年2月10日月曜日

wwwユーザーsftp許可

wwwの公開ディレクトリを操作するためにwwwのログインを許可し、sftpのみを許可するように設定した。

sshを許可
# usermod -s /bin/bash www

rsa鍵作成(クライアントで)

$ ssh-keygen -t rsa

公開鍵登録
http://centossrv.com/teraterm-public.shtml
公開鍵セットアップ※管理者ユーザ以外
を参考に

sshd設定変更。sftp許可設定。
# vim /etc/ssh/sshd_config
(変更)
Subsystem       sftp    internal-sftp

(追加)
Match User www
       ChrootDirectory /var/www
       ForceCommand internal-sftp

sshd再起動
#service sshd restart


 その前は
Connection to xxx.com closed by remote host.
Connection to xxx.com closed.
となっている。この場合はsshでのログインを制限しているからこれで正しい挙動だと考えられる。

 そこでsftpクライアントでログインしてもうまくいかない。

 クライアントからログインしたものの
Write failed: Broken pipe
が多発。

 結局出来なかったので管理者ユーザーで操作することにした。
 具体的にはwwwのルートディレクトリの所有者を管理者ユーザーにした。
# chown -R 管理者ユーザー:管理者ユーザー /var/www

 忘れずにwwwユーザーのsshのログインを禁止
# usermod -s /bin/nologin www

参考

0 件のコメント:

コメントを投稿