Linux:基本权限

权限介绍

image-20200919170303599

ls命令的结果显示,第一列就是文件的权限。如果不算最后的".",有十位。权限的含义如下图所示:

image-20200919170407815

第一位:文件类型常见有以下几种,摘自Centos6.8的info ls命令中


    `-' regular file 普通文件
    `b' block special file 块设备文件,存储文件都是这种文件
    `c'  character special file 字符设备文件,输入设备一般是这种
    `d' directory 目录文件
    `l' symbolic link 软链接文件
    `p' FIFO (named pipe) 管道符文件
    `s'  socket 套接字文件

第二~四位(第五~七位,第八~十位):rwx。表示读,写,执行三个权限。read,write,excute。

第十一位的"."表示该文件是否受SELinux安全保护。

GNU `ls' uses a `.' character to indicate a file with an SELinux security context, but no other alternate access method.  (摘自info ls)

基本权限命令

chmod:修改文件的权限模式。

chmod [选项] 权限模式 文件名
选项: -R 递归设置权限

权限模式格式:[ugoa][[+-=][perms]]

  • ugoa:user,group,other,all
  • +-=:加入权限,减去权限,设置权限
  • perms:包含rwx,表示读,写,执行三个权限。

例如:给a文件的所有者和其他人赋予写权限。

chmod g+w,o+w a

数字权限:数字权限的赋予方式比较简单

  • r:4
  • w:2
  • x:1

例如:给a文件赋予755权限,表示自己拥有rwx权限,所属组和其他人拥有rx权限

chmod 755 a

常见数字权限:

  • 644:所有者拥有读、写权限,所属组、其他人拥有只读权限。
  • 755:所有者拥有所有的权限,所属组、其他人拥有读、执行权限。
  • 777:最大权限,慎用!

chown和chgrp

chown 修改文件和目录的所有者和用户组

chown [选项] 所有者:所属组 文件或目录
选项: -R 递归设置权限

普通用户不能修改文件的所有者,哪怕自己是文件的所有者也不行,超级用户才可以。

普通用户可以修改所有者是自己文件的权限。

chgrp修改文件和目录的所属组的命令

权限需要注意的

对文件有写权限,是不能删除文件本身的,只能修改文件中的数据,如果像删除文件,则需要对文件的上级目录拥有写权限。

目录的执行(x)权限代表可以进入该目录。

对文件来说,执行(x)权限是最高权限。

对目录来说,写(w)权限是最高权限。

umask默认权限

系统通过umask来保证新建文件和目录拥有默认权限。

查看系统的umask权限:

[root@192 opt]# umask
0022 #用八进制数值显示umask权限
[root@192 opt]# umask -S
u=rwx,g=rx,o=rx #用字母表示文件和目录的初始权限

umask权限的计算方法:

  • 对文件来说,新建文件的默认最大权限是666,没有执行(x)权限
  • 对目录来说,新建目录的默认最大权限是777
  • 文件的默认权限最大只能是666,umask的值是022,"-rw-rw-rw-"减去"-----w--w-"等于"-rwxr--r--"
  • 目录的默认权限最大可以是777,umask的值是022,"drwxrwxrwx"减去"-d---w--w-"等于"drwxr-xr-x"

永久修改umask权限:在/etc/profile文件修改,建议不要修改。

image-20200919203036410

原文地址:https://www.cnblogs.com/wwjj4811/p/13697496.html