目录
文件属性
显示文件信息:
book@Lifeline:~$ ls -al
book@Lifeline:~$ ll
每一行共有七个字段的信息,分别表示:
-rwxrwxr-x 1 book book 18 Feb 1 08:05 1.txtx
文件权限 链接数 所属用户 所属用户组 容量 最后修改时间 文件名
第一栏代表这个文件的类型与权限
- rwx rwx r-x
文件类型 文件拥有者权限 文件所属用户组权限 其他用户权限
第一个字符代表文件类型:目录,文件或链接文件等等。
- d, 目录,如第一行
- -, 文件,如第三行
- l, 链接文件 link file
- b, 表示设备文件里的可供存储的周边设备
- c, 表示设备文件里的序里埠设备
接下来的字符三个为一组,均为 “rwx” 的组合。共三组。
其中:【r】表示可读;【w】表示可写;【x】表示可执行
第一组为文件拥有者的权限:如 1.txt 这个文件,该文件拥有者,可读可写可执行。
第二组为文件所属用户组权限:如 1.txt 这个文件,该文件拥有者,可读可写可执行。
第三组为其他用户权限:如 1.txt 这个文件,该文件拥有者,可读不可写可执行。
目录与文件权限 rwx 的意义:
权限对于文件:
- r,可读取此文件的实际内容,如文本文件的文字内容
- w,可以编辑,新增或修改文件的内容。但不含删除该文件!!
- x,该文件具有可以被执行的权限。
Linux下,文件能否被执行与文件后缀没关系,是由x权限决定的。
权限对于目录:
- r,表示具有读取目录结构权限,查询目录下的文件数据。
- w,表示具有异动该目录结构清单的权限,包括:
- 创建新的文件与目录
- 删除文件或目录
- 将已存在的文件或目录更名
- 移动文件或目录位置。
- x,目录不可被执行,该权限表示,使用者能否进入该目录成为工作目录。
例:假设test1,test2,test3三个用户同属于testgroup这个用户组,如果有下面的两个文件,请说明用户权限如何?
- 文件test.txt,拥有者是root,所属群组root。权限:只有root用户可以读写此文件,其他用户只能读此文件。
- 文件ping_tsai,拥有者test1,所属群组testgroup。权限:
- test1,可以对此文件可读可写可执行。
- 而同组的test2,test3仅可读可执行,但不能写。
- 没有加入testgroup的其他用户,只能读此文件。
如果是目录,而不是文件,权限又如何呢?
- 文件拥有者test1,可以在目录进行任何工作。
- test2,test3用户亦可以进入此目录进行工作,但不能在本目录进行写入工作。
- other 用户,有r权限,可以读目录内容。但是没有x权限,则不能进入该目录。
chmod 命令
说明
文件权限的更改指令。
使用
权限的设置有两种方式,数字和符号。
数字类型改变权限
权限对应数字:
r, 4 或 0
w, 2 或 0
x, 1 或 0
这3种权限的数值相加后,就是权限的数字表示,例如 文件 a 的权限为 “-rwx r-x r--”
则:
- owner = rwx = 4 + 2 + 1 = 7
- group = r-x = 4 + 0 + 1 = 5
- other = r-- = 4 + 0 + 0 = 4
符号类型改变权限
使用 u,g,o 三个字母分别代表user,group,other 3种身份。a 代表all 所有身份。
// 将文件 a.txt 的所有权限都启用
book@Lifeline:~$ chomd 777 a.txt
// 将文件 a.txt 权限修改为 “-rwx r-x r--”
book@Lifeline:~$ chomd 754 a.txt
// 将文件 a.txt 的所有权限都启用
book@Lifeline:~$ chomd u=rwx,g=rwx,o=rwx a.txt
// 在以上基础上将文件 a.txt 权限修改为 “-rwx r-x r--”
book@Lifeline:~$ chomd u=rwx,g=rx,o=r a.txt
// 或者
book@Lifeline:~$ chomd u-w,o-wx a.txt
// 所有用户添加 r 权限
book@Lifeline:~$ chomd a+r a.txt
chown 命令
说明
用于设置文件所有者和文件关联组的命令, 需要超级用户 root 的权限才能执行此命令。
使用
chown [-options] username:[groupname] file...
-r :递归修改,将目录下的子目录和文件以同修改
// 将 1.txt 文件的拥有者改为 root用户
book@Lifeline:~$ sudo chown -r root 1.txt
// 将当前目录下的 dir0 目录的所属用户改为 book 所属用户组改为 class
book@Lifeline:~$ sudo chown -r book:class ./dir0
chgrp 命令
说明
用于变更文件或目录的所属群组,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。
注意:
要被改变的群组名称必须在 /etc/group 文件内存在才行,否则报错!!
使用
chgrp [-options] groupname file...
-r :递归修改,将目录下的子目录和文件以同修改
// 将当前目录下的dir0目录下的 1.txt 文件的所属用户组改为 class
book@Lifeline:~$ chgrp -r class ./dir0/1.txt