权限概述
linux系统一般将文件可存/取访问的身份分为3个类别
owner:文件所有者
group:与文件所有者同组的用户
others:其他人,相对于所有者
且还有三种身份各有read,write,execute等权限
read:
对于文件夹来讲,读权限影响用户是否可以列出目录结构
对于文件讲,读权限是否可以查看文件内容
1.linux的权限介绍
ls -l 路径 #显示该路径下所有文件的名称和相关属性
对于一个文档来讲权限分布有十个位置
1:文件类型,常见的有d表示文件夹,-表示文件,l表示软链接,s表示套接字等等
2-4:表示文档所有者的权限情况,分别为读写执行rwx
5-7:表示文档所有者同一个组1的用户权限情况
8-10:表示除了上面的前两部分用户之外的其他用户的权限情况
2.权限设置
语法:chmod 选项 权限模式 文档
文档:可以是文件,可以是文件夹,可以是相对路径或绝对路径
注意:如果要个文档设置权限,操作者要么是root用户,要么就是文档的所有者
chmod -R 777 etc #给文件夹下所有文档赋予权限
chmod 777 passwd #给passwd文档赋予权限
权限有字母形式和数字形式
1.字母形式
u 所有者
g 所属用户组
o 其他人
a 所有人
+增加权限
-减少权限
= 确定权限
r 可读
w 可写
x 执行
例子:需要给1.txt文件(-rw-------)设置权限,要求给所有者拥有全部权限,同组用户有读和执行权限,其他用户只读
chmod u+x,g+rx,o+r 1.txt
提示:当文档用拥有执行权限时候,文件是绿色的
2.数字形式
例子:chmod 777 a.txt
上面的例子中的数字表示所有者,所属组,其他人的权限赋予
读:r 4
写:w 2
执行: 1
注意:在Linux中,如果要删除一个文件,不是要看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除
3.属主与属组设置
属主:所属的用户
属组:所属的用户组
前面的root就是属主
后面的root就是属组
1.更改所属者
chown -R 用户名 目录名 #修改目录(所有文件)的所属者
chown 用户名 目录名 #修改文件的所属者
-R 递归,目录里面有文件需要用到-R才可以设置整个目录的所属者都修改
例子:chown test oo/
2.更改文档的所属用户组
语法:chgrp -R groupname 文档的路径
案例:将刚才root用户创建的oo目录,所有者更改为test,并且将所属用户组也改为test
chgrp test oo/
思考:如何通过一个命令实现既可以更爱所属的用户,也可以更改所属的用户组呢?
语法:chown -R username:groupname 文档路径
案例:要求只使用chown命令,将oo目录的所属用户和用户组改为root,并且包含其子目录
chown -R root:root oo/