V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MrLonely
V2EX  ›  问与答

没有在/etc/passwd 里的用户如何修改默认 shell?

  •  
  •   MrLonely · 2020-10-28 00:22:43 +08:00 · 1476 次点击
    这是一个创建于 1486 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我上搜了一圈几乎所有的修改方法不管是 chsh 还是 usermod,其实最终都是改到 /etc/passwd 里了。但是我这个用户又没有在 /etc/passwd 里。学校的 Linux 机器不知道用的什么方案,反正是每个学生的 home directory 放在一个 nfs 上,哪个学生登陆再去挂载。默认是 bash,我想改成 zsh,常见的方法都改不了,还有什么方法可以改吗?

    当然,sudo 权限是不可能有的。

    7 条回复    2020-10-29 16:13:24 +08:00
    ysc3839
        1
    ysc3839  
       2020-10-28 00:28:13 +08:00
    改 bash profile,启动一下 zsh 。
    mxalbert1996
        2
    mxalbert1996  
       2020-10-28 00:40:04 +08:00 via Android
    是 LDAP ?没有管理权限的话可以用个讨巧点的方法,在 ssh 的 config 里加上:
    RemoteCommand /path/to/sh
    RequestTTY yes
    billlee
        3
    billlee  
       2020-10-28 01:19:58 +08:00
    ~/.bash_profile 里写 exec -l zsh
    vk42
        4
    vk42  
       2020-10-28 01:34:44 +08:00
    关键看你们学校用的什么验证系统,chsh 应该也是支持 ldap 和 kerberos 这些常见的验证系统的。不过个人建议用上面的方法从 profile 脚本切 shell,毕竟 zsh 很多服务器不是默认装的,遇到没装的就傻眼了……
    march1993
        5
    march1993  
       2020-10-28 07:50:52 +08:00 via iPhone
    TUM,用的 ldap,可以在 portal 上修改 shell 。但是好像没给学生开放这个权限,只能 bash 。
    CEBBCAT
        6
    CEBBCAT  
       2020-10-28 10:35:17 +08:00
    虽然知道答案,但搜到这个问答还是颇费了一番功夫,好菜……

    https://unix.stackexchange.com/questions/136423/making-zsh-default-shell-without-root-access
    MrLonely
        7
    MrLonely  
    OP
       2020-10-29 16:13:24 +08:00
    后来发现给学校 Lab 发个工单就可以了。谢谢几位老哥的解答。这些方案留着以后再学习。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4452 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:04 · PVG 12:04 · LAX 20:04 · JFK 23:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.