文件权限与归属管理

文件和目录的权限与归属

访问权限 ls -l命令可以查看指定文件或目录的权限。

arduino 复制代码
[root@localhost /]# ll opt          //ls -l 可以查看文件目录的属性
总用量 0
drwxr-xr-x. 2 root root 6 3月  26 2015 rh

权限格式:rwx rw- --x
r读:

  • 文件:可以看里面的内容。

  • 文件夹:可以用ls看文件夹中的文件列表。
    w 写入:

  • 文件:可以修改文件的内容。(必须要有读的权限才能对其更改)

  • 文件夹:新建文件(文件夹),删除文件(文件夹),移动文件(文件夹)。(在没有读权限下还是可以操作的)
    x 执行:

  • 文件:可以运行(命令、脚本)颜色是绿色。

  • 文件夹:执行是最小的权限,没有执行什么都做不了所以必须得有。

归属(所有权):

  1. 属组:拥有该文件或目录的组账号(文件的拥有组)
  2. 属主:拥有该文件或目录的用户账号(文件的主人,文件的拥有者,拥有最高权限)
  3. 其他人:除了上面两种

数字表示法:

读:100------4

写:010------2

执行:001------1

最高权限:111------7

将二进制转化成十进制

修改文件属性权限命令:chmod

chmod命令格式:chmod 【选项】 指明属主,属组,其他人+权限 文件

常用选项:

选项 功能
-R 递归
u 属主
g 属组
o 其他人
a 所有人
+ 加上
- 减去
= 赋予
  • chmod u+r 文件名(为属主加上读的权限)
  • chmod u-r 文件名(为属主减去读的权限)
  • chmod u+r 文件名(为属主)
  • chmod a+r 文件名(为所有人都加上读的权限)

演示:

csharp 复制代码
[root@localhost /]# ll zhutou                  //查看当前该文件的权限
-rw-r--r--. 1 root root 0 4月   7 13:53 zhutou
[root@localhost /]# chmod a+rwx zhutou        //给当前文件权限升级为777
[root@localhost /]# ll zhutou
-rwxrwxrwx. 1 root root 0 4月   7 13:53 zhutou

也可写成数字表示法,会较为方便一些

arduino 复制代码
[root@localhost /]# ll zhutou                   //查看当前该文件权限
-rw---x--x. 1 root root 0 4月   7 13:53 zhutou
[root@localhost /]# chmod 777 zhutou            //给所有人加上最高权限
[root@localhost /]# ll zhutou                   //查验
-rwxrwxrwx. 1 root root 0 4月   7 13:53 zhutou

设置文件和目录的归属chown、chgrp

设置文件属性的属主与属组

chown命令格式:

选项 功能
chown 属主 文件名 只改变文件的属主
chown :属组 文件名 只改变文件的属组
chown .属组 文件名 只改变文件的属组
chown 属主:属组 文件名 属主属组都改变
chown 属主.属组 文件名 属主属组都改变

常用选项:

-R:递归修改指定目录下所有文件、子目录的归属

演示:

chown既可以改变属主也可以改变属组

sql 复制代码
[root@localhost zhubao]# ll      //查看当前文件夹下所有文件的属性
总用量 4
-rw-r--r--. 1 root root 0 4月   8 15:04 1
-rw-r--r--. 1 root root 0 4月   8 15:04 2
-rw-r--r--. 1 root root 0 4月   8 15:04 3
-rw-r--r--. 1 root root 9 4月   8 15:05 hello

