Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式。赋于某个用户或组 能够以何种方式 访问某个文件(图片文件,视频文件,普通文件)的权限。Linux 文件的 UGO 权限把对文件的访问者划分为三个类别:文件的所有者(user)、组(group)和其他人(other)。
1.属主(user)
2.属组(group)
3.其他人(other)
4.所有人(all=u+g+o)
1.读操作(read=r=4)
2.写操作(write=w=2)
3.执行操作(execute=x=1)
输入命令 [root@localhost tmp]# ll
查看文件详细信息
r 读操作权限
w写操作权限
x执行操作权限
输入命令
chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录
输入命令
[root@localhost tmp]# chmod u+x file1.txt
为file1 的属主root 添加 执行操作权限。
也可写作
[root@localhost tmp]# chmod 744 file1.txt (7=4+2+1)
发现文件权限改变 并且 文件改变颜色为绿色 变为可执行的文件
现在为文件1 编写一个简单的 程序
编写程序
echo "欢迎来到我的博客"
read -p "请输入我的名字" name
echo "谢谢来看我的博客 $name说 : 宁真是个帅哥 "
~
此程序执行成功 添加执行权限成功!
在测试一下 将执行权限去掉 (6=7-1)
再次试着执行 得到结果
由于更改了属主和属组 ,就相当于将这个文件的操作权交给了新的属主和属组。
输入命令
[root@localhost tmp]# chown user01 file1.txt
输入命令
[root@localhost tmp]# chown .jishuzu file1.txt
同时改变属主和属组
想要同时改变文件file2 的属组和属主
输入命令
[root@localhost tmp]# chown user02.houqinzu file2.txt
输入命令
[root@localhost /]# chown -R user05.hr /tmp/dir1
ACL(access control list )访问控制列表 。也是授权操作,是对UGO授权的补充,是权限设置的扩展概念,可以针对文件或目录,从而设置更多用户的不同权限。可以理解为UGO只能一个用户,一个组和其他人,而ACL是设置不同用户,不同的基本权限(r、w、x)对象的数量不同
输入命令
[root@localhost /]# setfacl -m u:user1:rwx /tmp/file1.txt
为用户user1设置可读可写可执行权限 为user2设置只读权限
输入命令
[root@localhost /]# getfacl /tmp/file1.txt
查看特殊权限,得到如下结果
切换到user2 测试 是否结果正确
user2 没有w权限 测试成功!
删除ACL
让我们打开具体查看
输入命令
[root@localhost tmp]# setfacl -x u:user1: file1.txt
输入命令
[root@localhost tmp]# setfacl -b file1.txt
测试成功!