美文网首页
Linux 用户及权限

Linux 用户及权限

作者: paul_deng | 来源:发表于2021-12-15 16:09 被阅读0次

    概览

    本文主要引导如何看用户和权限,及简单的权限设置,不做详细的用户增删查改等操作说明。

    1. 查看用户

    1.1 查看用户列表

    $ cat /etc/passwd

    输出说明:

    # 格式
    # 用户名:密码:用户ID:组ID:用户全名:主目录:登录shell
    # 密码:存在/etc/shadow中,x表示有, !表示不能用密码访问
    root:x:0:0:root:/root:/bin/bash
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    ...
    deploy:x:1000:1000::/home/deploy:/bin/bash
    backup:x:1001:1001::/home/backup:/bin/bash
    

    1.2 查看用户组别

    $ cat /etc/group

    输出说明:

    # 用户组:密码:GROUPID:组的附加用户(不含同名的默认用户)
    # 密码: 真正的密码在 /etc/gshadow
    root:x:0:
    bin:x:1:
    adm:x:4:
    ...
    deploy:x:1000:
    docker:x:992:deploy
    backup:x:1001:
    

    1.3 查看用户活动

    显示当前登录系统的用户

    $ who -H

    $ w

    2. 查看权限

    2.1 查看文件权限

    $ ls -lh /data
    

    输出说明:

    # 权限
    # 第一列: 目录 + owner 权限 + group 权限 + others 的权限
    # 第三列: owner
    # 第四列: group
    drwxr-xr-x 5 deploy deploy 4.0K Feb  3  2021 docker
    drwx--x--x 3 root   root   4.0K Feb  3  2021 lib
    drwx------ 2 root   root    16K Feb  3  2021 lost+found
    
    • 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
    • 第二列表示链接数,表示有多少个文件链接到inode号码。
    • 第三列表示拥有者
    • 第四列表示所属群组
    • 第五列表示文档容量大小,单位字节
    • 第六列表示文档最后修改时间,注意不是文档的创建时间哦
    • 第七列表示文档名称。以点(.)开头的是隐藏文档

    2.2 查看进程权限

    # 尝试用 backup 用户进入到容器(无权限)
    backup$ docker exec -it saas bash
    > Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/saas/json: dial unix /var/run/docker.sock: connect: permission denied
    

    ==可以看到拒绝了,因为 backup 用户没有该进程的访问权限==。通过 root 查看了 /var/run/docker.sock 的权限信息,如下:

    root$ ls -lh /var/run/docker.sock
    srw-rw---- 1 root docker 0 Jan 18  2021 /var/run/docker.sock
    

    ==可以看到 root 用户 和 docker 组拥有该进程的访问权限,所以只要把 backup 用户加入到 docker 组即可== 用户及组管理会在下面提及

    3. 管理用户

    # 新建用户
    $ useradd [用户名]
    
    # 密码设置
    $ passwd [用户名]
    

    用户默认会添加到自己的组别上,如果需要添加到其他组别以便获得对应组别的权限,则可以:

    # 添加用户到某个组
    $ usermod -a -G [组名] [用户名]
    

    指令说明:

    -G, --groups GROUPS           new list of supplementary GROUPS 
    -a, --append          append the user to the supplemental GROUPS 
    

    4. 管理权限

    4.1 标准用户的管理员权限

    默认添加的用户都是标准用户,如果我们需要给标准用户 root 权限,则将他加入到 sudoers (慎用)

    # 打开 sudoers 文件
    $ visudo
    
    # 添加用户行到文件尾
    [用户名]  ALL=(ALL)       ALL
    
    # :wq 保存退出
    

    测试:

    # 切换用户
    $ su [用户名]
    
    # 进入到 sudo 模式(能进入则表示成功)
    $ sudo su
    

    4.2 管理文件夹的权限

    参考 《Linux 目录文件权限》

    5. 参考

    Linux who命令

    五分钟学会 Linux ACL 权限的全部内容

    相关文章

      网友评论

          本文标题:Linux 用户及权限

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