You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04中JupyterHub创建的用户未显示在登录列表的解决咨询

解决Ubuntu 22.04中JupyterHub创建的系统用户不显示在登录列表的问题

一、修复现有不显示的用户

Ubuntu登录列表默认只显示UID≥1000、使用可登录shell(如/bin/bash)且拥有有效主目录的用户。按以下步骤修复:

  1. 修改用户登录shell
    执行命令将用户的shell从默认的/sbin/nologin改为可登录的bash:

    sudo usermod -s /bin/bash mlops_user1
    sudo usermod -s /bin/bash mlops_user2
    

    替换命令中的用户名到你实际的用户。

  2. 检查并调整用户UID
    先查看用户当前UID:

    id -u mlops_user1
    

    如果UID小于1000,修改为未被占用的≥1000的UID(例如1005,先通过cat /etc/passwd | cut -d: -f3确认已用UID):

    sudo usermod -u 1005 mlops_user1
    # 同步主目录权限
    sudo chown -R mlops_user1:mlops_user1 /home/mlops_user1
    
  3. 确保主目录存在且权限正确
    如果用户主目录不存在,创建并设置权限:

    sudo mkdir /home/mlops_user1
    sudo chown mlops_user1:mlops_user1 /home/mlops_user1
    sudo chmod 700 /home/mlops_user1
    
  4. 刷新登录管理器缓存
    根据你使用的登录管理器重启服务:

    • GDM(Ubuntu默认):
      sudo systemctl restart gdm3
      
    • LightDM:
      sudo systemctl restart lightdm
      

二、避免后续创建用户出现同类问题

修改JupyterHub配置文件(通常为jupyterhub_config.py),添加以下配置,强制创建符合Ubuntu登录列表要求的用户:

c.LocalAuthenticator.create_system_users = True
# 指定创建用户时使用可登录的bash shell,同时保持无密码(适配JupyterHub认证)
c.LocalAuthenticator.add_user_cmd = ['adduser', '--disabled-password', '--gecos', '""', '--shell', '/bin/bash']
# 设置用户UID起始值为1000(匹配Ubuntu普通用户默认范围)
c.LocalAuthenticator.user_kwargs = {'uid_start': 1000}

配置完成后重启JupyterHub服务:

sudo systemctl restart jupyterhub

后续通过JupyterHub创建的用户会自动满足登录列表显示的条件。

内容的提问来源于stack exchange,提问作者Rich KS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:27:18