美文网首页
Linux的用户权限

Linux的用户权限

作者: 昆仑草莽 | 来源:发表于2019-03-11 10:43 被阅读0次

    在Linux使用中的权限,每一位用户的权限都是不同的,root用户拥有最高的权限,就是系统的上帝,但是普通用户的权限却收到了很大的限制,毕竟管理员只需要一名,其他的都只是使用者。在普通用户使用中,有写命令是需要管理员权限来完成的,这时候用户的权限是非常重要的。那怎么才能让普通用户有管理员权限而又不对系统增加管理员呢。在这里,我们使用acl命令就可以完美的解决。
    在Linux中,acl命令是和setf、getf一起使用的,他代表的含义是:
    acl :针对单一使用者,设置单一文件或目录的rwx权限的修改
    setfacl :配置单一使用者,针对单一文件或目录的权限。
    命令格式为:
    setfacl -m u:用户名:rwx 文件名/目录
    setfacl -m g:组名:rwx 文件名/目录
    setfacl -m m::rwx 修改mask值
    getfacl:获取单一使用者,针对单一文件或目录的权限。
    命令格式为:
    getfacl 文件名/目录

    注:mask是指文件或目录的最高权限---权限上限。
    如果mask中没有的权限,那么即使setfacl设定了权限,那么他也不会有权限。
    mask权限是:指定用户,指定组,所属组的所有权限。

    参数:-m 配置acl参数,-x删除单一文件的acl ,-b删除acl配置 ,-R递归配置acl配置
    还有很多参数,请自行man查阅。
    知道上面的一些定义后,我们要怎么使用呢。
    在企业做项目中,开发组是在服务器端进行开发的,这样做的好处是,组内成员可以同时进行编辑、开发,可以看到组内成员彼此的进度,进行测试等等。
    在开发中我们总是需要管理员权限来做一些文件或目录的修改,更新等操作。
    这时候我们就可以使用setfacl来设置权限了。
    eg:有一个项目需要在Ubuntu下开发,开发人员4位。
    这是我们的系统管理员可以这么做。
    第一步:建立一个组
    groupadd admin ##建立admin组
    useradd a;useradd b;useradd c;useradd d ##建立用户a,b,c,d
    usermod -G admin a;usermod -G admin b;
    usermod -G admin c;usermod -G admin d

    当然如果觉得麻烦,可以直接使用:
    user add -g admin 用户名 #将用户加入admin组。
    组密码,用户密码设置请自行百度查询,这里不做解释。

    第二步:建立组文件 ##我们在home下建立gadmin文件
    mkdir /home/gadmin
    setfacl -m g:admin:rwx /home/gadmin

    大功告成,这样这个组里的成员针对/home/gadmin文件有了最高的管理权限。

    当使用完毕,不在需要管理权限时候。
    setfacl -b /home/gadmin
    这样管理权限就移除了。或者
    setfacl -x u:用户名:rwx 文件名
    这样针对u用户的权限就移除了。

    设置权限后。我们可以只用get查看文件按的权限
    getfacl 文件名 ##查看文件按权限。
    这个命令下就显示了,文件的user权限,group权限,mask权限。


    图片1

    那么,我们这么知道文件或目录是否有了给定用户或组的权限呢。看下图:


    图片2

    在x后有一个+号,就显示了已经给与某个用户或组权限了,这时候可以用
    getfacl 文件名/目录 来查询,就可以知道了。
    也就是说,只要后面有+号就有权限,没有+号,就没有赋予权限。

    至此,本文就介绍完成。用户权限问题就基本解决了。

    相关文章

      网友评论

          本文标题:Linux的用户权限

          本文链接:https://www.haomeiwen.com/subject/uxqvpqtx.html