一·文件的基本权限
1)文件类型在Linux中一共分为七种:
d 目录文件。
l 符号链接(指向另一个文件,类似于瘟下的快捷方式)。
s 套接字文件。
b 块设备文件,二进制文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或更准确地说,不属于以上几种类型的文件
通过
ll
可以查看
权限一共十一位,第一位代表文件类型,2-4(所有者),5-7(所在组),8-10(其他人),最后一位代表特殊权限,或者ACL权限
drwx------@ 5 lee staff 160B 11 24 21:13 Applications
drwxr-xr-x@ 5 lee staff 160B 11 30 16:31 Applications (Parallels)
drwx------@ 16 lee staff 512B 11 30 19:49 Desktop
drwx------@ 16 lee staff 512B 10 29 19:36 Documents
drwx------+ 15 lee staff 480B 11 30 19:49 Downloads
drwxr-xr-x 5 lee staff 160B 5 15 2017 GNS3
2)权限等级
读 写 执行
r=4 w=2 x=1
u=所有者 g=所在组 o=其他人
3)设置权限
chmod [选项] [文件]
+x:赋予执行权限
+w:赋予读权限
+r:赋予写权限
也可以实用数字设置权限
r=4 w=2 x=1
chmod 755 [文件名] //属主最高权限、属组读与执行、其他人读与执行
修改文件权限方法:(假设文件名aa)
1.chmod u+x aa //给拥有者u增加x权限
chmod u+x,g+w aa //给拥有者u增加x权限,所属组增加写权限
chmod u-x aa //给拥有者取消x权限
chmod u=rwx aa //给拥有者u的权限是rwx
chmod u=rwx,g=rw aa //给拥有者u的权限是rwx,给所属组权限是rw
chmod a=rw aa //给u,g,o权限都设置为rw
chmod 755 aa //aa的权限为rwx r_x r_x
二·文件系统的作用
为什么有文件有写权限不代表有删权限?因为文件名存在目录储存块(block)里(Linux中一切皆文件),文件中的数据存在文件数据储存块里,要删除文件,意味着要删除文件名,而文件名储存位置在更高一级(目录中),所以没有删除权限。要想进行删除操作,必须对目录储存块进行操作。
先给上级目录一个写权限,然后再删除。
r:读取文件内容(cat/more/head/tail)
w: 编辑、新增、修改文件内容(vi/vim/echo)(echo 内容 >>/文件名)
x:执行(./configure)或者(cd)
目录,文件,数据存储在不同的存储块中,当对文件拥有写的权限时即对其下级的数据拥有写入和删除权限,但不能删除文件名本身。对文件来说最高的权限就是X执行。要想删除文件名本身还需要对其上级目录文件拥有W写的权限。
权限对目录的影响
r:可以查看文件下的目录名(ls) w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp) x:可以进入目录(cd) 目录的最高权限是w,只能对其附值为0 5 7 其他数字都没实际意义
对文件来讲:最高权限是 x
对目录来讲:最高权限是 w
对目录来讲:只有0 5 7 权限成立,只有进入目录1才可以有执行2,so 你懂的~
三·其他权限命令
改变文件所有者
chown [所有者] [文件名]
chown user1 123
改变文件所在组
chgrp [所在组] [文件名]
chgrp user1 123
或者
chown [所有者]:[所在组] [文件名]
chown root:root 123
同时改变文件所有者和所在组
当文件所有者创建后,自动创建同名的组