zoukankan      html  css  js  c++  java
  • [Linux系统] (2)用户权限管理

    示例---普通用户之间的文件共享:
    假设公司有2个项目组,共享同一台服务器。

    1.为两个项目组各创建一个用户:

    useradd leo01
    useradd leo02

    2.为两个新用户设置密码:

    passwd leo01
    passwd leo02

    3.在这种情况下,各个用户只能自己访问自己的家目录,无法互相访问。只有root用户可以随意访问普通用户的home目录。

    4.创建一个共享目录叫share:

    cd /
    mkdir share

    此时share目录的状态为:

    drwxr-xr-x    2 root root    6 Oct 20 16:00 share

    我们可以看到,由root用户创建的share目录所属root用户,组也是root组。

    5.创建一个组,将leo01和leo02用户都加到这个组里:

    groupadd leoshare
    usermod -a -G leoshare leo01
    usermod -a -G leoshare leo02

    查看一下用户状态:

    id leo01

    状态为:

    uid=1001(leo01) gid=1001(leo01) groups=1001(leo01),1003(leoshare)

    6.将共享目录share的所属组修改为leoshare组:

    chown root:leoshare share
    drwxr-xr-x    2 root leoshare    6 Oct 20 16:00 share

    7.还需要修改该文件夹的组权限以及其他用户权限:

    chmod g+w share
    chmod o-rx share

    对组加上写权限,对其他用户减去读和进入目录的权限(对于目录来说,x权限即是打开进入目录的权限)。

    drwxrwx---    2 root leoshare    6 Oct 20 16:00 share

    此时,用户leo01和leo02都可以对该文件夹进行访问读写,将需要互通的文件和数据放入该目录,就实现了共享。

    8.重新连接leo01和leo02用户(很重要,因为如果leo01和leo02是在修改share目录权限只前登陆的,权限设置没有刷新,会导致无法访问,重新登陆该用户后就可以了)

    9.我们使用leo01用户在share中创建一个文件a.txt

    cd /share
    vi a.txt

    当我们使用leo02用户来修改a.txt时,会提示无法保存,文件为只读状态。

    查看一下文件的元数据:

    -rw-rw-r-- 1 leo01 leo01 16 Oct 20 16:17 a.txt

    我们发现该文件所属组为leo01,而不是leoshare,对其他用户的权限为只读,所以leo02没有权限修改。

    10.要让leo02能够修改,则需要将文件的组权限修改为leoshare所有:

    chown leo01:leoshare a.txt

    修改之后,leo02就可以对a.txt进行修改了。

    11.除了10中所述的修改组权限,也可以修改其他用户权限为rw模式,因为父目录share已经阻止了除leo01和leo02的其他用户进入。

    chmod 666 a.txt
    -rw-rw-rw- 1 leo01 leo01 35 Oct 20 16:20 a.txt
    保持学习,否则迟早要被淘汰*(^ 。 ^ )***
  • 相关阅读:
    Fusion access
    组网架构
    DHCP中继
    Vxlan配置
    redis多实例
    ansible实现redis角色
    ansible如何ssh免密链接(基于key验证)
    MySQL主从复制
    MySQL范例
    Ubuntu2004安装
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/11707910.html
Copyright © 2011-2022 走看看