このユーザーは現在利用できませんが、このユーザーはスクリプトを実行できます。

このユーザーは現在利用できませんが、このユーザーはスクリプトを実行できます。

/etc/passwdに特別なユーザーを作成しました。

secure:x:2000:2000:secure:/bin:/usr/sbin/nologin

私はこのユーザーが(コンソール、SSH、FTPなどを介して)ログインすることを許可したくありません。

彼は次のようにスクリプトを実行します。

sudo su secure -c '/home/someuser/secure.script'

しかしそれは私にそれを与えたThis user is currently not available.。この方法でスクリプトを実行できますが、そのユーザーがシステムにログイン(コンソール、ssh、ftp...)しないようにするにはどうすればよいですか?


/usr/sbin/nologinコマンドラインに入力すると、コンピュータが応答することを確認しましたThis account is currently not available.

ベストアンサー1

これは一般的なユースケースですsudo

sudo他のユーザーでコマンドを実行できるようにし、高度に構成可能であり(どのユーザーがどのユーザーでどのコマンドを実行できるかを選択的に指定できます)、パスワードを知っている場合(またはrootの場合)、別のユーザーに切り替える機能su混ぜています。使用してもsu常に作成されたシェルを実行してください。と関連があるからです。/etc/passwdsu -csu/usr/sbin/nologin

使用する必要があります

sudo -u secure /home/someuser/secure.script

設定可能なので、sudoこのコマンドを使用できる人とコマンドを実行するためにパスワードを入力する必要があるかどうかを制御できます。これを行うには、/etc/sudoers編集を使用する必要があります。visudo(/ etc / sudoersを編集するときは注意し、常にvisudoを使用してください。構文は単純ではなく、誤ってルートアカウントにアクセスできなくなる可能性があります。)

sudoersの次の行を使用すると、グループ内の誰でもsomegroup次のコマンドを実行できますsecure

%somegroup    ALL=(secure) /home/someuser/secure.script

これにより、グループ内の誰もがsomegroupパスワードを入力しなくてもコマンドを実行できます。secure

%somegroup    ALL=(secure) NOPASSWD: /home/someuser/secure.script

これにより、パスワードを入力しなくてもuser1コマンドを実行できます。secure

user1    ALL=(secure) /home/someuser/secure.script

おすすめ記事