文件的安全和权限--chmod命令

                注:本系列文章所用的注释符号统一为#


1. 文件和目录的权限
   *文件的权限:
     读r、写w、执行x
   *针对的用户,文件的权限可分为:
     文件属主,创建该文件的用户。
     同组用户,拥有该文件的用户组中的任何用户。
     其他用户,即不属于拥有该文件的用户组的某一用户。
  eg:
    fish@piniheaven:~$ ls -l
     总用量 52
    -rw-r--r-- 1  fish fish 8445  6月 21 20:39 examples.desktop
    -rw-rw-r-- 1  fish fish    0  6月 23 19:38 libpeerconnection.log

 

解析:
     总用量 52             该目录中所有文件所占的空间。
     -rw-r--r-- 1          该文件的权限位。如果除去最前面的横杠,这里一共是 9个字符,他们分别对应 9个权限位,每三位为一组
     rw-:                  文件属主权限,前面三位
     r--:                  同组用户权限,中间三位
     r--:                  其他用户权限,最后三位
   其中出现在 r、w、x位置上的横杠表示相应的访问权限被禁止。
     1                     该文件硬链接的数目。
     fish                  文件的属主。
     fish                  文件的属主 fish所在的缺省组(也叫做fish)。
     8445                  用字节来表示的文件长度,记住,不是 K,而是字节!
     6月 21 20:39          文件的更新时间。
     examples.desktop               文件名。



2.文件类型(有七种):文件权限位前面的那个字符
   d 目录。
   l 符号链接(指向另一个文件 )。
   s 套接字文件。
   b 块设备文件。
   c 字符设备文件。
   p 命名管道文件。
   - 普通文件,或者更准确地说,不属于以上几种类型的文件。

3.权限
   eg:
   fish@piniheaven:~/MyDoc$ touch test                #touch 新建一个不存在的文件
   fish@piniheaven:~/MyDoc$ ls -l
   总用量 16
   -rw-rw-r-- 1 fish fish   0  7月  3 16:37 test

4.改变权限位
 法一:
   *chmod命令的一般格式为:
       chmod [who] operator [permission] filename

 

  *who的含义是:
    u 文件属主权限。      
    g 同组用户权限。
    o 其他用户权限。
    a 所有用户(文件属主、同组用户及其他用户 )。
    注:可以用英文单词助记,当然了,这只是本人主观的看法:u:user  g:group  o:other a:all
 

  *operator的含义:
    + 增加权限。
    - 取消权限。
    
 *permission的含义:
     r 读权限。
     w 写权限。
     x 执行权限。
    
    

  eg:
    fish@piniheaven:~/MyDoc$ chmod ug-w test
    fish@piniheaven:~/MyDoc$ ls -l
      总用量 16
    -r--r--r-- 1  fish fish   0  7月  3 16:37 test 
   #与未更改权限之前对比  -rw-rw-r-- 1 fish fish   0  7月  3 16:37 test


 法二:
      chmod命令绝对模式的一般形式为:
            chmod [mode] file       
 
    

其中mode是一个八进制数。为了方便记忆,可以用十进制表示:r:4 w:2 x:1,最后把同一组的rwx加起来作为一位八进制数
   

eg:
      fish@piniheaven:~/MyDoc$ chmod 666 test
      fish@piniheaven:~/MyDoc$ ls -l
        总用量 16
      -rw-rw-rw- 1 fish fish     0  7月  3 16:37 test 
       #r+w=6 所以666表示把每一组的权限都设置为rw

  Tip:
      一次设置目录下所有文件(目录和文档)的权限,可以用:
       eg:
           chmod 777 *

     

   通过使用 -R选项连同子目录下的文件一起设置:
       eg:
          chmod -R 777  ~/MyDoc/*  
      #把~/MyDoc/目录下的所有文件连同各个子目录下的文件的权限全部一起设置


5.目录
    *读权限位意味着可以列出其中的内容。  (读取列出目录的权限)
    *写权限位意味着可以在该目录中创建文件
    *执行权限位则意味着搜索和访问该目录  (某个用户访问进入这个目录的权限)
 eg:
   fish@piniheaven:~/MyDoc$ chmod 300 ./hello   #把hello目录权限改为-wx--- ---
   fish@piniheaven:~/MyDoc$ ls -l
      总用量 24
   d-wx------ 2 fish fish 4096  7月  3 18:56 hello
   fish@piniheaven:~/MyDoc$ cd ./hello      #进入hello目录
   fish@piniheaven:~/MyDoc/hello$ ls        #列出hello目录下的内容
   ls: 无法打开目录.: 权限不够



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值