Linux的文件权限和目录配置

本文深入探讨了Linux中文件权限的概念、文件类型与扩展名、文件属性和权限的管理方法,包括如何使用chgrp、chown、chmod命令进行用户组与权限的调整。同时介绍了Linux下文件的类型及其对应的权限作用。

一.用户和用户组

    1.Linux的每个文件中,依据权限分三种身份

  • 用户
  • 用户组
  • 其他人(others)
        用户组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个用户组的支持。

    2.Linux用户身份和用户组记录的文件

        在linux系统默认的情况下账号、密码、用户组信息分别记录在:

  • /etc/passwd : 记录系统上的账号、一般用户、root相关信息
  • /etc/shadow : 记录个人的密码信息
  • /etc/group   : 记录Linux所有的组名

        至于更多的与账号用户组信息有关的设置,还有这三个文件的格式,以后学到在做记录。

二.Linux文件权限的概念

    1.Linux文件属性

        利用 ls -l(或ll) 命令显示文件属性,第一个字段是文件的权限,共10位,第一位是文件类型,接下来三个为一组共三组,为用户、用户组、其他人的权限,权限有r,w,x 三种。

[root@www ~]# ls -al
total 156
drwxr-x---   4    root   root     4096   Sep  8 14:06 .
drwxr-xr-x  23    root   root     4096   Sep  8 14:21 ..
-rw-------   1    root   root     1474   Sep  4 18:27 anaconda-ks.cfg
-rw-------   1    root   root      199   Sep  8 17:14 .bash_history
-rw-r--r--   1    root   root       24   Jan  6  2007 .bash_logout
-rw-r--r--   1    root   root      191   Jan  6  2007 .bash_profile
-rw-r--r--   1    root   root      176   Jan  6  2007 .bashrc
-rw-r--r--   1    root   root      100   Jan  6  2007 .cshrc
drwx------   3    root   root     4096   Sep  5 10:37 .gconf
drwx------   2    root   root     4096   Sep  5 14:09 .gconfd
-rw-r--r--   1    root   root    42304   Sep  4 18:26 install.log
-rw-r--r--   1    root   root     5661   Sep  4 18:25 install.log.syslog
[    1   ][  2 ][   3  ][  4 ][    5   ][     6     ][       7         ]
[  权限  ] [连接] [拥有者][群组] [文件容量] [  修改日期 ] [     档名      ]
        对文件来讲,权限的效能为:
  • r  : 可读取此文件的实际内容,如读取文本文件的文字内容等
  • w : 可以编辑、新增或者修改该文件的内容(但不含删除该文件)
  • x  : 该文件具有可以被系统执行的权限
        对目录来说,权限的属能为:

  • r  : (read contents in directory)表示具有读取目录结构列表的权限
  • w : (modify contents of directory)表示具有更改该目录结构列表的权限 
  • x  : (access directory)代表用户能否进入该目录成为工作目录的用途

    2.Linux下的文件类型与扩展名

        第一个字符所代表的是文件类型。

  • 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
  • 当为[ - ]则是普通文件,例如上表档名为『install.log』那一行;
  • 若是[ l ]则表示为连结档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
  • 若是[ s ]则表示为数据接口文件
  • 若是[ p ]则表示特殊的文件类型,主要目的在解决多个程序同时访问一个文件所造成的错误问题
        基本上Linux下没有所谓的"扩展名", 一个文件能否被执行与它前面的10个属性有关。然而可以被执行和可以执行成功是不一样的。能否执行成功必须要看该文件的内容,看是否有可执行的数据。

        Linux下的"扩展名"使用来表示该文件是什么种类,帮助我们更好的了解文件的用途而已,下面有数种常用的扩展名:

  • *.sh : 脚本或批处理文件(scripts)
  • *.Z、*.tar、*.tar.gz、*.zip : 经过打包的文件
  • *.html、 *.php : 网页相关文件

三.文件属性和权限

    1.chgrp  : 改变文件所属用户组

        请记得,要被改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误!例如: 

[root@www ~]# chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录
     都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
范例:
[root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 发生错误讯息~找不到这个群组名~

    2.chown : 改变文件所有者

        语法及举例:

[root@www ~]# chown [-R] 账号名称 文件或目录
[root@www ~]# chown [-R] 账号名称:组名 文件或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,亦连同次目录下的所有文件都变更

范例:将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

范例:将install.log的拥有者与群组改回为root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

    3.chmod : 改变文件权限

        数字类型改变文件权限

        用数字代表各个权限,各权限的分数对照如下:

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

         每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:

       [-rwxrwx---] 分数则是:

    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others = --- = 0+0+0 = 0

[root@www ~]# chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

        符号类型改变文件权限 

chmod                     u
       g
       o
       a           +(加入)  
  -(除去)
  =(设定)     r
   w
    x     

     文件或目录     


[root@www ~]# chmod u=rwx,go=rx .bashrc 
# 注意!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格!
[root@www ~]# ls -al .bashrc 
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc 

[root@www ~]# ls -al .bashrc 
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc 
[root@www ~]# chmod a+w .bashrc 
[root@www ~]# ls -al .bashrc 
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc 

[root@www ~]# chmod a-x .bashrc 
[root@www ~]# ls -al .bashrc 
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

转载于:https://my.oschina.net/kingFan/blog/166799

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值