日期: 20150827

 

权限的种类:

Linxu系统中,用户对文件的访问权限有三种:

分别为:可读、可写、可执行

r

w

x

readable

writable

executable

 

每种权限的详细解释:

目录:

r: 可使用ls命令列出目录中的文件或子目录列表

w: 可在此目录中创建或删除文件

x: 可使用`ls -l` 列出目录文件及子目录的详细属性信息;

可使用cd命令切换进此目录

 

文件:

r: 可使用文件查看工具查看其内容

w: 可使用文件编辑工具编辑其内容

x: 可向内核请求将此文件运行为进程

 

 

//使用ls命令-l选项可以列出每个文件或目录的详细权限

[root@localhost~]# ls -ld /etc/

drwxr-xr-x. 93 root root8192 Aug 28 13:14 /etc/

[root@localhost~]#

 

每个文件的权限主要针对三类对象进行定义:

owner: u, 属主

group: g, 属组

other: o, 其他用户

 

d

rwx

r-x

r-x

类型

属主

属组

其他

 

某类用户对某文件的访问权限:

---  000  0

--x 001  1  =执行

-w- 010  2  =写入

-wx 011  3  =写入+执行

r-- 100  4  =只读

r-x 101  5  =读+执行

rw- 110  6  =读+写

rwx 111  7  =读+写+执行

------------------------------------------------

 

例如:

644: rw-rw-r--

rwxr-x---: 750

 

关于目录权限的管理:

 

目录权限   对应目录中文件的操作

rwx

ls

rm

cd

000

N

N

N

001

N

N

Y

010

N

N

N

011

N

Y

Y

100

?

N

N

101

Y

N

Y

110

?

N

N

111

Y

Y

Y

 

目录的r权限意味着可以列出其中的内容。w权限意味着可以在该目录中创建文件,如果不希望其他用户在目录中创建文件,可以取消响应的w权限。x权限则意味着搜索和访问该目录。

 

如果对目录具有wx权限,则默认可以删除目录中任何文件。

如果把同组用户或其他用户针对某一个目录的权限设置为--x,那么他们将无法列出该目录中的文件的属性。如果该目录中有一个x权限的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录但并不妨碍他执行该目录中的文件。

 

 

<<========================================chmod========================================>>

chmod命令

功能:

用来变更文件或目录的权限。

 

用法1

chmod u+|-[r|w|x] filename  #修改用户权限

chomd g+|-[r|w|x] filename  #修改组权限

chomd g+|-[r|w|x] filename  #修改其他用户权限

 

用法2

chmod  ### FileName


实例:

wKioL1XgixCD4nH6AAHXWAqZ8Wg682.jpg


改变文件的拥有者或者组:


<<========================================chown========================================>>

chown命令

chown UserName FileName  #把某个文件的拥有者修改为某个用户

chown UserName.GroupName FileName #同时修改文件的拥有者和拥有组

chown -R username /DirName  #把某个目录下所有文件的拥有者修改为某个用户

chown .GroupName FileName #修改某个文件的拥有组

chgrpGroupName Filename #同上(chgrp只用于修改拥有组)

 

 

实例:

wKiom1XgiPXQhqPVAAIJv4u5o6w991.jpg

 

 

<<========================================umask========================================>>

umask值:

功能:

确定创建文件或文件夹的缺省权限,默认情况下文件夹权限为755,文件权限为644。

/etc/bashrc #umask值保存在此文件中。

 

系统默认UID小于99的用户umask值为220,UID大于99的用户umask值为200,设置一个合理的umask值,可确保创建的文件或文件夹具有所希望的缺省权限,防止其他非同组用户对你的文件具有w权限。

 

在shell下直接输入umask,显示的是当前umask值。

666- umask值 = 实际文件的权限

777- umask值 = 文件夹的权限

 

对普通用户而言,其umask值为002,即其建立的普通文件默认权限为664,目录权限为775.

root用户的umask值为022,即其建立的普通文件默认权限为644,目录权限为755.

 

Linux系统在创建文件时默认不给予执行权限,如果777-umask=有执行权限时,默认会+1

 

 

查看umask设置:

[root@localhost~]# umask -S

u=rwx,g=rx,o=rx

[root@localhost~]# umask -p

umask0022

[root@localhost~]#