zzxworld

Linux 用户账号操作指南

Linux 用户账号操作指南

这是一篇面向 Linux 新手的概括性总结,帮助其快速了解并入手用户账号方面的命令操作。从创建用户开始,到用户删除,涵盖了 Linux 用户操作的主要场景。

创建用户

在 Linux 上创建一个新用户通常用 useradd 命令。比如要创建一个名为 zzxworld 的新用户,密码设置为 123456

sudo useradd -m -p $(echo 123456 | openssl passwd -1 -stdin) zzxworld

上面命令使用了两个命令选项:

  • -m 意思是创建 /home/zzxworld 用户主目录。
  • -p 用来设置密码,后面的 $(echo 123456 | openssl passwd -1 -stdin) 是选项值,用来把 123456 生成混淆的加密字符串,并传递给 useradd 命令使用。

另外一个可以用来创建用户的命令是 adduser

sudo adduser zzxworld

执行以上命令后,会以如下交互方式流程来创建新用户:

正在添加用户"zzxworld"...
正在添加新组"zzxworld" (1000)...
正在添加新用户"zzxworld" (1000) 到组"zzxworld"...
创建主目录"/home/zzxworld"...
正在从"/etc/skel"复制文件...
新的 密码:
重新输入新的 密码:
passwd:已成功更新密码
正在改变 zzxworld 的用户信息
请输入新值,或直接敲回车键以使用默认值
        全名 []: 
        房间号码 []: 
        工作电话 []: 
        家庭电话 []: 
        其它 []: 
这些信息是否正确? [Y/n] y

查看用户

通过 whoami 命令可以查看当前正在使用的用户名:

zzxworld@debian:~$ whoami
zzxworld

使用 id 命令可以看的更详细:

zzxworld@debian:~$ id
用户id=1000(zzxworld) 组id=1000(zzxworld) 组=1000(zzxworld),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),997(docker)

使用 who 命令可以查看当前电脑上登陆了哪些用户:

zzxworld@debian:~$ who
zzxworld pts/0        2022-10-02 08:31 (10.0.2.2)

如果要查看系统中所有的用户名,可以通过查看 /etc/passwd 文件来达到目的:

cat /etc/passwd

切换用户

切换当前用户使用 su 命令,比如我从 zzxworld 用户切换到 tom

zzxworld@debian:~$ su tom
密码:
tom@debian:/home/zzxworld$

从上面最后一行的命令提示符可以看出,当前操作的用户名已经发生了改变。如果要退出当前切换的用户,使用 exit 命令即可。

删除用户

删除用户使用 userdel 命令:

sudo userdel zzxworld

上面的命令默认不会删除用户主目录下的文件和数据,如果要在删除用户账号的同时也删除这些数据,可以加上 -r 选项:

sudo userdel -r zzxworld

修改用户密码

修改用户密码使用 passwd 命令:

sudo passwd zzxworld

如果不提供后面的用户名,表示修改当前正在操作的用户密码。