用户是操作者在系统中的身份标识,组是用户的集合。组可以对用户进行分类,进而便于权限管理。
id命令
id命令可以查看用户的id信息。
命令 | 含义 |
---|---|
id -u | 显示用户的id |
id -g | 显示用户的组id |
id -G | 显示用户的所有组id(主组+附加组) |
su命令
su
命令执行用户身份的切换。
命令 | 含义 |
---|---|
su 用户名 | 只切换用户身份,不切换用户环境 |
su - 用户名 | 切换用户身份及用户环境 |
注意:
- 每次
su
切换到其他用户时,执行logout
退出后可返回原用户。 - 执行高级用户切换到低级用户时不需要密码,低级用户切换到高级用户或平级用户的切换需要密码。
- 若忘记用户密码,可切换到
root
用户直接修改密码,命令为passwd 用户名
。
用户权限
添加用户useradd
命令 | 含义 |
---|---|
useradd - l | 指定用户的名称 |
useradd - u | 指定用户id |
useradd - g | 指定用户的组 |
useradd - G | 指定用户的附加组 |
useradd - c | 指定用户的描述信息 |
useradd - d | 指定用户的家目录 |
useradd - s | 指定用户的默认shell |
修改用户usermod
命令 | 含义 |
---|---|
usermod - l | 修改用户的名称 |
usermod -u | 修改用户id |
usermod -g | 修改用户的组id(待修改组id必须已存在) |
usermod -G | 修改用户的附加组 |
usermod -aG | 增加用户的附加组 |
usermod -c | 修改用户的描述信息 |
usermod -d | 将用户的主目录修改为字符串,目录地址不变 |
usermod -md | 将用户的主目录和目录地址修改为字符串 |
usermod -s | 修改用户的默认shell |
cat /etc/shells
显示系统中的shell种类
注意:执行usermod -d "字符串" 用户名
命令时,若修改后的字符串若与目录地址的名称不一致,用户无法登陆。
删除用户userdel
userdel 用户
passwd命令
1.普通用户可以执行的命令:
命令 | 含义 |
---|---|
passwd | 修改自己的密码 |
2.超级用户可以执行的命令:
命令 | 含义 |
---|---|
passwd 用户 | 修改别的用户的密码 |
passwd -S 用户 | 显示密码状态 |
passwd -l 用户 | 锁定用户 |
passwd -u 用户 | 解锁用户 |
passwd -d 用户 | 删除用户 |
passwd -e 用户 | 强制用户修改密码 |
passwd -n 2 用户 | 设置最短保持时间 |
passwd -x 40 用户 | 设置最长保持时间 |
passwd -w 3 用户 | 设置警告时间 |
passwd -i 10 | 设置用户活跃天数,超过时间不使用自动注销用户 |
权限变更
普通用户没有增删改别的用户的权限。超级用户可以给一般用户授权增加用户、修改用删除用户等的权限。
-
在Shell执行
visudo
命令打开权限变更文件:
可以看到,该文件的描述为:允许特殊用户执行一些只有root
可以执行的命令。 -
在Shell中执行
:100
命令找到以下描述:
-
仿照该授权方式为普通用户zj授权使用
useradd
的命令:
-
zj用户执行
useradd
命令:
注意:普通用户被授权超级用户才可以使用的命令时,需要在命令前增加sudo
。 -
通过
home
目录查看普通用户,新用户确实已经添加。
-
由于zj添加新用户时需要输入密码,可以在编辑
sudo
时输入NOPASSWD:
取消输入zj密码的命令。
-
然后再次执行
useradd
命令:
用户在登陆状态下的强制注销
命令gnome-session-quit --force
运行结果:
可以看到虚拟机重新回到登陆界面,说明用户已被强制注销。
查看文件/目录的权限
命令 | 含义 |
---|---|
ls -l file | 查看文件file的信息 |
ls -l dir | 查看目录dir中的文件或目录信息 |
ls -ld dir | 查看目录dir的信息 |
ls -lR dir | 递归显示目录dir的信息 |
ll file | 查看文件file的信息 |
ll dir | 查看目录dir中的文件或目录信息 |
ll -d dir | 查看目录dir的信息 |
eg: ls -l file
和ll file
(这两个命令等价)
eg: ls -l dir
和ll dir
(这两个命令等价)
eg: ls -ld dir
和ll -d dir
(这两个命令等价)
eg:ls -lR dir
以上属性中字段的解释:
字段号 | 含义 |
---|---|
1 | 类型 |
2 | 分别对于uer,group,other的权限 |
3 | 安全上下文 |
4 | 文件:硬链接个数 目录:子目录个数 |
5 | 文件/目录的所有者 |
6 | 文件/目录的所在组 |
7 | 文件:大小 目录:子文件/子目录元数据的大小 |
8 | 最后修改时间 |
9 | 文件/目录名称 |
类型的分类:
符号 | 含义 |
---|---|
- | 文件 |
d | 目录 |
l | 软连接 |
b | 块设备(U盘) |
c | 字符设备(/dev/pts) |
s | 套接字 |
p | 管道 |
eg: 查看字符设备
硬链接和软链接:
硬链接表示文件实际存在的个数,若要删除,必须删除硬链接的次数才能彻底将文件删除;
软链接:相当于快捷键。
改变文件的权限
命令 | 含义 |
---|---|
chown 用户名 文件 | 将文件的所有者改为用户名 |
chgrp 组名 目录 | 将文件的所在组改为组名 |
chown -R 用户名 文件 | 将文件的所有者改为用户名 |
chgrp -R 组名 目录 | 将文件的所在组改为组名 |
chown 用户名:组名 文件/目录 | 将文件/目录的所有者改为用户名,所在组改为组名 |