码迷,mamicode.com
首页 > 系统相关 > 详细

Linux权限

时间:2016-03-14 02:08:42      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:linux权限

普通权限

用户和组

 我们使用linux时,以用户身份登陆,所运行的进程也是以用户的身份运行的。而操作系统以用户身份来标识用户可以使用哪些资源,不能是用哪些资源。为了方便管理用户,可以将用户划分组。

权限:

 权限是计算机用来限制资源访问的一种机制。

 权限是按照用户来划分的,即U(user)、G(group)、O(other)。

 权限一般分为读、写、执行。

 -rwxrwxrwx. 1 root root 0 3月  1103:58 test。

 标色部分分别对应U、G和O。每个用户都拥有三种权限,根据不同场景可以自行更改。

技术分享

 

 注意:目录一定要有x权限。

修改权限方式:

 R=4,W=2,X=1。

 chmod u[g][o][a]+r[w][x]file或 777 file (a=rwo)。

示例:

 以u的权限为例,如果要设定为“读写执行”权限,即rwx,权限为7(4+2+1)。

 如果要设定为rw-,权限为6(4+2+0)。

 可以看出,要设置的权限值直接相加,不设置的权限为0。

默认权限

Umask:

 一般文件和目录的权限是666和777,但我们创建文件或目录时会少一些权限。而少的权限就是umask。

 创建文件时权限:666-umask;创建目录时权限:777-umask。

为什么设置umask?

 我的理解是出于安全,如果没有umask,用户创建完文件后忘记修改权限,导致other拥有写权限,那就遭了;

技术分享

 可以看到root对同组的权限设定很严格,都没有w权限,还是出于安全考虑。

 注意:目录一定要有x权限。

umask修改:

 umask可以设定umask xxxx(本shell可用),但一般使用默认就好。

特殊权限

除了普通权限,用户还拥有特殊权限

技术分享


设定权限:

设置suid:

  chmod u+x file 或 chmod 4xxx file。

 设置sgid:

  chmod g+2 file 或 chmod 2xxx file。

 设置sticky:

  chmod o+t dir 或 chmod 1xxx dir。

示例:

suid

技术分享

  以修改密码为例,先看下密码存放文件shadow,没有任何权限  。按照普通权限的思维,普通用户根本不能写入该文件来修改密码,那修改密码就只能通过root了(root拥有至高无上的权限)。但事实并非如此,普通用户通过运行passwd就能直接修改密码。

技术分享

 我再看下passwd的权限,发现用户的执行权限变为s,这就是suid权限,当我们修改密码时会直接调用root权限

 所以拥有suid的文件以文件的所属身份运行而非执行用户。

sgid

 对于文件sgid与suid类似,这里就不细说了。

 对于组做个示例就很好理解了。

1、用户test1创建目录sgid,并创建文件file1

技术分享

2、切换同组test2在该目录下创建文件file2

技术分享

3、该目录添加sgid权限,test2再创建文件file3,查看文件组

技术分享

总结:

 该目录创建的任意新文件的所属组与该目录的所属组相同。

Sticky

 还是通过示例说明。

1、test1创建sgid目录,并创建文件file1

技术分享

2、切换至同组的test2,并删除该文件file1

技术分享

3、设置目录sticky权限,组权限的o变为T。test2再次尝试删除file1

技术分享

总结:

 对目录有写入权限的用户可以删除其拥有的文件,无法删除其他用户所拥有的文件。        

尾巴:

 写得比较粗糙,但重要的都提到了。刚开始创建管理用户组时,权限设置确实有点让人头大。还是那句话,多做多试错。

 Learn Linux The Hard Way!







本文出自 “Learn Linux The Hard Way” 博客,请务必保留此出处http://qhd1117.blog.51cto.com/11283595/1750579

Linux权限

标签:linux权限

原文地址:http://qhd1117.blog.51cto.com/11283595/1750579

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