查看linux目录和文件权限详解

简介

了解一下linux目录和文件的权限,做一篇较为详细的内容来记录

 

详解linux目录和文件权限

查看目录和文件权限

我们在使用 ls的时候,加上-l的参数,将会以长格式的形式显示文件或者目录的详细信息,如下图。信息内包含该

文件的权限以及归属等参数

我们看下例子

drwxr-xr-x 7 root root 4096 Dec 10 01:24 NetworkManager

#我们来看下这个组成
"drwxr-xr-x"由四个部分组成,每个字符代表的含义如下:

第1个字符:表示该文件的类型,可以是d(目录)、b(块设备)、c(字符设备文件)、“-”(普通文件)、字母“l”(链接文件)等。

第2~4个字符:表示该文件的属主用户(user)对该文件的访问权限。

第5~7个字符:表示该文件的属组内各成员用户对该文件的访问权限。

第8~10个字符:表示其他任何用户(Other)对该文件的访问权限。

 

r、w、x 分别表示可读、可写、可执行。若需要去除对应的权限,则使用 - 表示

权限 文件 目录
r 查看文件内容 查看目录内容(显示子目录、文件列表)
w 修改文件内容 修改目录内容(在目录中新建、移动、删除文件或子目录)
x 执行该文件 执行cd命令进入或退出该目录

 

设置目录和文件权限

可以通过chmod命令进行文件和目录的权限设置,采用两种形式的权限表示:字符和数字形式。

r、w、x权限字符可分别为八进制数的4、2、1,表示一个权限组合时则将数字进行累加

3e34dfd35c3e57d4a9d9bc3b75e1a0e1

比如:rwxr-xr-x
“rwx”采用累积则表示为:7
“r-x”则表示为:5
那么这三个权限组成的就可以表示为:755

chmod命令格式

5b37014e287f5f2010f07269145e4e7a

比如可以这样使用

示例还是拿NetworkManager这个目录演示

#给NetworkManager目录添加可执行权限
chmod +x NetworkManager

#将目录 NetworkManager 设为该目录拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w NetworkManager

#设置NetworkManager文件所有用户、组都可读、可写、可执行
chmod 777 NetworkManager	#等同于:chmod a=rwx NetworkManager

 

设置文件和目录的归属

chown [-cfhvR] [--help] [--version] user[:group] file...

#参数
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
--help : 显示辅助说明
--version : 显示版本

示例

#把 tcp.sh 的所有者设置 root:

chown root tcp.sh

#将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :

chown runoob:runoobgroup file1.txt

#将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:

chown -R runoob:runoobgroup *

#把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:

chown :512 /home/runoob
阅读剩余
THE END