Linux文件权限管理

目录文件权限chmod

格式:
chmod  [-R]    u=rwx,g=r-x,o=---      绝对路径
其中-R表示递归修改目录和目录下的任何文件的对应权限
r为读,w为写,x为执行,-为无权限

1.修改权限的方法:符号法

chmod u(所属者) g(所属组) o(其他人) +,-,=  绝对路径
[root@loaclhost ~]# chmod u+r+w+x,g+r-w+x,o+r-w+x /dir 
#递归修改dir以及dir以下的权限(所属者没有了执行的权限,其他人增加了写的权限)
[root@loaclhost ~]# chmod u-x,o+w /dir  -R

2.修改权限的方法:数字法

其中r的值为4,w的值为2,x的值为1
#递归修改dir以及dir以下的权限(所属者,所属组,其他人全部为最高权限)
[root@loaclhost ~]# chmod  777   /dir  -R

普通文件的权限

格式:
chmod   u=rwx,g=r-x,o=---      绝对路径
其中-R表示递归修改目录和目录下的任何文件的对应权限
r为读,w为写,x为执行,-为无权限

1.修改权限的方法:符号法

chmod u(所属者) g(所属组) o(其他人) +,-,=  绝对路径
[root@loaclhost ~]# chmod u+r+w+x,g+r-w+x,o+r-w+x /dir/file1 
#修改file1文件的权限(所属者没有了执行的权限,其他人增加了写的权限)
[root@loaclhost ~]# chmod u-x,o+w /dir/file1  

2.修改权限的方法:数字法

其中r的值为4,w的值为2,x的值为1
#修改file1文件的权限(所属者,所属组,其他人全部为最高权限)
[root@loaclhost ~]# chmod  777   /dir/file1

修改文件的所属者和所属组chown

格式:
chown  [-R]   [所属者]:[所属组]    文件路径
其中:-R表示递归修改文件的所属者和所属组
#递归修改文件的所属者
[root@loaclhost ~]# chown root /dir -R
#单单修改文件的所属者
[root@loaclhost ~]# chown root /dir
#递归修改文件的所属组
[root@loaclhost ~]# chown  :redhat  /dir  -R
#递归修改文件的所属者和所属组
[root@loaclhost ~]# chown root:root /dir -R
#dir文件之下的所有文件权限都是777(无递归)
[root@loaclhost ~]# chmod  777  /dir/*

总结

1.普通用户要拥有修改文件权限的能力所要满足的条件:该文件的所属者属于该用户
2.哪个用户创建的文件,该文件的所属者就是那个用户
3.如果某用户在某个文件的所属组中,则该用户可以拥有该所属组的权限

在这里插入图片描述

facl----访问控制列表

1.当文件的所属者,所属组,其他人的位置不够给某个用户设置权限的时候,这时就可以设置acl

#查看dir文件acl属性信息(权限,文件名,所属者,所属组)
[root@loaclhost ~]# getfacl  /dir
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

#设置file1文件的acl,允许redhat用户的权限为r-x
[root@loaclhost ~]# setfacl -m u:redhat:r-x /dir/file1
[root@loaclhost ~]# getfacl  /dir/file1
# file: dir/file1
# owner: root
# group: root
user::rwx
user:redhat:r-x
group::r-x
mask::r-x
other::r--


#删除文件中的acl单个用户
[root@loaclhost ~]# setfacl -x u:redhat /dir/file1

#删除文件中的acl所有用户
[root@loaclhost ~]# setfacl -b  /dir/file1

特殊权限

1.suid(u+s)
给程序文件u+s之后,所有用户执行该程序的时候,程序运行后就变成了进程,该进程的所属者是程序文件的所属者

[root@loaclhost ~]# ll /etc/shadow
----------. 1 root root 1241  729 18:27 /etc/shadow
[root@loaclhost ~]# su -l redhat
[redhat@loaclhost ~]$ less /etc/shadow
/etc/shadow: 权限不够
[redhat@loaclhost ~]$ su -l root
密码:
#给程序文件特殊权限
[root@loaclhost ~]# chmod u+s /usr/bin/less
[root@loaclhost ~]# ll /usr/bin/less
-rwsr-xr-x. 1 root root 203632  419  2022 /usr/bin/less
[root@loaclhost ~]# su -l redhat
[redhat@loaclhost ~]$ less /etc/shadow
[redhat@loaclhost ~]$ su -l root
密码:
#去除特殊权限
[root@loaclhost ~]# chmod u-s /usr/bin/less
[root@loaclhost ~]# su -l redhat
[redhat@loaclhost ~]$ ll /usr/bin/less
-rwxr-xr-x. 1 root root 203632  419  2022 /usr/bin/less
[redhat@loaclhost ~]$ less /etc/shadow
/etc/shadow: 权限不够

2.sgid(g+s)
给目录g+s后,任何用户在该目录下创建的文件的所属组都是该目录的所属组

[root@loaclhost ~]# chown :redhat /dir
[root@loaclhost ~]# ll -d /dir
drwxr-xr-x.   2 root redhat   32  730 17:44 dir
#给文件设置特殊权限
[root@loaclhost ~]# chmod g+s /dir
[root@loaclhost ~]# touch /dir/file3
[root@loaclhost ~]# ll /dir
总用量 8
-rwxr-xr--. 1 root root   216  730 17:28 file1
-rwxr-xr--. 1 root root    12  730 17:44 file2
-rw-r--r--. 1 root redhat   0  730 20:07 file3
#去除特殊权限
[root@loaclhost ~]# chmod g-s /dir
[root@loaclhost ~]# touch /dir/file4
[root@loaclhost ~]# ll /dir
总用量 8
-rwxr-xr--. 1 root root   216  730 17:28 file1
-rwxr-xr--. 1 root root    12  730 17:44 file2
-rw-r--r--. 1 root redhat   0  730 20:07 file3
-rw-r--r--. 1 root root     0  730 20:28 file4
[root@loaclhost ~]#

3.sticky(o+t)
如果给目录o+t后,普通用户只能删除自己创建的文件,不能删除其他普通用户创建的文件


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^~^前行者~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值