您的位置:首页 > 运维架构 > Linux

Linux系统基础知识(四)文件权限的控制

2018-08-16 10:18 615 查看

1、权限存在的意义

  为了文件或目录的安全。

2、权限的识别

  ls -l file :识别文件权限。



  ls -ld dir :识别目录权限。



3、权限的查看与理解

3.1文件权限的查看与理解

  以file1的权限为例:



  - rw-r--r--.  1  root  root  0  Aug 16 03:10  file1
  上述权限每个部分意义如下:
(1)-
  文件类型。文件类型如下:
  - :普通文件
  d :目录
  l :软链接(快捷方式)
  s :socket(套接字)
  c :字符设备(显示字符的设备)
(2)rw-r--r--.
  文件权限。文件权限如下:
  r :读权限
  w :写权限
  x :执行权限
  上述文件权限分为三部分权限:
  rw-部分 :表示user(即本人)对该文件的操作权限。
  第一个r--部分 :表示group(即组成员)对该文件的操作权限。
  第二个r--部分 :表示other(即其他人)对该文件的操作权限。
(3)1
  文件硬链接个数,文件被系统记录次数。
(4)第一个root
  表示文件拥有者
(5)第二个root
  表示文件拥有组
(6)0
  表示文件大小
(7)Aug 16 03:10
  表示文件最后一次被修改的时间。
(8)file1
  文件名称。

3.2目录权限的查看与理解

  以westos的权限为例:



  d rwxr-xr-x. 2 root root  48 Aug 16 03:11 westos
(1)-d
  目录类型。
(2)rwxr-xr-x.
  目录权限。文件权限如下:
  r :读权限
  w :写权限
  x :执行权限
  上述目录权限分为三部分权限:
  rwx部分 :表示user(即本人)对该目录的操作权限。
  第一个r-x部分 :表示group(即组成员)对该目录的操作权限。
  第二个r-x部分 :表示other(即其他人)对该目录的操作权限。
(3)2
  表示目录中子目录的个数。
(4)第一个root
  表示目录拥有者
(5)第二个root
  表示目录拥有组
(6)48
  子文件或子目录元数据大小
(7)Aug 16 03:11
  表示目录最后一次被修改的时间。
(8)westos
  目录名称。

4、修改用户和用户组

  此命令必须用root用户执行。

4.1chown username file|dir

  更改file|dir的所有人。如图,将file的所有人由root更改为bighead:



4.2chown -R username dir

  更改目录及目录下的所有文件和目录的所有者。如图,将所有者由root改为bighead。



4.3chown username:group file|dir

  更改文件或目录的所有者以及所有组。如图,将文件file1的所有者改为root,所有组改为root:



4.4chgrp group file|dir

  更改文件或目录的所有组。如图,将文件file1的所有组由root改为bighead:



4.5chgrp -R group dir

  更改目录及目录下的所有文件和目录的所有组。如图,将所有组由root改为bighead。



5、文件权限

5.1权限作用

(1)r(读)
  对文件:是否可以查看文件中的字符。
  对目录:是否可以查看目录中有什么文件。
(2)w(写)
  对文件:是否可以改变文件中记录的字符。
  对目录:是否可以在目录中管理文件,是否可以更改目录中的元数据。
(3)x(执行)
  对文件:是否可以通过名称调用文件中记录的程序。
  对目录:是否可以进入此目录。

5.2权限管理

(1)字符形式(不常用)
  chmod <u|g|o><+|-|=><r|w|x> file|dir
  例如,将文件file1的user权限设置为rwx,group权限设置为rw,other权限设置为r:



(2)数字形式(常用)
  权限对应的数字如下:
  r :4
  w :2
  x :1
  rwx :7(4+2+1)
  rw- :6(4+2)
  r-x :5(4+1)
  r-- :4(4)
  -wx :3(2+1)
  -w- :2(2)
  --x :1(1)
  例如,将文件file2的user权限设置为可读可写可执行,group权限设置为可读可执行,other权限设置为可读:



6、权限列表

  如果在文件权限后有“+”(例如:rw-r--r--+),表示权限列表开启。

6.1查看文件权限

  命令: getfacl 文件名|目录名
  例如查看文件file1的权限:



  其中:
  #file: file2 :文件名称
  #owner: root :文件所有人
  #group: root :文件所有组
  user::rwx :用户权限
  group::r-x :组权限
  other::r-- :其他人权限
  user:bighead:rwx :特殊指定用户权限
  mask::rwx :权限最大值

6.2设置文件权限

(1)setfacl -m u:uername:rwx file
  设定列表中的用户权限。如图,设置权限列表中用户bighead对file2的权限为rwx:



(2)setfacl -x u:uername file
  删除列表中的指定用户。如图:删除权限列表中bighead用户:



(3)setfacl -b file
  关闭权限列表。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息