Skip to content

文件权限管理

权限介绍和示例

root 用户权限最高。所以一般不做权限设置,其他用户就要设定权限并且遵守权限。

查看文件权限

typescript
ls -l

ls -l _absolute_path

文件权限示例:

typescript
-rw-rw-rw-. 1 Eddie  Eddie      83 Dec 17 20:55 a.txt

权限部分讲解

typescript
-rw-rw-rw-.
  1. 第一个字符-表示文件类型:-表示文件,d表示目录,l表示软连接

  2. 第2-4个字符:表示该文件/目录 所属用户的权限

  3. 第5-7个字符:表示与该文件创建者属于在一组的用户的权限

  4. 第8-10个字符:表示其他用户对该文件的权限

  5. 第11个字符:表示该文件是在开启selinux状态下创建的

    typescript
    sestatus 查看是否开启selinux状态
  6. 数字 1:表示文件的硬连接数量

  7. 第三段字符串Eddie:表示文件所属用户

  8. 第四段字符串Eddie:表示文件所属用户组

  9. 第五段数组83:表示文件大小,默认单位是byte,可以使用 ls -lh将单位转化成人类可读的单位。

  10. 第六段Dec 17 20:55:表示文件修改时间。

    linux会记录三个时间:

    • 访问时间(access time):文件被打开时自动变化这个时间
    • 修改时间(modify time):文件内容发生变化时自动改变这个时间
    • 改变时间(change time):文件属性发生变化时自动改变这个时间

    使用stat _filename指令查看这三个时间。

权限表示表

r4代表读权限Read
w2代表写权限Write
x1代表可执行权限Executable(exe)
-0空位权限,表示没有这个权限

权限值:

r4
w2
x1
-0

权限值表:

0---
1--x
2-w-
3-wx
4r--
5r-x
6rw-
7rwx

ugo权限体系:

typescript
rw-   r--    r--
user  group  other

修改读权限

使用chmod指令修改权限,如

chmod -r _fileName意思就是对该文件去掉访问权限(所有用户不能读取文件内容) ,

chmod +r _fileName意思是对该文件添加读取权限。

chmod u+r _filename意思是只有文件的创建用户才能读区文件(按照ugo文件权限)

修改写权限

与修改读权限一样,只需将r改为w即可,如

chmod -w _fileName意思就是对该文件去掉写入权限(所有用户不能写入文件内容) ,

chmod +w _fileName意思是对该文件添加写权限。

chmod u+w _filename意思是只有文件的创建用户才能x写入文件内容(按照ugo文件权限)

...

可执行文件特殊目录介绍

通过echo $PATH 可以看到,类似windows中的环境变量PATH。放到这个目录中的命令程序,我们可以在任意目录下通过这个命令的名称来执行这个程序。

例如:

  1. 在当前用户目录下新增一个bin 文件夹:

    typescript
    mkdir /home/_user/bin
  2. 复制一个可执行程序到当前用户目录下(复制的目的是直接拿一个可执行程序来演示效果),并重命名为zzz:

    typescript
    //将ls 命令复制到 /home/Kevin/bin/ 并重命名为zzz
    cp cp /usr/bin/ls /home/Kevin/bin/zzz
  3. 然后当前用户就可以直接使用命令zzz

通过权限值修改文件权限

如果我们想将某个文件的:rwxr-xr-x权限改为--x-w-r--,如果按照前面的方式使用chmod u+x _fileName的方式来修改会比较麻烦。可以使用权限对应的数字来简化这一步骤。

例如:

rwxr-xr-x对应的权限值为:755

--x-w-r--对应的权限值为:124

执行指令:

typescript
//将文件的权限修改为755 ,也就是rwxr-xr-x
chmod 755 _fileName

修改文件的所属

使用chown指令修改文件持有者的属性,全称:change owner

修改文件所属,普通用户是不能修改文件持有者的属性的,即使这个文件是用户本身创建的,只有root用户才能修改。

修改文件所属用户和用户组:

typescript
//对于一个这样的文件权限信息
---x-w-r-- 1 Eddie  Eddie  83 Dec 17 20:55 a.txt

//执行指令将文件所属修改成Steven
chown Steven:Steven a.txt
//再次查看文件权限
---x-w-r-- 1 Steven Steven 83 Dec 17 20:55 a.txt //修改成功

文件与目录权限的区别解释说明

文件权限rwx:读、写、执行

目录权限rwxr表示可以查看目录下有哪些文件,x表示可以切换(cd)进入到该目录,w表示可以在目录中创建、修改、删除文件等操作。