Linux权限
权限:是用户对于系统资源及数据等操作得能力
linux中分三类用户权限:
属主:owner 属组:group 其他:other
-rw-r--r--:10位
第一位:文件类型
2-4位:文件属主权限 5-7位:文件属组权限 8-10位:其他用户的权限
文件:
r:读权限。可以查看文件的内容,使用cat,more等命令
w:写权限。可以修改文件的内容及删除文件
x:执行的权限
目录:
r:读权限,可以查看目录的列表,ls命令
w:写权限,可以想目录新建文件或目录
x:执行权限,可以执行cd命令
权限用数字表示:
r:4 w:2 x:1
chown:change owner 改变文件属主和属组
-R:递归更改目录的属主或属组
---reference:复制一个目录的权限属性到目标文件
chown:修改文件的属组时,在组名前添加符号(.)或冒号:
同时修改属组和属主:chown username.groupname filename
chgrp:change group修改文件属组
chmod:修改文件或目录权限
语法:
chmod {augo}{+-=}{rwx} file_name
-R :递归更改文件或目录的权限
a:所有用户 u:文件属主 g:文件属组 o:其他用户
+:为用户添加权限 -:为用户减少权限 =为用户赋予权限
eg:chown Danger a.txt 修改文件的属主(Danger)权限
chown Danger /opt/ 修改目录的属主权限,但文件夹里面的文件属主还是原来的
chown -R Danger /opt/ 把这个目录下的文件属主也修改为Danger用户
chown --reference=a.txt b.txt 把a.txt的文件权限属性复制给b.txt
chown .Danger a.txt 把这个文件属组修改为Danger组
chown :Danger b.txt 把b这个文件的属组也修改为Danger
chown Danger.root a.txt 用户改为Danger,组改成root组(中间的.也可以用:)
eg:
chmod a+x a.txt 给所有用户添加权限
chmod a-x a.txt 所用用户去掉x权限
chmod u=rwx a.txt 给用户赋予权限
chmod u=rwx,go=a.txt 中间用逗号隔开
chmod 766 b.txt 用数字表示也可以
chmod -R 777 /opt/ 可以用数字递归修改
默认情况下,为了安全,linux系统新建文件时不添加执行权限
umask:反掩码 (022) (在etc/login.defs中定义)
rwx:7
文件:rw-rw-rw-:666
目录:rwxrwxrwx:777 755=rwxr-xr-x
新建文件时,权限掩码(666)-反掩码就是新建文件的权限
新建目录时,权限掩码(777)-反掩码就是新建目录的权限
反掩码修改方式:umask 002 (修改为002)
linux隐藏权限:
chattr:修改文件的隐藏权限,/ /dev/ tmp var etc目录不受chattr保护
语法:
chattr +-= {option} file_name
-a只能向文件追加数据,不能删除文件
-i任何用户不能删除文件
A:不同步访问时间
+:添加相应权限
-:删除相应权限
=:设定相应权限
lsattr:查看文件隐藏权限
在加了权限-a后,只能往里面追加数据,eg: echo"000000">>/opt/a.txt