在 IBM aix os 中将 shell 更改为 /usr/bin/false

在 IBM aix os 中将 shell 更改为 /usr/bin/false

/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

相关内容