ユーザーがいてtest
、このユーザーのログイン シェルとして bash スクリプトを提供したいと思っています。 CentOS 6 では、 コマンドを使用して簡単に実行できましたusermod -s /pathtomyscript.sh
。 しかし、 CentOS 7 ではこのようには実行できません。 スクリプトを にコピーし/usr/bin
て に追加しました/etc/shells
。 しかし、まだうまくいきません。 私のスクリプトは次のとおりです。
#!/bin/bash
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/bin:/bin
export PATH
whiptail --title "Example Dialog" --msgbox "You are logged in and now click ok to exit!" 8 78
を実行してログインすることはできますsu
が、コンソールにログインすると、 と表示されますno shell, permission denied
。次のように、ファイルにはすでに適切な権限を与えています。
-rwxr-xr-x. 1 test test 240 Jan 19 15:57 /usr/bin/testshell.sh
答え1
必要な場合は、スクリプトまたはプログラムをユーザーのログイン シェルとして動作させるには、そのフル パスを/etc/shells
ファイルに追加する必要があります。
パムシェルモジュールはこのファイル内のユーザー ログイン シェルをチェックします。