标签:linux学习
2017.12.20 二周第三次课
2.14 文件和目录权限chmod
命令chmod( change mode的简写 )用于改变用户对文件/目录的读写执行权限
其格式为:chmod [-R] xyz文件名(这里的xyz表示数字)。其中,·-R选项的作用等同于chown命令的一R选项,也表示级联更改。
属性的含义: 【r】:读 ;
【w】:写;
【x】:执行;
【-】:不可以;
值得注意的是,在Linux系统中,一个目录的默认权限为755,而一个文件的默认权限为644。
为了方便更改文件的权限,Linux使用数字代替rwx。
具体规则为:r=4,w=2,x=1 ,-=0。例如, rwxrwx---用数字表示就是770,其具体算法为 : rwx=4+2+1=7, rwx=4+2+1=7,---=0+0+0=0
1.权限说明:
第一列第一项表示文件类型外,后面9位表示的是文件的权限,三位一组,共3组。
1)第一组表示的是所有者对应的权限:
这表示可读写,不可执行
2)第二组表示的是所属组的权限:
这表示可读,不可写,不可执行
3)第三组表示的其他用户的权限
这表示可读,不可写,不可执行
例子:
更改2.txt文件的权限:所有者读写执行;所属组和其他都没有权限
数字表示是:rwx------=700
2.第一列最后一位【.】的说明
说明文件受制于selinux
用【# setenforce 0】临时关闭。下次重启SElinux后还会开启
永久关闭SElinux必须运行如下命令
【# vi /etc/selinux/config】
更改SELINUX=enforcing为SELINUX=disable,存盘退出,重启系统。
这样下次创建文件时就没有【.】
3.【chmod】对文件或对目录,它操作的生效的仅仅是文件或目录本身
aming2目录里的文件权限没有更改
4.【-R】可以把目录和目录下面的子目录和文件批量的修改权限
5. 【chmod】还支持使用rwx的方式来设置权限。使用u、g和o来分别表示user、group和others的属性,用a代表all(即全部)。
权限的“+”和“-”的用法
1)所有的权限都有“x”的权限
2)其他用户没有“x“的权限
2.15 更改所有者和所属组chown
【chown】命令
更改文件的所有者,其格式:chown[- R] 账户名 文件名
更改所属组,其格式chown[- R] 账户名:组名 文件名。
[-R]适用于目录,作用的级联更改。不仅能更改当前目录,目录下的目录和文件也全部更改。
【chgrp】命令改变所属组
1.更改所有者:
2.更改所属组
【chgrp】命令
【chown】命令
3. 更改用户和组
4.[-R]的用法
2.16 umask
默认情况下 ,目录的权限值为755
普通文件的权限值为644
那么这个值是由谁规定的呢?究其原因,便涉及umask了。
1.命令umask用于改变文件的默认权限, 其格式为 : umask xxx ( 这里的 ×代表3个数字 )。 如果要查看umask的值, 只要在命令行输人umask, 然后回车即可 , 如下所示 :
“# umask 0022 ”这里0022是root用户的umask值 , 这表示什么含义呢?
1)若用户建立普通文件,则预设没有可执行权限,只有r、w两个权限,最大值为666 (-rw-rw-rw-)。
2)若用户建立目录,则预设所有权限均开放,即777(drwxrwxrwx)。
3)“-”=0,减去任何权限都是0:【-】-【r】=【-】;【-】-【x】=【-】
umask的值是可以自定义的,比如设定umask为003
创建文件时默认权限变成了664:666(rw-rw-rw-)-003(------wx)=rw-rw-r--=664
创建目录时默认权限分别为774:777(rwxrwxrwx)-003(-------wx)=rwxrwxr--=774
2.umask可以在/etc/bashrc里面更改,默认情况下,root的umask 为022, 而一般使用者则为002。可写的权限非常重要,因此预设会去掉写权限。可能大家一直有一个疑问,老师介绍的umask值一直都是3 位数,但为什么系统里面是4位呢?最前面还有一个0呢,这个0加与不加没有影响,它表示umask数值是八进制的。
2.17 隐藏权限lsattr/chattr
1.【chattr】命令:设置隐藏权限
命令chattr(change attribute)的格式为:chattr [ +-=] [Asaci] [文件或者目录],其中,+、-和=分别表示增加、减少和设定。各个选项的含义如下。
A:增加该属性后,表示文件或目录的atime将不可修改。
s:增加该属性后,会将数据同步写人磁盘中。
a:增加该属性后,表示只能追加不能删除,文件可以追加,目录下可以增加文件和子目录,可以更改目录里面的文件。非root用户不能设定该属性。
c:增加该属性后,表示自动压缩该文件,读取时会自动解压。
i: 增加该属性后,表示文件和目录不能删除、重命名、设定链接、写入以及新增数据。可以更改目录里面已经存在的文件
以上选项中, 常用的为a和i这两个选项。
以文件举例说明其用法(目录也是一样):
1)“+i“:用户没有权限更改文件和文件名,无法更改时间信息,无法删除,
缓存文件
原因是刚在在“vi”编辑时会自动的创建一个缓存文件,当文件保存退出时这个文件会覆盖原来的文件,然乎缓存文件会被删除。如果加了特殊权限“i”,这个文件就保存不了,保存不了的话就会保存以“~“结尾的缓存文件,如上述文件。
2)“-i”可以去掉这个权限
3)“+a”:不能更改,不能删除,不能重命名,能追加,可以更改时间信息
4)“-a”可以去掉这个权限
2.【lsattr】命令:查看隐藏权限
Isattr(list attribute),该命令用于读取文件或者目录的特殊权限,其格式为:Isattr [-aRd] [文件/目录名]。
1)-a:类似于Is的-a选项,即连同隐藏文件一同列出。
2)-R:连同子目录的数据一同列出。
3)-d:查看目录本身。
标签:linux学习
原文地址:http://blog.51cto.com/415326/2052699