将程序设置为我的登录shell

时间:2012-01-30 02:12:58

标签: c shell unix login

我可以设置一个我编写为登录​​shell的小程序吗?而不是像bash一样的常规登录shell?我尝试谷歌搜索,但找不到任何有用的信息。任何指针都很受欢迎。

2 个答案:

答案 0 :(得分:4)

chsh -s /usr/bin/foo someuser

或使用vipw修改/etc/passwd(只是不要直接编辑)。

答案 1 :(得分:3)

是的,您可以使用命令chsh(更改shell)或手动编辑/etc/passwd文件来更改登录shell可执行文件(该行的最后一个值是登录shell)。

不鼓励手动编辑/ etc / password文件,因为1)它需要root权限2)用户群可能不是本地的,但是使用NIS,LDAP等分发,因此这不起作用3)chsh应该工作在分布式用户群的情况下也是如此。

由于问题涉及unices,Solaris没有此命令,并且您可以模仿此行为的唯一方法(没有可以使用passwd -e的root访问权限)是通过执行{{1文件。

另外,请记住,.profile中必须存在自定义shell二进制文件,否则它将无效。