1、文件详细信息详解
ls -al:显示当前目录下的所有文件和文件夹的详细信息
d(文件类型) rwx(所有者权限) r-x(同组用户权限) r-x(非本组用户权限) . 5 root root 4096 7月 13 22:22 xll
- 第1列:代表文件的类型。
我们常见的是d和-。d代表是目录文件。-代表是普通文件。l代表链接文件,b代表块设备。c代表字符设备文件。 - 第2-10列:代表文件的权限。三个为一组。第一组代表文件所有者的权限,第二组代表同用户组的权限,第三组代表其他用户非本用户组的权限。
每组权限中的rwx,分别代表读,写,可执行的意思。 - 第11列数字,图中的1,5,3,2这列,代表有多少文件名连接到此节点。
每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node,这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码。 - 第12列的root:所属者用户名
- 第13列的root:所属用户组
- 第14列:容量大小,默认为B
- 第15列:创建或修改日期
- 第16列:文件名
2、chmod命令重写权限
2.1、文字设定法(较少使用)
4.1.1、命令
chmod [who] [+ | - | =] [mode] 文件名
4.1.2、概述
- (who):操作对象who可是下述字母中的任一个或者它们的组合
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。 - (+ | - | = ):操作符号可以是
+添加某个权限。
-取消某个权限。
=赋予给定权限并取消其他所有权限(如果有的话)。 - (mode):设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。 - (文件名):以空格分开的要改变权限的文件列表,支持通配符。
#####4.1.2、举例
在一个命令行中可给出多个权限方式,其间用逗号隔开。
使同组和其他用户对文件example 有读权限
chmod g+r,o+r example
给当前用户增加对startup.sh的执行权限
chmod u+x startup.sh
2.2、数字设定法(较多使用)
2.2.1、命令
chmod [mode] 文件名
2.2.2、概述
我们将之前的rwx用数字进行替代。
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限。
数字之和,即为该文件的权限。
使用文字的方式,有三组文字,数字即为3组数字之和。
最低为0,最高为7
2.2.3、例子
文件属主具有读,写,可执行权限,因为7=4+2+1。
文件组具有读,写权限,因为6=4+2。
其他用户具有读权限,因为4。
chmod 764 a.txt
3、chgrp命令(修改整个目录下的属组)
3.1、概述
改变文件或目录所属的组
3.2、命令
chgrp [选项] group 文件
-R 递归式地改变指定目录及其下的所有子目录和文件的属组。
group为用户组id或者为/etc/group中用户的用户组名。如果用户不是文件的属主或者超级用户,则不能改变。
3.3、例子
将etc及etc下所有文件和目录的属组都改为root
chgrp -R root /etc
4、chown命令
4.1、概述
更改某个文件或目录的属主和属组。
4.2、命令
chown [选项] 用户[:组] 文件
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
4.3、例子
把文件a.txt的所有者改为root。
chown root a.txt
把目录/tmp及其下的所有文件和子目录的属主改成root,属组改成test。
chown - R root:test /tmp