1、基本权限
(1).字符表示法
r:读取权限,对于文件来说,表示拥有馋看文件内容的权限,而对于目录而言,则表示 可以查看目录下的子对象的名称;
w:写入权限,对于文件来说,表示拥有改写,删除等权限,而对于目录而言,则表示拥 有创建子对象的权限;
x:运行、执行权限,对于文件而言,表示拥有可执行的权限,而对于目录来说则表示可 以切换进目录中。
(2).数字表示法
r-- = 100(8421BCD码表示) =4(十进制)
-w- = 010(8421BCD码表示) =2(十进制)
--x = 001(8421BCD码表示) =1(十进制)
2、修改权限
chmod -R (u)ser/(g)roup/(o)ther/(a)ll 操作符 (+/-/=) 权限(字符) filename
其中-R参数表示如果对目录执行,则使该目录下的所有文件同时做出改变,表示递归。
举例:
创建一个文件名为test的文件:
给test文件的所有者增加执行权限
给test文件的所属组增加读写的权限
取消test文件的其他用户的读权限
修改test文件的所有者为test用户
修改test文件的所属组为test组
3、特殊权限
(1).将root的部分权限下放给普通用户
使用visudo命令打开/etc/sudoers,可以在此作部分设置将指定权限分发给指定用户
举例:
打开配置文件
将添加账号密码的权限下放给用户fcy
添加的绝对路径可以通过which+执行文件名寻找到。如which useradd)
测试添加用户test2
测试为test2添加密码
扩展:
如果为了方便为一批账号下放相同的权限,可以在/etc/sudoers中添加别名设置
格式如下:
其中第一行定义了权限的组,第二行定义了普通用户的组,第三行指定用户组所拥有的权限。
(2)特殊的文件权限
suid : 针对可执行文件,当执行具有suid的指令或工具时,是以该工具或指令的所有者身份运 行(注意,如果对一个没有x权限的文件添加suid,则会显示为大写的S,否则为小写s)
sgid :针对目录,当一个目录拥有sgid ,在该目录下创建的所有子对象的所属组是父目录的 所属组
sticky :针对目录,对other进行设置,该目录下的子对象,只能由所有者进行删除,其他普通 用户不具有删除权限
为文件和目录添加或删除特殊权限的方法:
字符表示法
chmod u+/-s --->添加suid
chmod g+/-s --->添加sgid
chmod o+/-t---->添加sticky
数字表示法
suid sgid sticky
1 0 0 =4
0 1 0 =2
0 0 1 =1
假设一个名为test的文件的权限为644,即-rw-r--r--
chmod 4644 test --->添加suid
chmod 2644 test --->添加sgid
chmod 1644 test --->添加sticky
(3).特殊属性
通过lsattr查看文件的特殊属性
通过chattr设置文件的特殊属性(加属性则+,去属性则-)
几个常用的特殊属性参数:
1). i --->如果为一个文件添加了这个参数,则该文件将会无法删除和修改,包括 root用户,目的是为了防止误操作而删除重要文件
root用户也无法删除
2).A --->该参数可以让文件的atime不再发生改变(常用于web服务器的首页,防 止首页被多个用户访问后总是不停的修改accesstime,提升效率)
修改前的atime
可以看到,即使修改了test,atime也不会改变
3).a --->拥有这个特殊权限的文件,只能以追加的方式编辑
4、权限的acl --->添加特殊的acl控制
具体实现:
找一块格式化过的硬盘,进入/etc/fstab中添加acl控制和开机挂载点
查看对应文件的acl
设置文件的acl
测试(由于文件test属于用户root和组root,other只有读的权限)
普通用户test无法修改文件test,因为只有r权限
普通用户fcy可以修改文件test
本文出自 “却邪水心泮” 博客,请务必保留此出处http://shmilyfl.blog.51cto.com/8897986/1672164
原文地址:http://shmilyfl.blog.51cto.com/8897986/1672164