/usr/bin/false
我将会话启动时为用户运行的程序定义为/etc/passwd
。默认值参数是/usr/bin/ksh
。
当我尝试使用命令修改它时:
bash-5.1# usermod -s /usr/bin/false test1
Check "/etc/security/login.cfg" file.
Error changing "shell" to "/usr/bin/false" : Value is invalid.
bash-5.1# chuser shell="/bin/false" test1
Check "/etc/security/login.cfg" file.
Error changing "shell" to "/bin/false" : Value is invalid.
bash-5.1# chsh test1 /usr/bin/false
Error setting shell for "test1" to "/usr/bin/false" : Value is invalid.
因此,所有命令都出现相同的错误。IBM AIX 7.2 不支持吗/usr/bin/false
?
当我检查可用选项时,我得到了以下信息:
bash-5.1# chsh test1
Current available shells:
/bin/sh
/bin/bsh
/bin/csh
/bin/ksh
/bin/tsh
/bin/ksh93
/usr/bin/sh
/usr/bin/bsh
/usr/bin/csh
/usr/bin/ksh
/usr/bin/tsh
/usr/bin/ksh93
/usr/bin/rksh
/usr/bin/rksh93
/usr/sbin/sliplogin
/usr/sbin/uucp/uucico
/usr/sbin/snappd
test1's current login shell:
/usr/bin/ksh
Change (yes) or (no)? > no
有任何想法请告知,谢谢。
答案1
可用的 shell 列在 中/etc/shells
。您很可能只需要在那里添加/usr/bin/false
。
答案2
login.cfg
我发现登录 shell 属性在位于 的文件中定义/etc/security/login.cfg
。该命令利用此属性chsh
来确定用户可用的 shell 选项。该值是一个逗号分隔的完整路径名列表。默认值包括 /usr/bin/sh、/usr/bin/bsh、/usr/bin/csh、/usr/bin/ksh 或 /usr/bin/tsh。
如需了解更多详细信息,我发现这些文章非常有帮助且解释性强。它们涵盖了您需要了解的所有内容。” https://www.ibm.com/docs/en/aix/7.1?topic=files-logincfg-file https://www.ibm.com/docs/en/aix/7.2?topic=c-chsh-command