我上搜了一圈几乎所有的修改方法不管是 chsh 还是 usermod,其实最终都是改到 /etc/passwd 里了。但是我这个用户又没有在 /etc/passwd 里。学校的 Linux 机器不知道用的什么方案,反正是每个学生的 home directory 放在一个 nfs 上,哪个学生登陆再去挂载。默认是 bash,我想改成 zsh,常见的方法都改不了,还有什么方法可以改吗?
当然,sudo 权限是不可能有的。
1
ysc3839 2020-10-28 00:28:13 +08:00
改 bash profile,启动一下 zsh 。
|
2
mxalbert1996 2020-10-28 00:40:04 +08:00 via Android
是 LDAP ?没有管理权限的话可以用个讨巧点的方法,在 ssh 的 config 里加上:
RemoteCommand /path/to/sh RequestTTY yes |
3
billlee 2020-10-28 01:19:58 +08:00
~/.bash_profile 里写 exec -l zsh
|
4
vk42 2020-10-28 01:34:44 +08:00
关键看你们学校用的什么验证系统,chsh 应该也是支持 ldap 和 kerberos 这些常见的验证系统的。不过个人建议用上面的方法从 profile 脚本切 shell,毕竟 zsh 很多服务器不是默认装的,遇到没装的就傻眼了……
|
5
march1993 2020-10-28 07:50:52 +08:00 via iPhone
TUM,用的 ldap,可以在 portal 上修改 shell 。但是好像没给学生开放这个权限,只能 bash 。
|
6
CEBBCAT 2020-10-28 10:35:17 +08:00
虽然知道答案,但搜到这个问答还是颇费了一番功夫,好菜……
https://unix.stackexchange.com/questions/136423/making-zsh-default-shell-without-root-access |
7
MrLonely OP 后来发现给学校 Lab 发个工单就可以了。谢谢几位老哥的解答。这些方案留着以后再学习。
|