文件权限与归属管理

文件和目录的权限与归属

访问权限 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:拥有该权限的文件夹,该文件内的文件只有超级管理员和属主可以删除其他人不可以删除。

相关推荐
soft20015253 分钟前
MySQL 8.0.39 Rocky Linux 一键安装脚本(完整可直接运行)
linux·mysql·adb
Nerd Nirvana4 分钟前
WSL——Windows Subsystem for Linux流程一览
linux·运维·服务器·windows·嵌入式·wsl·wsl2
CS创新实验室1 小时前
计算机考研408【操作系统】核心知识点总结
java·linux·考研·计算机·操作系统·408
bulucc1 小时前
vim 快捷操作
linux·编辑器·vim
我是koten1 小时前
用Ansible查找文件并记录文件名的playbook
linux·运维·centos·ssh·ansible·find·playbook
云qq2 小时前
x86操作系统19——键盘驱动
linux·c语言·汇编
路溪非溪2 小时前
关于蓝牙技术的再补充
linux
爱宇阳3 小时前
Linux 安全加固:设置命令行无操作超时退出
linux·运维·安全
呆萌小新@渊洁3 小时前
声纹模型全流程实践-开发(训练 - 微调 - 部署 - 调用)
linux·服务器·python·语音识别
RisunJan3 小时前
Linux命令-getenforce命令(快速检查 Linux 系统中 SELinux 的当前运行模式)
linux·运维·服务器