在Linux操作系统中,有许多用于用户管理的命令。以下是一些常用的命令
# 1、whoami
显示当前登录的用户名。
$ whoami
将返回当前用户的名称。这个命令在所有Linux发行版中都可以使用。
例如,如果你是 root 用户,那么输出可能是这样的:
$ whoami
root
如果你是一个名为 "john" 的普通用户,那么输出可能是这样的:
$ whoami
john
# 2、id
在 Linux 系统中用于显示用户和组信息的命令
$ id [OPTION]... [USER]
将 [OPTION]
替换为你想使用的选项,将 [USER]
替换为你想查询的用户名。如果你没有指定用户名,那么 id
将显示当前用户的信息。
例如,如果你想查询当前用户的信息,你可以这样使用 id
命令
$ id
这将返回当前用户的 UID 和 GID。例如,输出可能是这样的:
$ id
uid=1000(john) gid=1000(john) groups=1000(john),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
如果你想查询特定用户的信息,你可以这样使用 id
命令
$ id john
uid=1001(john) gid=1001(john) groups=1001(john)
id
命令常用选项:
-u
选项可以显示用户的 UID-g
选项可以显示用户的 GID-G
选项可以显示用户的所有 GID-n
选项可以显示用户或组的名称,而不是数字
# 3、who
用于显示当前登录到当前主机的用户信息的命令
$ who
这将返回当前登录的用户的信息。例如,如果有两个用户 "john" 和 "doe" 同时登录到主机,那么输出可能是这样的:
$ who
john pts/0 2023-10-16 19:00
doe pts/1 2023-10-16 19:02
# 4、passwd
这个命令用于更改用户密码。你可以使用它来设置你自己的密码,或者如果你有权限的话,设置其他用户的密码。
$ passwd
New password:
如果你在passwd
后面添加用户名,你可以为其他用户设置密码。输入新密码两次,你就完成了。
如果你是 root 用户,那么输出可能是这样的:
$ passwd
Changing password for root.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
如果你是一个名为 "john" 的普通用户,那么输出可能是这样的:
$ passwd
Changing password for john.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
需要注意的是,passwd
命令只能更改当前用户的密码。如果你需要更改其他用户的密码,你需要使用 sudo
命令,例如 sudo passwd john
。这需要你有 sudo 权限。
# 5、su
这个命令用于切换用户。你可以使用它来切换到另一个用户。
$ su <username>
将<username>
替换为你想切换到的用户名。这将切换到指定的用户。
如果你想切换到名为 "john" 的用户,你可以这样使用 su
命令:
$ su john
这将提示你输入 "john" 用户的密码,然后你将切换到 "john" 用户。
如果你想切换到 root 用户,你可以直接使用 su
命令:
$ su
需要注意的是,su
命令只能切换到已经存在的用户。如果你想切换到不存在的用户,你需要先创建这个用户。
此外,su
命令还有一些选项可以用来改变其行为。例如,-l
或 --login
选项可以使环境变量更类似于用户直接登录时的环境,-c
或 --command
选项可以让你在不切换 shell 的情况下运行一个命令。例如,你可以这样使用 su
命令来在不切换 shell 的情况下运行一个命令:
$ su john -c "whoami"
这将返回 "john" 用户的名称,而不切换到 "john" 用户。
# 6、useradd
这个命令用于添加新用户。
$ sudo useradd <username>
将<username>
替换为你想添加的用户名。这将在系统中添加一个新用户。
例如,如果你想添加一个名为 "john" 的用户,你可以这样使用 useradd
命令:
$ sudo useradd john
useradd
命令选项:
-c
选项:添加用户的注释或描述-d
选项:指定用户的主目录-e
选项:设置用户账号的过期日期-f
选项:设置用户的失效天数-g
选项:指定用户的初始组-G
选项:指定用户的附加组-m
选项:创建用户的主目录-s
选项:指定用户的默认 shell-u
选项:指定用户的 UID
例如,你可以这样使用 useradd
命令来添加一个用户,并为其设置注释、主目录和默认 shell:
$ sudo useradd -c "This is a test user" -d /home/john -s /bin/bash john
上述命令的意思是:添加一个名为 "john" 的用户,注释是 "This is a test user",主目录是 "/home/john",默认 shell 是 "/bin/bash"。
需要注意的是,useradd
命令只能添加用户,而不能更改用户的信息。如果你需要更改用户的信息,你需要使用其他命令,例如 usermod
或 chsh
。
useradd
命令添加的用户默认没有密码,需要使用 passwd
命令为其设置密码。
# 7、userdel
这个命令用于删除用户
$ sudo userdel <username>
将<username>
替换为你想删除的用户名。这将从系统中删除指定的用户。
例如,如果你想删除名为 "john" 的用户,你可以这样使用 userdel
命令:
$ sudo userdel john
userdel
命令有一些选项:
-r
选项:删除用户的主目录和邮件队列-f
选项:强制删除用户,即使用户仍然登录
例如,你可以这样使用 userdel
命令来强制删除 "john" 用户:
$ sudo userdel -f john
这将强制从系统中删除 "john" 用户,即使 "john" 用户仍然登录。
或者,你可以这样使用 userdel
命令来删除 "john" 用户的主目录和邮件队列:
$ sudo userdel -r john
这将删除 "john" 用户的主目录和邮件队列,但不删除用户账户。
需要注意的是,userdel
命令只能删除已经存在的用户。如果你想删除不存在的用户,你需要先创建这个用户。此外,userdel
命令需要 sudo 权限,因为删除用户是一个具有危险性的操作。