Linux之文件或目录权限,所属组介绍
温馨提示:这篇文章已超过905天没有更新,请注意相关的内容是否还可用!
r 可读 w可写 x执行 如果不可以用-表示
rw- r-- r--
第一段所有者权限
第二段所属组权限
第三段其他用户权限
r=4,w=2,x=1
chmod == change mode缩写
chmod 700 2.txt
如果权限后面有“。”如上图就是表示这个文件或者目录受限于selinux
如何临时关闭selinux呢?
setenforce 0
查看 selinux的状态
# getenforce
# vi /etc/selinux/config 如果想永久关闭的话就要去改这个配置文件
chmod -R :继承到下级目录
# chmod u=rwx,g=r,o=w 2.txt
其中u=user ,g=group ,o=Other
chmod a+x 所有用户都加上x权限
当然也可以chmod g+w
如何修改所有者和所属组chown
chown =change owner(更改所有者或者组)
用法:
# chown daemon 2.txt
chgrp ==change group
用法:# chgrp ftp 2.txt
当然也可以用chown ahao:ftp 2.txt 这样就能一次性的更改所属组和所有者
也可以chown :ftp 2.txt这样,和chgrp ftp 2.txt一样的效果
chown 也有-R 继承目录的用法
chown usersname 2.txt 更改所属用户
chown :ftp 2.txt 更改所属组
umask是定义文件的默认权限
默认文件是644 目录是755 这个是哪里定义的呢?
如何更改呢?umask 022
666=(rw- rw- rw-)
003 = ( --- --- -wx)
那么就可以(rw- rw- rw-)-(--- --- -wx)=rw- rw- r-- ==664
一位减一位
隐藏权限lsattr_chattr
chattr =change file attributes
用法 chattr +i 文件名
就会提示改文件为只读模式E45: 'readonly' option is set (add ! to override)
# head -n2 /etc/passwd >>2.txt 重定向输入也提示
-bash: 2.txt: Permission denied
权限不够
lsattr 查看隐藏权限的
加了i权限后不能写入也不能创建同名的文件
touch 一个同名文件的时候他会把源文件覆盖并改成新的,我们+i之后就不能覆盖和修改写入啦
去掉+i权限 chattr -i
chattr +a 只能追加,不能写删除更改,可以更改时间信息可以touch
给目录加+i权限后
lsattr -d 查看目录本身
给目录加上权限后不能改名,不能写东西,不能创建也不能删除,可以重定向进去
给目录加+a权限后
只能追加不能更改,可以重定向进去
lsattr -R 可以查看目录下的所有文件,chattr +R 吧权限继承
-a 全部文件包括隐藏的