Linux系统中新建用户名后,如何通过命令行正确登录该用户?

在Linux系统中,新建用户并完成登录是基础且重要的操作,涉及用户创建、权限配置及登录方式等多个环节,以下是详细步骤和注意事项,帮助顺利完成用户登录流程。

linux如何登陆新建用户名

创建新用户

Linux中创建用户主要通过useraddadduser命令实现,两者功能相似但存在差异:useradd是底层命令,参数丰富,适合脚本化操作;adduser是交互式前端工具,默认会创建主目录、设置基本配置,更适合手动操作,以useradd为例,常用参数如下:

参数 作用 示例
-m 自动创建用户主目录(默认位于/home/用户名 useradd -m testuser
-s 指定用户登录shell(如/bin/bash/bin/sh useradd -m -s /bin/bash testuser
-g 指定主用户组(需提前存在) useradd -m -g users testuser
-G 指定附加用户组(多个组用逗号分隔) useradd -m -G sudo,docker testuser
-c 添加用户注释(如真实姓名) useradd -m -c "Test User" testuser

操作示例
创建一个名为testuser的用户,自动创建主目录,使用/bin/bash作为shell,并加入sudo组(需提前确认sudo组存在,可通过cat /etc/group | grep sudo查看):

sudo useradd -m -s /bin/bash -G sudo testuser

设置用户密码

新建用户默认无密码或密码为空,无法直接登录,需通过passwd命令设置密码,执行时会要求输入两次密码(屏幕不显示),且密码需满足系统复杂度要求(如长度、字符类型)。

操作示例
testuser设置密码:

linux如何登陆新建用户名

sudo passwd testuser

根据提示输入密码后,可通过last testuser查看用户最近登录记录,或cat /etc/shadow验证密码是否加密存储(密码字段为表示锁定,非则已设置)。

用户组与权限配置

Linux通过用户组管理权限,新用户默认创建同名主组(如testuser属于testuser组),若需加入其他组(如sudo管理员组、docker技术组),可通过usermod命令修改:

# 将用户加入附加组(多个组用逗号分隔)
sudo usermod -aG sudo,docker testuser
# 从组中移除用户
sudo gpasswd -d testuser sudo

若需赋予管理员权限,确保用户属于sudo组(sudo组用户可通过sudo command执行特权命令)。

登录新用户

命令行登录(适用于服务器或无界面环境)

  • 切换用户:登录后可通过susu -切换至新用户。

    linux如何登陆新建用户名

    • su testuser:仅切换用户身份,环境变量保持原用户(不推荐,可能导致权限问题)。
    • su - testuser:完全切换用户,加载新用户的配置文件(如.bashrc),推荐使用。
  • 直接登录:若通过物理终端或SSH登录,在登录界面输入用户名和密码即可。

图形界面登录(适用于桌面版Linux)

  • 登录界面操作:在登录窗口点击用户列表(或手动输入用户名),输入密码后即可进入桌面。
  • 用户列表管理:部分发行版(如Ubuntu)可通过Users图形工具(gnome-control-center users)添加用户,勾选“Administrator”赋予sudo权限。

常见问题排查

  • 提示“Authentication failure”:检查密码是否正确,或确认用户是否已设置密码(passwd -S testuser查看密码状态)。
  • 提示“Directory /home/testuser does not exist”:创建用户时未加-m参数,需手动创建目录并设置权限:
    sudo mkdir -p /home/testuser
    sudo chown testuser:testuser /home/testuser
    sudo chmod 700 /home/testuser
  • 无法使用sudo:确认用户是否属于sudo组(groups testuser),或检查/etc/sudoers文件(sudo visudo编辑)中是否有相关配置。

相关问答FAQs

Q1:创建用户后忘记密码,如何重置?
A1:以root用户或具有sudo权限的用户登录,执行sudo passwd testuser,按提示输入新密码即可重置,若root用户也无法登录,需通过单用户模式或Live CD修复系统。

Q2:如何禁止用户通过SSH登录?
A2:编辑/etc/ssh/sshd_config文件,找到AllowUsersDenyUsers指令,添加或修改为DenyUsers testuser,保存后重启SSH服务(sudo systemctl restart sshd),也可通过usermod -s /sbin/nologin testuser禁用命令行登录(保留其他登录方式)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/35979.html

(0)
酷番叔酷番叔
上一篇 2025年10月4日 21:31
下一篇 2025年10月4日 21:45

相关推荐

  • 如何用Linux复制命令让效率翻倍?

    核心命令:cp(复制文件/目录)基本语法:cp [选项] 源文件 目标路径常用选项:选项作用示例-r递归复制目录(必需)cp -r dir1/ dir2/-i覆盖前提示确认(防误删)cp -i file.txt backup/-v显示复制详情(可视化过程)cp -v *.jpg /photos/-u仅复制更新的……

    2025年7月25日
    14400
  • Linux中如何通过命令修改文件名?

    在Linux系统中,修改文件名是日常操作中常见的需求,无论是单个文件的重命名、批量文件名的格式调整,还是基于特定规则的文件名替换,都可以通过命令行工具高效完成,本文将详细介绍Linux环境下修改文件名的核心命令、使用方法及实用技巧,帮助用户灵活应对各种文件名管理场景,基础重命名命令:mvmv(move)是Lin……

    2025年9月24日
    10400
  • Linux无法读写U盘?,Linux U盘识别失败怎么办?,Linux挂载U盘权限错误?

    检测U盘是否被识别物理连接插入U盘后,观察指示灯(如有),系统通常发出提示音(需启用声音提示),终端检测打开终端(Ctrl+Alt+T),执行命令:lsblk # 列出所有块设备(含U盘)dmesg | tail # 查看内核日志末尾的U盘识别记录输出示例: sdb 8:16 1 14.9G 0 disk└─s……

    2025年7月29日
    10700
  • linux中如何ping

    Linux中的ping命令是网络诊断中最基础也是最常用的工具之一,主要用于测试本地主机与目标主机之间的网络连通性,并通过发送ICMP(Internet Control Message Protocol,互联网控制报文协议)回显请求报文,获取目标主机的响应时间、丢包率等关键网络参数,下面将从基本用法、常用参数、实……

    2025年9月23日
    12800
  • Linux下Java开发全流程如何实现?

    在Linux环境下进行Java开发,利用其稳定性和Java跨平台优势,涵盖环境搭建、代码编写、调试测试到最终部署的全流程,适用于企业级应用。

    2025年7月4日
    15900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信