1.文件权限
为了保证系统中每个文件的安全,可以做到不同的用户对同一个文件具有不同的操作权利。而通常这个权利包括3个
读的权利(Read,简称r)
写的权利(Write,简称w)
执行的权利(eXecute,简称x)
具体的权限值:rwx(读,写,执行)。这个我们已知,“不同用户”指的是哪些用户呢?包括3类
文件拥有者(User,简称U):该文件的创建人
同组用户(Group,简称G):和创建人在同一组的用户
其他组用户(Other,简称O)和创建人不在同一组的用户
这就是非常著名的UGO模型。也就是说一个文件的权限包括三组:
第一组U:我们可以给文件的创建者设置rwx权限
第二组G:我们可以给文件的创建者的同组人员设置rwx权限
第三组O:我们可以给和文件的创建者不在同一组的人员设置rwx权限
1.1查看文件权限
采用 ls-l 命令可以查看文件的具体权限
1.2基于UGO设置文件权限
修改权限的命令是chmod , 如果采用UGO方式修改权限的话,大致语法是这样的:
给同组人员添加写权限: chmod g+w hello.java
给同组人员和其他组人员添加写权限: chmod g+w,o+w hello.java
删除同组人员和其他组人员写权限: chmod g-w,o-w hello.java
1.3基于421设置文件权限
421采用数字来表示不同的权限
4代表读 2代表写 1代表执行
例如:如果让一个用户读写,执行权限都有的话,就是4+2+1=7,那么2这个数字代表rwx的权限都具备,如果是5就表示4+1的组合,表示有r和x的权限。如果是6就表示4+2的组合,表示有r和w的权限。如果是0就表示无任何权限。
通过421这几个数字的不同组合来表示不同的权限,那么它有几种不同的组合呢?
0 无权限
1 x
4 r
5 r+x
6 r+w
7r+w+x
也就是说一共6个数字
语法:chmod 三个数字 文件名
1.4chgrp命令
chgrp命令
作用:更改文件用户组
语法:chgrp [参数] [目录]
参数:-v显示指令执行过程
-R 递归处理,将指定目录下的所有文件及子目录一并处理
--reference 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
案列:改变文件的用户组
# sudo chgrp alvin file.txt
改变文件的用户组,并显示命令执行过程
# sudo chgrp -v alvin file.txt
根据参照文件改变文件的用户组
# sudo chgrp --reference=reffile.txt file.txt
将dir及其子目录下的所有文件的用户组改为alvin
#sudo chgrp -R alvin dir
1.5chown命令
chown命令
作用:改变文件或目录的用户和用户组
语法:chown [参数] 所属主 所属组 文件
参数:-R 对目前目录下的所有文件与目录进行相同的变更
-c 显示所属信息变更信息
案列:改变file.txt文件的所属主与所属组
#sudo chown alvin:alvin file.txt
只改变file.txt文件的所属主
#sudo chown alvin file.txt
只改变file.txt文件的所属组
#sudo chown :alvin file.txt
改变指定文件的所属主与所属组,并显示过程
#sudo chown -c liangxu:liangxu file.txt
改变指定目录及其内所有子文件的所属主与所属组
#sudo chown -R alvin:alvin dir
1.5.1chown修改文件拥有者
使用chown命令修改指定文件或目录的拥有者和所属组。
chown [选项]…[所有者][:[所属组]] 文件…
其中,所有者和所属组可以是用户名或用户ID,组名或组ID,如果省略:和所属组,则默认为修改文件的所有者
下面是一些常用选项
-R :递归修改,包括子目录和文件