文件或目录权限:
ls -l 目录或文件 # 查看文件详细信息
-rw-r--r--. 1 root root 4865 9月 14 09:18 a.txt
# 第一列中除了第一位文件类型,剩下的9位是权限控制位,分3段,每3位(读,写,执行)为一个权限位
# 第一段(rw-)权限位是文件所有者的权限
# 第二段(r--)权限位是所属组的权限
# 第三段(r--)权限位是除所有者、所属组之外的其他用户权限
# 权限可以用数字表示: r=4 w=2 x=1 rwx=7 rw-=6 --x=1
命令chmod(change mode)
ls -l test.txt
-rw-r--r--. 1 root root 0 9月 15 17:28 test.txt
chmod 700 test.txt
ls -l test.txt
-rwx------. 1 root root 0 9月 15 17:28 test.txt
# 9位权限位后的点(.)表示文件受制于SELinux
chmod 权限 文件/目录 # 只更改对应的文件及目录的权限
chmod +R 权限 目录 # 目录下的子文件,子目录的权限全做更改
chmod u=rwx,g=r,o=r test.txt # 把test.txt的权限更改为 744
chmod a+x test.txt # a表示所有,即三个权限位都添加执行(x)权限
命令chown(change owner)、chgrp (change group)
cat /etc/passwd # 查看系统中的用户及用户组
chown username 文件 # 更改文件的所有者
chgrp groupname 文件 # 更改文件的所属组
# 等价于chown :groupname 文件
chown username:groupname 文件 # 同时更改文件的所有者所有组
chown -R username:groupname 目录 # 更改目录下所有的子文件,子目录的所有者、所属组
命令 umask
用来确定创建文件及目录的默认权限,默认值为0022
默认创建的文件权限位644,目录是755
目录要有x权限才能读,这样才能打开进入目录
默认文件的权限 = 666 - umask值 = (rw-rw-rw-) - (umask值权限表示)
默认目录的权限= 777 - umask值 = (rw-rw-rw-) - (umask值权限表示)
命令 chattr lsattr
chattr 权限 文件 # 更改文件属性权限
chattr +i 文件 # 不能对文件进行删除、重命名、写入、更改时间及新增数据。
# 取消是 chattr -i 文件
chattr +a 文件 # 只能对文件进行内容增加,可以更改时间信息。不能更改、删除、重命名
lsattr 文件 # 查看文件属性
lsattr -d 目录 # 查看目录本身的属性
lsattr -R 目录 # 查看目录下所有的子目录及文件的属性信息
给目录加了属性权限后,不影响对目录里的已经存在的子目录与文件操作
来源:oschina
链接:https://my.oschina.net/u/996931/blog/2051719