用户是Linux系统工作中重要的一环,用户管理包括用户组与账号的管理。在Linux中不论是本机或值远程登陆系统,每个系统都必须拥有一个帐号,并且对于不同的系统资源拥有不同的使用权限。
1、查看当前用户:whoami
功能:查看当前系统当前账号的用户名,可以通过cat /etc/passwd查看系统用户信息
由于系统管理员通常需要使用多种身份登陆系统,例如使用普通用户身份登陆,使用su命令切换到root用户对系统进行管理,就可以使用whoami命令来进行当前用户身份的确认。
2、查看登陆用户:who
功能:用来查看当前所有登陆系统的用户信息
常用选项:
选项 | 含义 |
---|---|
-m或am | 只显示运行who命令的用户名、登陆终端和登陆时间 |
-q或--count | 只显示用户的登陆账号和登陆用户的数量 |
-u | 在登陆时间后显示该用户最后一次操作到当前的时间间隔 |
-u或--heading | 显示列标题 |
3、查看登陆用户:w
功能:查看登陆当前系统的用户以信息
与who命令相比,w命令的功能更强大,不仅可以显示但前有哪些用户登陆到系统,还还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据。
w命令格式:
w [选项] [用户名]
注:如果w命令携带用户名,则只显示指定用户的信息,否则显示当前所有登陆用户的信息
常用选项:
选项 | 含义 |
---|---|
-h | 只显示运行who命令的用户名、登陆终端和登陆时间 |
-l |
显示详细信息列表,此为预设值 |
-s | 使用短列表,不显示用户登陆时间、JCPU和PCPU时间 |
-u | 忽略执行程序的名称,以及该程序的PCPU时间 |
4、推出登陆帐户:exit
功能:若是图形界面,退出当前终端;若是使用ssh远程登陆退出登陆帐户;若是切换后的登陆用户以,退出则返回上一个登陆账号
5、切换用户以:su
功能:可以通过su命令切换用户,su后面可以加“-”
su和su - 命令的区别在于su - 切换到对应的用户时会将当前的工作目录自动转换为切换后的用户主目录
注意:如果操作系统为ubuntu,则需要在命令前加sudo,如果是某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作。sudo是ubuntu系统下允许系统管理员让普通用户执行一些或全部root命令的一个工具,减少root用户以的登陆和管理时间,提高了安全性。
命令 | 含义 |
---|---|
su |
切换到root用户 |
su - | 切换到root用户,同时切换到/root目录 |
su - root | 切换到root用户,同时切换到/root目录 |
su 普通用户 | 切换到普通用户 |
su -普通用户 | 切换到普通用户,并且切换到普通用户所在的目录 |
su root | 切换到root用户 |
6、添加删除组账号:groupadd、groupdel
新建组账号:groupadd
删除组账号:groupdel
cat /etc/group 查看用户组
7、修改用户所在组:usermod
使用方法:usermod -g 用户组 用户名
8、添加用户账号:useradd
在linux系统中添加用户账号可以使用adduser或者useradd命令,因为adduser命令是指向useradd命令的一个链接,因此这两个命令的格式完全一样
useradd使用格式:
useradd [参数] 新建用户账号
参数 | 含义 |
---|---|
-d |
指定用户登陆系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名同目录的主目录 |
-m | 自动建立目录 |
-g | 指定组名称 |
知识扩展:
Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户)
每一个用户都必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录
用户的主目录一般要放在根目录的home目录下,用户的主目录和用户名是相同的
如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的名称
命令 | 含义 |
---|---|
useradd -d /home/abc aaa -m | 创建aaa用户,如果/home/aaa目录不存在,就自动创建这个目录,同时用户属于aaa组 |
useradd -d /home/aaa aaa -g test -m | 创建一个用户名字为aaa,主目录在/home/aaa,如果主目录不存在,就自动创建主目录,同时用户属于test组 |
cta /etc/passwd | 查看系统当前用户名 |
9、设置用户密码:passwd
在linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令,用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名
10、删除用户:userdel
命令 | 含义 |
---|---|
userdel aaa(用户名) | 删除aaa用户,但不会自动删除用户的主目录 |
userdel -r aaa(用户名) | 删除用户,同时删除用户的主目录 |
11、查询用户登陆情况:list
不管是哪位用户从哪里登陆,管理员都可以通过list命令查出,以及是否有人非法登陆
12、修改文件权限:chmod
chmod修改文件权限有两种格式:字母法和数字法
字母法:chmod u/g/o/a +/-/= rwx 文件
[u/g/o/a] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组者,及用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[+-=] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
rwx | 含义 |
---|---|
r | read表示可读取,对于一个目录如果没有r权限便不能通过ls查看这个目录的内容 |
w | write表示可写入,对于一个目录如果没有w权限便不能在该文件下添加新文件 |
x | excute表示可执行,对于一个目录如果没有x权限便不能通过cd进入这个目录 |
数字法:“rwx”这些权限也可以用数字来代替
r | 读取权限,数字代号为4 |
w | 写入权限,数字代号为2 |
x | 执行权限,数字代号为1 |
- | 不具有任何权限,数字代号为0 |
命令chmod u=rwx,g=rx,o=r aaa等价于chmod u=7,g=5,0=4 aaa
chmod 751 aaa:
文件所有者:读写执行权限
同组用户:读执行权限
其他用户:执行权限
注意事项:如果想要递归所有目录加上相同的权限,需要加上参数“-R”
例:chmod 777 aaa/ -R 递归aaa目录下所有文件加777权限
13、修改文件所有者:chown
使用格式:chown 用户名 文件或目录名
14、修改文件所属组:ghgrp
使用格式:chgrp 用户组名 文件或目录名