文件访问权限的相关方法

文件访问权限的相关设置方法

chmod 功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod命令权限值的格式
① 用户表示符+/-=权限字符
  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:  

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt
②三位 8 进制数字:
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt
# chmod 777 /home/abc.txt
# chmod 665 /home/abc.txt

chown

功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名
# chown user f1
# chown -R user filegroup1

chgrp

功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -R 递归修改文件或目录的所属组

目录的权限

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

这里存在一个问题,就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。

[yuan@VM_0_12_centos ~]$ mkdir fortest 
[yuan@VM_0_12_centos ~]$ sudo chown root:root fortest 
[yuan@VM_0_12_centos ~]$ ll 
drwxrwxrwt  2 root root 4096 Sep  9 18:18 fortest 
[yuan@VM_0_12_centos ~]$ chmod 0777 fortest 
[yuan@VM_0_12_centos ~]$ ls -ld fortest/ 
drwxrwxrwt 2 root root 4096 Sep  9 18:18 fortest/ 

[yuan@VM_0_12_centos ~]$ cd fortest/ 
[yuan@VM_0_12_centos fortest]$ touch test.c 
[yuan@VM_0_12_centos fortest]$ ll 
total 0 

-rw-rw-r-- 1 yuan yuan 0 Sep  9 18:20 test.c 
[yuan@VM_0_12_centos fortest]$ sudo touch test_root.c 
[yuan@VM_0_12_centos fortest]$ ll 
total 0 

-rw-rw-r-- 1 yuan  yuan  0 Sep  9 18:20 test.c       //普通用户的
-rw-r--r-- 1 root root 0 Sep  9 18:20 test_root.c  //超级用户的
[yuan@VM_0_12_centos fortest]$ whoami 
yuan 
[yuan@VM_0_12_centos fortest]$ rm test_root.c       //普通用户删除root的文件
rm: remove write-protected regular empty file ‘test_root.c’? y 
[yuan@VM_0_12_centos fortest]$ ls                   //删除成功
test.c 

为了解决这个不科学的问题, Linux引入了粘滞位的概念,这个之后再说。

总结

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
  • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
  • 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值