• rssh完全インストール – SCP/SFTPをchrootしよう!part.2 基本設定

    << | 1 | 2 | 3 | 4 | >>

    今回は、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 必要なファイルを用意します。

    << | 1 | 2 | 3 | 4 | >>