用户是 Linux 系统工作中重要的一环,用户管理包括用户与组账号的管理。
在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
Linux 系统中的 root 账号通常用于系统的维护和管理,它对 Linux 操作系统的所有部分具有不受限制的访问权限。
在 Linux 安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
在大多数版本的 Linux 中,都不推荐直接使用 root 账号登录系统。
1、whoami:查看当前用户
whoami 命令用于查看当前系统当前账号的用户名。可通过 cat /etc/passwd 查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以 su 命令切换到 root 身份对系统进行管理。这时候就可以使用 whoami 来查看当前用户的身份。
2、who:查看登录用户
who 命令用于查看当前所有登录系统的用户信息。
who -q:显示用户的登录账号和登录用户的数量
3、w:查看登录用户
w 命令也可以查看登录当前系统的用户信息。与 who 命令相比,w 命令的功能更强大,它不但可以显示当前有哪些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据。
如果 w 命令携带用户名,则只显示指定用户的信息,否则显示当前所有登录用户的信息。
1)、w -h:只显示运行who命令的用户名、登录终端和登录时间
2)、w -s:使用短列表,不显示用户登录时间、JCPU 和 PCPU 时间
3)、w -u:忽略执行程序的名称,以及该程序的PCPU时间
4、exit:退出用户登录
如果是图形界面,退出当前终端;
如果是切换后的登陆用户,退出返回到上一个登陆账号。
如果是使用 ssh 远程登录,退出登陆账户;
5、passwd:设置用户密码
在 Linux 中,超级用户(root)可以使用 passwd 命令为普通用户设置或修改用户密码。
普通用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
普通用户也可以使用 passwd 命令为超级用户(root)设置密码。
1)、新安装的 ubuntu 系统,从默认登录的普通用户切换到 root 用户,就需要先用 passwd 命令为 root 用户设置密码:
2)、超级用户(root)为普通用户设置密码:passwd 用户名
3)、普通用户(或超级用户)为自己设置密码:passwd(不用带用户名)
注意:通过超级用户(root)为普通用户设置密码的时候,设置 1 位密码都可以;
但是普通用户为自己设置密码的时候,应该是有密码长度限制的。
6、su:切换用户
可以通过 su 命令切换用户,su 后面可以加 “-”。su 和 su – 命令不同之处在于,su - 切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录。
1)、su root:普通用户切换到 root 用户,输入 root 用户登录密码(需要提前使用 passwd 命令设置 root 用户登录密码);
2)、su - root:也是切换到 root 用户,但是会将当前的工作目录自动切换到 root 的主目录;
3)、su chen:root 用户切换到普通用户,不需要输入密码;
注意:如果在某些操作需要管理员才能操作,ubuntu 无需切换到 root 用户也可操作,只需加 “sudo” 即可。
sudo 是 ubuntu 平台下允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具,减少了 root 用户的登陆和管理时间,提高了安全性。
7、groupadd:添加组账号
8、groupdel:删除组账号
9、usermod:修改用户所在的组
9、useradd:添加用户账号
在 Linux 中添加用户账号可以使用 adduser 或 useradd 命令,因为 adduser 命令是指向 useradd 命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd 命令的使用格式如下:useradd [参数] 新建用户账号
参数 | 含义 |
-d <dirname> | 指定用户登录系统时的主目录,如果不使用该参数,系统自动在 /home 目录下建立与用户名同名目录为主目录 |
-m | 自动建立目录 |
-g | 指定组名称 |
相关说明:
Linux 每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
每一个用户必须有一个主目录,所以用 useradd 创建用户的时候,一定给用户指定一个主目录;
用户的主目录一般要放到根目录的 home 目录下,用户的主目录和用户名是相同的;
如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
1)、useradd -d /home/abc abc -m:创建 abc 用户,如果 /home/abc 目录不存在,就自动创建这个目录,同时用户属于 abc 组(不指定组账号的时候,默认情况下组账号 和 用户账号一样);
2)、useradd -d /home/a a -g test -m:创建一个用户名字叫 aa,主目录在 /home/aa,如果主目录不存在,就自动创建主目录,同时指定用户属于 test 组;
3)、查看用户名:
10、userdel:删除用户
命令 | 含义 |
userdel abc(用户名) | 删除 abc 用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) | 删除用户,同时删除用户的主目录 |
11、chmod:修改文件权限
chmod 修改文件权限有两种使用格式:字母法 与 数字法。
1)、字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
u | user:表示该文件的所有者 |
g | group:表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other:表示其他以外的人 |
a | all:表示这三者皆是 |
[ +-= ] | 含义 |
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
rwx | 含义 |
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
a)、chmod u+x test.zip:表示为 文件属主(u) 添加(+) 可执行权限(x)
b)、chmod g-r test.zip:表示为 文件数组(g) 减去(-) 可读权限(r)
c)、chmod a=x test.zip:表示为 文件的属主、属组、其他用户(a) 设定(=) 可执行权限(x)
注意:为文件设定权限的时候,文件的权限就会只保留设定的权限,其他权限全部消失。
2)、数字法:“rwx” 这些权限也可以用数字来代替
r | 读取权限,数字代号为 "4" |
w | 写入权限,数字代号为 "2" |
x | 执行权限,数字代号为 "1" |
- | 不具任何权限,数字代号为 "0" |
chmod 751 test.zip:修改 test.zip 的权限为 751;
即修改文件属主的权限为 7,7=4+2+1,就是可读、可写、可执行;
修改文件属主的权限为 5,5=4+1,就是可读、可执行;
修改其他用户的权限为 1,就是可执行;
12、chown:修改文件属主
使用方法:chown 用户名 文件或目录名
13、chgup:修改文件数组
使用方法:chgrp 用户组名 文件或目录名