这是一篇面向 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
如果不提供后面的用户名,表示修改当前正在操作的用户密码。