😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍
最近经常使用root用户去操作一些文件,导致普通用户无法访问,所以就开始改文件权限和文件所属组,感觉这一块的知识点还是有必要掌握,记在脑子里之后这样就不用另外查阅资料啦。
在Linux系统中可以配置多个用户、多个用户组,也可以将用户加入多个用户组中。
当在命令行输入ls -l
时,可以看到下图展示的内容,接下来我们一一讲解。
权限控制信息
咱们先来聊聊权限控制,权限控制信息这一列总共有10个槽位,例如 drwxr-xr-x
,
创建用户
格式:useradd [-g -d ]用户名
参数 -g 表示指定用户的组,如果不指定-g,则会创建用户组并自动加入,-g后面的用户组需要已经存在的。
参数 -d 表示指定用户home路径,如果不指定,则默认是在/home/用户名
useradd zeng1
useradd zeng2 -g TestGroup -d /home/zeng
删除用户
格式:userdel [-r] 用户名
参数 -r 表示删除用户的HOME目录,不使用-r,删除用户时,HOME 目录保留
userdel -r zeng1
查看用户所属组
id 用户名
如果id
后面没有加用户名,则表示查看自身
修改用户所属组
usermod -aG 用户组 用户名
:将指定用户加入指定的用户组。
查看当前系统中有哪些用户
getent passwd
在上图展示的信息分别为 用户名:密码(x):用户名ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash),enmmm,这一块就先简单了解下吧。
切换用户——su命令
su命令来源于Switch User
su zeng1
需要注意以下几点:
(1)切换用户后,可以通过
exit
命令退回上一个用户,也可以使用快捷键ctrl + d
(2)使用普通用户,切换到其它用户需要输入密码
,如切换到root用户。
(3)使用root 用户切换到其它用户,无需密码,即可直接切换。
命令授权 ——sudo
sudo 命令
在其它命令之前,带上sudo,即可为这一条命令临时赋予root
权限。
创建用户组
groupadd 用户组名
groupadd TestGroup
删除用户组
groupdel 用户组名
groupdel TestGroup
查看系统全部组信息
getent group
使用命令chown
chown zeng1 Project
,将所属组修改为zeng1,具体操作如下图所示:chown :TestGroup Project
: 将Project 所属用户组修改为TestGroupchown root:test hello.txt 将hello.txt 所属用户修改为root,用户组修改为test
chown -R root test 将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
chmod u=rwx,g=rx,o=x hello.txt
更改文件权限
chmod -R u=rwx,g=rx,o=x hello
,更改文件夹权限
注意:-R 对文件夹内的全部内容应用同样规则。
权限 | 描述 | 案例 |
---|---|---|
0 | 表示无任何权限 | — |
1 | 仅有x权限 | –x |
2 | 仅有w权限 | -w- |
3 | 有w和x权限 | -wx |
4 | 仅有r权限 | r– |
5 | 有r和x权限 | r-x |
6 | 有r和w权限 | rw- |
7 | 有rwx权限 | rwx |
chmod 515 hello.txt
chmod 326 hello.txt
在工作中经常使用的命令是chmod和chown
,所以这一块要熟知下。
德拉克罗瓦曾说过:无论哪一行,都需要职业的技能。天才总应该伴随着那种导向一个目标的有头脑的不间断的练习,没有这一点,甚至连最幸运的才能,也会无影无踪地消失。