[root@localhost zhubao]# chown zhubao.zhubao 1  //将文件1的属主与属组改为zhubao
[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月   8 15:04 1
-rw-r--r--. 1 root   root   0 4月   8 15:04 2
-rw-r--r--. 1 root   root   0 4月   8 15:04 3
-rw-r--r--. 1 root   root   9 4月   8 15:05 hello
sql 复制代码
[root@localhost zhubao]# chown zhutou:zhutou 2 //换一种写法得出结果相仿

[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月   8 15:04 1
-rw-r--r--. 1 zhutou zhutou 0 4月   8 15:04 2
-rw-r--r--. 1 root   root   0 4月   8 15:04 3
-rw-r--r--. 1 root   root   9 4月   8 15:05 hallo
sql 复制代码
[root@localhost zhubao]# chown :guinv 3  //改变文件3的属组为guinv
[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月   8 15:04 1
-rw-r--r--. 1 zhutou zhutou 0 4月   8 15:04 2
-rw-r--r--. 1 root   guinv  0 4月   8 15:04 3
-rw-r--r--. 1 root   root   9 4月   8 15:05 hallo

权限掩码umask

设置新建文件夹或目录的默认权限

csharp 复制代码
[root@localhost /]# mkdir zhutou    //在系统中创建新文件夹默认权限为755
[root@localhost /]# ll -d zhutou
drwxr-xr-x. 2 root root 6 4月   8 15:37 zhutou
csharp 复制代码
[root@localhost zhutou]# touch 11   //在系统中默认创建文件权限为644
[root@localhost zhutou]# ll 11
-rw-r--r--. 1 root root 0 4月   8 15:40 11

umask作用:

  • 控制新建的文件或者目录的权限。
  • 默认权限去除umask的权限为新建的文件
  • 规定了新建文件和新建文件夹落地权限

777(最高权限)-022(umas设置权限)=755(新建文件的默认权限)

umask查看: umask

umask设置: umask 0022

  1. 文件夹:这里的0022,第一个0为特殊权限,可以忽略,剩下的022为默认777基础上没有的权限,所以文件夹默认权限为755(rwx r-x r-x)。

  2. 文件:出于安全性考虑新建文件的最高权限为666 ,执行权限对于文件而言相对是比较危险的,所以一开始文件是没有执行权限的(相当于文件的初始权限是在最高权限777-111开始的)所以便得出666-022=644(rw- r-- r--)

umask设置格式

umask后面跟上数值可以设置umask值(umask 0000)

演示:

1.将umask改为0000创建文件夹(权限拉满)

[root@localhost 复制代码
[root@localhost zhutou]# mkdir zhubao
[root@localhost zhutou]# ll -d zhubao
drwxrwxrwx. 2 root root 6 4月   8 16:04 zhubao

2.将umask改为0123 新建文件则变为666-123=644(-rw-r--r--)文件结果遇到奇数加一偶数不变。

[root@localhost 复制代码
[root@localhost zhutou]# touch 123
[root@localhost zhutou]# ll 123
-rw-r--r--. 1 root root 0 4月   8 16:07 123

这样的umask只起到一个临时效果如果想要永久改变默认的话需写到/etc/profile文件下

csharp 复制代码
[root@localhost zhutou]# vim /etc/profile   //写入profile文件里可永久有效
[root@localhost zhutou]# umask
0123

文件的特殊权限SUID、SGID、sticky bit

三种特殊权限

  1. suid:如果拥有该权限,把当前用户当做文件的属主

  2. guid:如果拥有该权限,把当前用户当成文件的属组

  3. stike:拥有该权限的文件夹,该文件内的文件只有超级管理员和属主可以删除其他人不可以删除。

相关推荐
孤独得猿16 分钟前
聊天室项目开发——etcd的安装和使用
linux·服务器·c++·etcd
siriuuus17 分钟前
Linux Tomcat 简单使用及 Nginx 反向代理
linux·nginx·tomcat
呱呱巨基1 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
竹等寒2 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
YuCaiH2 小时前
Linux文件处理
linux·笔记·嵌入式
sulikey2 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
疯狂吧小飞牛2 小时前
ip rule 策略路由
linux·网络·tcp/ip·运维开发
缘友一世2 小时前
深入理解Shell与反弹Shell:从原理到实战
linux·网络安全·shell
stark张宇2 小时前
网络排错全流程:从DNS解析到防火墙,逐层拆解常见问题
linux·网络协议·dns
望获linux5 小时前
【实时Linux实战系列】实时 Linux 的自动化基准测试框架
java·大数据·linux·运维·网络·elasticsearch·搜索引擎