一,文件或目录权限chmod
Linux文件属性
当我们用ls -l命令查看当前目录下的文件时,共显示了9列内容(用空格划分列)。如图
第一列
包含文件的类型,所有者,所属组以及其他用户对该文件的权限。
其中第1位用来描述该文件的类型。我们看到这里的文件类型是l,其实除了这个还有,b,c,s,d,-等等。
– d 代表该文件是目录
– -代表该文件是普通文件
– l 代表该文件是链接文件
– b代表该文件是快设备,比如/dev/sda就是这样的文件,磁盘分区文件就是这种类型。
– c 代表该文件是串行端口设备文件(又称字符设备文件),比如键盘,鼠标,打印机,tty终端等都是这样的文件。
– s 代表该文件为套接字文件(socket),用于进程之间的通信。
文件类型后面的9位,每3位为一组,其中r代表
可读
,w代表
可写
,x代表
可执行
。其中
r等于4,w等于2,x等于1
。前3位为
所有者(user)
的权限,中间3位为
所属组(group)
的权限,最后3位为
其他用户(others)
的权限。
第二列
表示该文件占用的字节(inode),如果是目录,那这个数值与该目录下是子目录数量有关。
第三列
表示该文件的所有者
第四列
表示该文件的所属组
第五列
表示该文件的大小。
第六列
,
第七列
,
第八列
表示该文件最后一次被修改的时间,依次为月份,日期以及时间。
第九列
表示文件名。
命令chmod
-
命令语法
chmod [-R] xyz文件名(这里的xyz表示数字)。 -
命令描述
命令chmod(change mode)用于改变用户对文件/目录的读写执行权限。 -
命令参数
-R 选项的作用等同于chown命令的-R选项,也表示级联更改。
注意:在Linux系统中,一个目录的默认权限为755,而一个文件的默认权限为644。
命令示例:
-
1. 修改DL的权限,该为777。
在这里我们看到,虽然修改了DL的权限,但是DL下的1.txt的权限并没有改变。 -
2.如果想把目录下的子文件子目录全部批量的修改权限,可以加一个-R选项。
-
例如 使用-R选项,把DL权限修改为770。
可以看出,在使用-R的选项的情况下,把DL的权限修改为770,其子目录及子文件都跟随DL的权限修改为了770。 -
3.使用字母的形式改变DL的权限为747。
这里的u代表user,g代表group,o代表other。 -
4.使用一条命令,DL的把所有者,所属组,以及其他用户,都减去X权限。
**其中,a代表all(全部),a-x,代表把所有者,所属组,其他用户,的x权限去除。
当然a+x的意思是把所有者,所属组,其他用户,加上x权限。当然也可以u-x,u+x,(只针对所有者)。**
二,更改所有者所属组chown
命令chown
-
命令语法
chown [-R]账户名 文件名 或者 chown [-R] 账户名:组名 文件名 -
命令描述
命令chown可以更改文件的所有者 -
命令选项
-R 选项只适用目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。-
图片用到一个useradd命令,其作用是增加一个用户组。
在这里我们看到,在不用-R选项的情况下,更改dir的所有者,它的目录下的test1的所有者并没有改变。
然后使用-R选项更改dir的所有者后,其目录下的test1也跟随dir的所用者一同改变。
-
命令chgrp
-
命令语法
chgrp [组名][文件名] -
命令描述
命令chgrp可以更改文件的所属组
图片中用到了一个groupadd命令,其作用是增加一个所属组。 -
命令选项
-R 选项只适用目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。作用同chown的-R
小知识:在我们使用chown的时候,可以连同,所属组,一起更改。中间用:分割。如下图