文件和目录权限chmod 、更改所有者和所属组chown 、 umask、 隐藏权限lsattr/chattr

来源:互联网 发布:淘宝注册帐号 编辑:程序博客网 时间:2024/05/20 06:04
chmod
文件或目录权限

例子:drwxr-xr-x. 5 root root 33 6月 6 15:20
drwxr-xr-x 一共10位 第一位是文件属性
从第二位开始。每三位为一段:rwx r-x r-x
r=4 读权限
w=2 写权限
x=1 执行权限
rwxr-xr-x=755
其中第一段 rwx 为所属主权限--u
第二段 r-x 为所属组权限--g
第三段 r-x 为其他权限--o

chmod=change mode
drwxr-xr-x. 中的这个“.”代表这个文件受制于selinux
语法:
chmod 700 目标文件或目录 :为目标文件添加700(所属主读写执行权限)
chmod -R 对目录及子目录和文件批量更改权限
chmod u=rwx,g=r,o=r 目标文件或目录 (更改后变为rwxr--r--)
注:写权限时不能写"-"号
其他用法:
chmod a+rwx 为所有的添加rwx权限 rwxrwxrwx.
chmod a-rwx 为所有的减去rwx权限 ---------.
a=all所有,也可以为u/g/o分别加或者减r/w/x权限
例如chmod g-x
chmod u+r


chown
chown=change owner 更改文件所属主和所属组
chgrp=change group 更改文件所属组

语法:
chown -R username:group filename
-R 对子目录和文件批量更改
chown xxxx 目标文件 把目标文件所属主改为xxxx
chown xxxx:yyyy 目标文件 把目标文件所属主改为xxxx,所属组改为yyyy
chown :yyyy 目标文件 只把文件所属组改为yyyy,所属主不变
chgrp yyyy 目标文件 把目标文件所属组改为yyyy


umask
执行umask命令
例如 0022 (默认root的权限)
更改当前用户的umask值
umask xxxx (第一位可以省略 xxx)
umask是用来决定文件和目录的默认权限的
目录一定要有X执行权限,因为进入目录就是对目录的执行
文件不一定要有X执行权限

如何通过umask值来判断当文件和目录的默认权限
777-umask(目录)
666-umask(文件)
不能单纯的用数字加减,要用九个权限位分别对应加减
例如 umask值为002
则这个文件或目录权限计算为
777-002 = rwxrwxrwx - -------w- = rwxrwxr-x =775(目录)
666-002 = rw-rw-rw- - -------w- = rw-rw-r-- = 664(文件)
如果 umask值为0003
则权限计算如下
777-003 = rwxrwxrwx - -------wx = rwxrwxr-- = 774(目录)
666-003 = rw-rw-rw- - -------wx = rw-rw-r-- = 664 (文件)


lsattr chattr 隐藏权限
lsattr filename 查看隐藏权限
默认查看目录下的子文件
只查看当前目录的话 lsattr -d
lsattr -R 查看目录下所有文件的隐藏权限
lsattr -a 查看所有的文件的隐藏权限
chattr 设置隐藏权限
chattr +i filename(对文件和目录的效果是一样的)
如果目录下已有文件 ,而对目录进行+i/a隐藏权限,对目录下的
原有文件的编辑是不受父目录权限的影响的
                                

设置 +i 隐藏权限后 ,此文件不能够对此文件进行任何读写,删改,追加,查看
(vi rm touch mv..)
chattr -i filename 减去i权限
chattr +a fliename 只能追加(>>),更改时间信息(touch)
不能更改删除 重命名移动
chattr -a fliename
阅读全文
0 0