Centosユーザーアカウントnologinがアカウントにsuすることが可能


12

私はCentOSを初めて使用します(CentOS 6を実行しています)。OpenSuseの使用経験があります。

ユーザーのアカウントをセットアップしようとしています。アカウントをsshまたはログイン画面からログインできないようにします。しかし、suコマンドを使用してユーザーにログインできるようにしたいのです。これにより、特定のアプリケーションをアクセスが制限されたユーザーとして実行できます。ユーザーはスーパーユーザーではないため、他のユーザーのアプリケーションに影響を与えることはできません。

どんな助けも大歓迎です。通常、これを使用してGlassfishサーバーなどを実行します。


それでは、OpenSuSEでどのようにそれを解決しましたか?
ニルス

回答:


15

centosでは、/ sbin / nologinを使用して、シェルのないユーザーでセットアップします。

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

そのようにする必要がある場合は、次のように-sパラメーターを使用して、選択したシェルを引数として指定します。

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

bashを使用する場合、最初に/ etc / profileから設定を読み取り、ユーザーのホームディレクトリに既存の.bash_profile、.bash_login、または.profileがない場合、デフォルトでそれらの設定になります。もちろん、ルートに存在する既存の環境設定を使用する場合は、ダッシュを削除するだけです。

出口 [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 

0

一般的な方法の1つは、ユーザーのシェルを /bin/false


/ bin / falseに設定しようとしましたが、centOS 6にはこのオプションがないようです。bin / nologinオプションはありますが、これによりユーザーアカウントにsuすることはできません。

試すsu -m username
unbeli

ユーザーを/ sbin / nologinに設定し、-mオプションを指定してsuを実行しようとすると、アカウントが現在利用できないことがわかります。また、シェルファイルに/ bin / falseを追加しようとしました。これを行うと、suコマンドは単にユーザーに切り替わりません。

OK、シェルファイルに/ bin / falseを追加しないでください。ユーザーのシェルを/ bin / falseに設定します。su -mを使用します。
unbeli

/ etc / shellsファイルから削除し、usermodコマンドを使用してユーザーのシェルを/ bin / falseに設定しました。su -m usernameを実行しようとすると、.bashrcへのアクセス許可がないことがわかります。ルートとしてログインしています。現在、su-ユーザー名を指定してもエラーは表示されませんが、ルートとして表示されます。Centosではこれは正常ですか?

0

通常、このような「技術的な」ユーザーの暗号化されたパスワードフィールドに「x」を入力します。そのため、ユーザーにはパスワードがありません。そのユーザーのauthorized_keysにも公開鍵がある場合、そのアカウントはかなり安全です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.