Linux账户和权限管理

172 阅读4分钟

一、查看文件和目录的归属

文件的归属(所有权):

  • 属主:拥有该文件或目录的用户账号。
  • 属组:拥有该文件或目录的组账号。

文件的属性分为9列,每列含义如下:

  • 第一列:表示文件类型,-属于普通文件。

  • 第二列:表示文件的UGO权限。rw-r--r--每三个一组。

    rw- :属主的权限;

    r-- :属组的权限;

    r-- :其他人的权限。

  • 第三列:表示ACL表中是否设置了ACL权限。“.” 表示无ACL权限,“+”表示设置了ACL权限。

  • 第四列:表示硬链接数。

  • 第五列:表示文件的属主。

  • 第六列:表示文件的属组。

  • 第七列:表示文件的大小,有多少字节。

  • 第八列:表示最后一次修改时间。

  • 第九列:表示文件名。 2.chmod命令——设置文件和目录的权限 目录的默认权限为777 文件的默认权限为666

读 r=4 写 w=2 执行 x=1 –=0

二、设置目录和文件的权限chmod

chmod [ugoa][+ -=][rwx]文件或目录

"ugoa”"表示该权限设置所针对的用户类别。

“u"代表 文件属主,

“g"代表 文件属组内的用户,

“o"代表 其他任何用户,

“a"代表所有用户(默认为a)。

“+ -"表示设置权限的操作动作。“+"代表增加相应权限,“-"代表减少相应权限,“="代表仅设置对应的权限。.

“rwx”是权限的字符组合形式,也可以拆分使用,如“r”“rx” 等。

三、文件和目录的权限管理

文件的访问权限:

权限类型对文件的影响对目录的影响
r (读取)可读取文件内容可列出目录内容
w (写入)可修改文件内容可在目录中新建、移动、删除文件或子目录
x (执行)可作为程序执行可切换目录

image.png

文件的读、写、执行权限,既可以用字符r、w、x表示,也可以分别表示为八进制数字4、2、1 。

目录的权限需注意:

  • 当只有 r 权限时,不能进入该目录,也不能在目录内创建、删除、修改文件。只能通过 “ls 目录路径”查看目录内的文件名称,不能查看文件的属性信息。
  • 当只有 w 权限时,不能进入目录,不能列出目录内的文件,也不能在目录内创建、删除、修改文件。必须同时有 x 权限,才能创建、删除、修改目录内的文件。
  • 当只有x权限时,只能进入该目录,但不能列出目录内容,也不能创建文件。
  • x 权限是目录最基础的权限,没有x权限,其他权限也会受影响。

四、基本权限UGO

Linux权限授权,默认是授权给三种角色UGO: user(属主)、group(属组)、other(其他人)。

每个文件的权限基于UGO进行设置。

权限三位一组(rwx),同时授权给三种角色UGO。

权限对象UGO:

  • u 属主(user);
  • g 属组(group);
  • o 其他人(other)。
  • a 所有人 all(u+g+o)

设置文件和目录的权限 chmod

chmod命令格式:

字符形式:

chmod   对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x)文件/目录  
“+”号代表增加权限,“-”号代表减少相应权限,“=”号代表覆盖对应的权限。

数字形式:

chmod nnn 文件/目录

选项:

-R 递归修改知道目录下所有子项的权限

示例:

1)使用字符形式设置权限

    [root@localhost ceshi]# chmod u+x file01   //为属主增加执行权限 
    
    [root@localhost ceshi]# ls -l file01 -rwxr--r--. 1 root root 87                                
    [root@localhost ceshi]# chmod g=rw file01   //为属组覆盖读写权限 
   
    [root@localhost ceshi]# ls -l file01 -rwxrw-r--. 1 root root 87                                 
    [root@localhost ceshi]# chmod o-r file01   //去掉其他人的读取权限 
    
    [root@localhost ceshi]# ls -l file01 -rwxrw----. 1 root root 87                                 
    [root@localhost ceshi]# chmod a+r file01   //为所有人增加读写权限 
    
    [root@localhost ceshi]# ls -l file01 -rwxrw-rw-. 1 root root 87 

权限掩码umask

umask作用:

  • 控制新建的文件或者目录的权限。
  • 默认权限去除umask的权限为新建的文件

umask查看: umask

umask设置: umask 0022

创建新文件和目录时,落地权限计算:

  • 系统默认umask为0022(第一个0与特殊权限有关,目前只需要看后三位)。
  • 目录的落地权限=0777-0022=0755。目录必须要有执行权限,用户才能访问该目录。
  • 文件的落地权限=0666-0022=0644。系统出于安全考虑,创建文件时去掉了所有的执行权限,防止一些不安全的程序文件被错误执行。