Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

ユーザーからの ssh アクセスをブロックし、 sftp と su アクセスができるようにする

Solution Verified - Updated -

Environment

  • Red Hat Enteprise Linux 6

Issue

以下のアクセス権限だけをユーザーに付与するにはどうすれば良いですか?

  • ssh からログインできるようにする

  • 別のユーザーでログインし、su コマンドを実行してそのユーザーに切り替えることができるようにする (つまり、シェルを持つ)

  • sftp からログインできるようにする

Resolution

/etc/ssh/sshd_config ファイルの設定を以下のように変更して、sshd サービスを再起動します。

Subsystem       sftp    internal-sftp
Match User user_name
        ForceCommand internal-sftp

Root Cause

Red Hat Enteprise Linux 6 に同梱される openssh パッケージで利用できる Match ディレクティブを使用して、sftp アクセスだけを付与するユーザーおよびグループに internal-sftp を割り当てることができます。passwd ファイルにはシェルが定義されているため、su は有効です。

Red Hat Enteprise Linux 5 以前のバージョンに同梱される Openssh パッケージでは Match ディレクティブはサポートされないため、上述の要件は、openssh サーバーの 2 つのインスタンスを実行するたけで実現できます。

Diagnostic Steps

# sftp user_name@localhost
Connecting to localhost...
user_name@localhost's password: 
sftp> quit



# ssh user_name@localhost
user_name@localhost's password: 

Connection to localhost closed.



# su - user_name
$ whoami 
user_name
  • Component
  • nss

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments