今回は、rssh の設定に入ります。
rssh の設定はやや複雑です。
まずは、設定ファイルの修正から。
# vi /usr/local/etc/rssh.conf
■ 提供する機能の選定
使いたい機能からコメントアウトを外します。
・rssh.conf
allowscp allowsftp #allowcvs #allowrdist #allowrsync
今回はSCPとSFTPを使う。
■ umaskの設定
・rssh.conf
umask = 022
アップロード後のパーミッション。
通常は 022で問題ありません。
■ chrootpathの設定
ここで指定したパスは、SCP/SFTPで接続された時のルートディレクトリとなります。
クライアントはこのディレクトリより上層へ移動できません。
・rssh.conf
chrootpath = /usr/local/chroot
パスにスペースが含まれる場合はクォートで囲みます。
・rssh.conf
chrootpath = "/usr/local/my chroot"
chrootpath では、すべてのユーザーで共通で使われる設定です。
ユーザーごとにchrootディレクトリや提供コマンドを変えたい場合は、次のような行を追加します。
・rssh.conf
user=hoge:022:00011:/home/webusers/hoge user=hogehoge:022:00011:/home/webusers/hogehoge
フォーマット: user=username:umask:access bit:chrootpath
1ユーザーにつき1行追加します。
アクセスビットは5個の 0/1 で、1 はコマンドが許可され、0 は許可されないことを意味します。
左から、rsync, rdist, cvs, sftp, scp の順です。
設定ファイルの修正は以上です。
rssh.confの詳細は、man rssh.conf をご参照ください。
■ ログインシェルの変更/設定
そして適用するユーザーのログインシェルを rssh 設定する必要があります。
rsshは、サーバーデーモンとしてではなくログインシェルとして動作しますので、対象のユーザーのログインシェルを /usr/local/bin/rssh に変更する必要があります。
その前に rssh を利用可能なログインシェルとしてOSに登録します。
# echo "/usr/local/bin/rssh" >> /etc/shells
*)CentOS/Fedora/RH/*BSD でも同じです。
新しくユーザーを追加する場合は adduser に -s オプションでログインシェルを指定します。
# adduser -s /usr/local/bin/rssh hoge
(ユーザー追加コマンドはプラットフォーム毎に異なります)
既存のユーザーに適用する場合は chsh を使います。
# chsh -s /usr/local/bin/rssh hoge
次回は chroot 必要なファイルを用意します。