码迷,mamicode.com
首页 > 其他好文 > 详细

文件的权限

时间:2018-06-09 15:32:18      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:文件的权限

文件的权限

 文件的权限主要针对三类对象进行定义
   owner: 属主, u
   group: 属组, g
   other: 其他, o
每个文件针对每类访问者都定义了三种权

                           r: Readable
                           w:Writable
                           x:Excutable

文件

  当仅r权限作用在文件上的时候,表示用户可以读取该文件的内容
    -r--------. 1 tom tom 12 Jun  9 03:17 a
    [tom@centos6(mit) app]$ cat a

hello world
 当仅w权限作用在文件上的时候,表示用户可以修改该文件的内容
--w-------. 1 tom tom 16 Jun 9 03:22 a
echo 123 >> a
chmod 600 a
[tom@centos6(mit) app]$ cat a
hello world
123

  当仅x权限作用在文件上的时候,没有意义。
  当rw同时作用在文件上的时候,表示用户可以读写文件
    [tom@centos6(mit) app]$ ll a

-rw-------. 1 tom tom 16 Jun 9 03:22 a
[tom@centos6(mit) app]$ cat a
hello world
123
[tom@centos6(mit) app]$ echo 321 >> a
[tom@centos6(mit) app]$ cat a
hello world
123
321

  当rx同时作用在文件上的时候,表示用户可以读且可以执行该文件
[tom@centos6(mit) app]$ ll a

-r-x------. 1 tom tom 33 Jun 9 03:36 a
[tom@centos6(mit) app]$ cat a
#!/bin/bash

echo "hello world"

[tom@centos6(mit) app]$ ./a
hello world
  当wx同时作用在文件上的时候,权限与仅w相同
[tom@centos6(mit) app]$ ll a
--wx------. 1 tom tom 33 Jun 9 03:36 a
[tom@centos6(mit) app]$ echo passwd >> a
[tom@centos6(mit) app]$ cat a
cat: a: Permission denied
[tom@centos6(mit) app]$ ./a
/bin/bash: ./a: Permission denied
  当rwx同时作用在文件上的时候,用户可以读写执行。
[tom@centos6(mit) app]$ ll a
-rwx------. 1 tom tom 40 Jun 9 03:38 a
[tom@centos6(mit) app]$ cat a
#!/bin/bash

echo "hello world"
[tom@centos6(mit) app]$ echo "how are you">> a
[tom@centos6(mit) app]$ ./a
hello world

    目录

     当仅r权限作用在目录上的时候,表示用户可以短列出查看目录下的文件名
     [tom@centos6(mit) ~]$ ls /app/ (短列出)

a apache22 test
[tom@centos6(mit) ~]$ ls -l /app/ (长列出)

-????????? ? ? ? ? ? a
d????????? ? ? ? ? ? apache22
d????????? ? ? ? ? ? test
  当仅w权限作用在目录上的时候,没有意义
当仅x权限作用在目录上的时候,表示用户可以进入且可以访问目录下的文件(用户需知道目录下有哪些文件),但不能列出文件名
d--x--x--x. 4 root root 12288 Jun 9 03:48 /app/
[tom@centos6(mit) ~]$ cd /app/
[tom@centos6(mit) app]$ ls
ls: cannot open directory .: Permission denied
[tom@centos6(mit) app]$ cat a
#!/bin/bash

echo "hello world"

     当仅rw权限同时作用在目录上的时候,权限等同于仅r权限作用在目录
  当仅rx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,同时可以长列出文件

[tom@centos6(mit) ~]$ cd /app
[tom@centos6(mit) app]$ ll
total 12
-rwx------. 1 tom tom 52 Jun 9 03:44 a
drwxr-xr-x. 13 root root 4096 Jun 5 09:30 apache22
drwxrwxr-x. 2 tom tom 4096 Jun 9 03:48 test

[tom@centos6(mit) app]$ cat a
#!/bin/bash

echo "hello world"

[tom@centos6(mit) app]$ ls
a apache22 test
[tom@centos6(mit) app]$ touch b
touch: cannot touch `b‘: Permission denied
  
当仅wx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,可以创建、编辑及删除,但不能列出

[tom@centos6(mit) ~]$ ls -dl /app/
d-wx-wx-wx. 4 root root 12288 Jun 9 03:48 /app/
[tom@centos6(mit) ~]$ cd /app/
[tom@centos6(mit) app]$ cat a
#!/bin/bash

echo "hello world"

[tom@centos6(mit) app]$ touch b
[tom@centos6(mit) app]$ vim a

#!/bin/bash

echo "hello world"
how are you

[tom@centos6(mit) app]$ ls
ls: cannot open directory .: Permission denied
[tom@centos6(mit) app]$ rm -rf test

  当rwx权限同时作用在目录上的时候,表示用户有完整权限

  X 对于批量增加x权限时,可以跳过文件而只对目录加x

[tom@centos6(mit) app]$ ll
drw-rw-r--. 3 tom tom 4096 Jun 9 04:19 test
[tom@centos6(mit) app]$ chmod -R + X test/
[tom@centos6(mit) app]$ ll
drwxrwxr-x. 3 tom tom 4096 Jun 9 04:19 test
[tom@centos6(mit) app]$ cd test/
[tom@centos6(mit) test]$ ll
total 4
-rw-rw-r--. 1 tom tom 0 Jun 9 04:19 c
drwxrwxr-x. 2 tom tom 4096 Jun 9 04:19 test1

文件权限用八进制表示如下:

    • -  000 0
    • x  001 1
  • w- 010 2
    -w x 011 3
    r - - 100 4
    r - x 101 5
    r w - 110 6
    r w x 111 7

                     如:640: rw-r----- 

            755: rwxr-xr-x

修改文件权限

chmod [OPTION]... OCTAL-MODE FILE...
-R:递归修改权限
chmod -R g+rwx /testdir
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限:
    u= g= o= ug= a= chmod o=rx file
修改一类用户某位或某些位权限
    u+ u- g+ g- o+ o- a+ a- + -(chmod a+x b 和chmod +x b 效果一样)
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的权限修改成和RFILE的权限一样
[root@centos6(mit) app]# ll b
-r--r--r--. 1 tom tom 0 Jun 9 04:10 b
[root@centos6(mit) app]# ll c
-rw-rw-rw-. 1 root root 0 Jun 9 05:26 c
[root@centos6(mit) app]# chmod --reference=c b
[root@centos6(mit) app]# ll b
-rw-rw-rw-. 1 tom tom 0 Jun 9 04:10 b

新建文件和目录的默认权限
umask值可以用来保留创建文件权限

新建FILE权限:666 - umask
如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建DIR权限:777-umask
非特权用户umask是002
root的umask是022

全局设置:/etc/bashrc 用户设置:~/.bashrc

文件的权限

标签:文件的权限

原文地址:http://blog.51cto.com/13767698/2126716

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!