日期: 2015年08月27日
权限的种类:
在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
实例:
改变文件的拥有者或者组:
<<========================================【chown】========================================>>
chown命令
chown UserName FileName #把某个文件的拥有者修改为某个用户
chown UserName.GroupName FileName #同时修改文件的拥有者和拥有组
chown -R username /DirName #把某个目录下所有文件的拥有者修改为某个用户
chown .GroupName FileName #修改某个文件的拥有组
chgrpGroupName Filename #同上(chgrp只用于修改拥有组)
实例:
<<========================================【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~]#