第6章 Linux的文件权限与目录配置

用户与用户组

  Linux文件的所有者概念包括:所有者,用户组,其他人。

系统上的账户与一般身份用户存放在/etc/passwd,个人密码记录在/etc/shadow下,组名放在/etc/group下。

Linux文件权限概念

Linux文件属性

  查看文件属性,可以使用ls指令,如下:

dr-xr-xr-x.  17 root root   4096 6月  27 16:16 .
dr-xr-xr-x.  17 root root   4096 6月  27 16:16 ..
lrwxrwxrwx.   1 root root      7 6月  24 19:10 bin -> usr/bin
dr-xr-xr-x.   4 root root   4096 6月  27 13:25 boot
drwxr-xr-x.  20 root root   3480 6月  27 16:16 dev
drwxr-xr-x. 141 root root   8192 6月  27 16:15 etc
drwxr-xr-x.   3 root root     19 6月  24 19:34 home
lrwxrwxrwx.   1 root root      7 6月  24 19:10 lib -> usr/lib
lrwxrwxrwx.   1 root root      9 6月  24 19:10 lib64 -> usr/lib64
drwxr-xr-x.   2 root root      6 8月  12 2015 media
drwxr-xr-x.   2 root root      6 8月  12 2015 mnt
drwxr-xr-x.   3 root root     15 6月  24 19:28 opt
dr-xr-xr-x. 229 root root      0 6月  28 2016 proc
-rw-r--r--.   1 root root 232793 6月  27 16:16 .readahead
dr-xr-x---.  17 root root   4096 6月  27 16:16 root
drwxr-xr-x.  38 root root   1160 6月  27 16:16 run
lrwxrwxrwx.   1 root root      8 6月  24 19:10 sbin -> usr/sbin
drwxr-xr-x.   2 root root      6 8月  12 2015 srv
dr-xr-xr-x.  13 root root      0 6月  27 16:15 sys
drwxrwxrwt.  25 root root   4096 6月  27 16:27 tmp
drwxr-xr-x.  13 root root   4096 6月  24 19:10 usr
drwxr-xr-x.  21 root root   4096 6月  28 2016 var

  文件属性包含七个部分:文件权限、连接数、文件所有者、文件所属用户组、文件大小、最后修改时间、文件名。

文件权限的第一个字母含义如下:

  d:目录

  -:文件

  l:连接文件

  b:可供存储的接口设备

  c:串行端口设备

文件权限的后9个字母分为三组,分别代表文件所有者权限、同用户组的权限、其他非本用户组的权限,r表示可读,w表示可写,x表示可执行,-表示没有该权限。

改变文件属性和权限

    chgrp:改变文件所属用户组

      chgrp [-R] dirname/filename ...

      -R : 进行递归更改,即连同子目录下的所有文件、目录

  举例:chgrp users install.log 表示将install.log文件的用户组改为users,前提是/etc/group存在该用户组。

    chown:改变文件所有者

      chown [-R] 帐号名称 文件或目录

      chown [-R] 帐号名称:组名  文件或目录

      -R : 进行递归更改,即连同子目录下的所有文件、目录

    chmod:改变文件权限

      chmod [-R] xyz 文件或目录

      使用数字代表权限:

      r:4

      w:2

      x:1

      比如,更改权限为-rwxrwx---,则指令为 chmod 770 filename

      chmod还可以通过符号类型改变文件权限:

        使用u,g,o,a表示用户,用户组,其他人,所有人,举例如下:

        chmod u=rwx,go=rx .bashrc          使用‘=’来为不同的身份设置权限

        chmod a+w .bashrc                       使用‘+’来为某个身份添加权限

        chmod a-w .bashrc                       使用‘-’来为某个身份删除权限

 使用‘=’时,未涉及的权限默认为无此权限,使用‘+’和‘-’时,未涉及的权限默认不更改。

目录与文件的权限意义

权限对于文件的重要性

      r:可以读取文件的实际内容

      w:可以编辑、新增或修改文件内容(但不含删除文件)

      x:可以被系统执行

权限对于目录的重要性

 r:具有读取目录结构列表的权限

 w:具有更改结构目录列表的权限,包括建立新的文件和目录、删除已有的文件和目录、重命名已有文件和目录、转移该目录的文件和目录位置。

      x;用户可以进入该目录,例如通过cd dir转入到一个目录的权限

      注意:当用户具有r权限而不具有x权限时,是无法读到该目录文件。

  用户A拥有dir目录的rwx权限,dir目录下有个文件b,A对该文件没有任何权限。这种情况下,因为A拥有对该目录的完整权限,虽然不能更改、读取b文件,但却可以删除b文件。

这意味着用户能否删除一个文件,不取决于文件权限,而是由文件上层目录的权限决定。当文件上层目录对用户具有w权限时,便可以删除任意权限的文件。

Linux目录配置

目录配置标准

/(root,根目录)

/bin:放置执行文件,放置的是单用户维护模式下也能被操作的指令,包括cat、chmod、chown、date、mv、mkdir、cp、bash (必须放在根目录)

/boot:放置开机会使用的文件

/dev:任何设备和接口设备都是以文件形式存放在该目录(必须放在根目录)

/etc:几乎所有配置文件都存放在该目录(必须放在根目录)

/home:用户的主文件夹

/lib:开机时用到的函数库,以及在/bin、/sbin下命令调用的函数库(必须放在根目录)

/media:放置可删除设备,包括软盘、光盘、DVD都挂在这

/mnt:暂时挂在额外设备

/opt:第三方软件放置的目录

/root:系统管理员的主文件夹

/sbin:开机过程所需的命令(必须放在根目录)

/srv:服务所需数据目录

/tmp:一般用户暂时放置文件的地方,任何人都能访问。

/usr(unix 软件资源)

放置可分享和不可变动的数据,软件默认安装在该目录。

/var

  存放缓存,登录文件以及某些软件运行产生的文件。

posted @ 2016-06-27 21:35  且听风吟-wuchao  阅读(377)  评论(0编辑  收藏  举报