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

Linux中的权限以及访问控制

时间:2015-07-09 01:01:45      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:linux 文件权限 修改权限

    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

Linux中的权限以及访问控制

标签:linux 文件权限 修改权限

原文地址:http://shmilyfl.blog.51cto.com/8897986/1672164

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