linux云自动化运维基础知识5.6(用户管理及文件权限)

简介:
  1. 用户理解
    用户就是系统使用者的身份
    在系统中用户存储为若干窜字符+若干个系统配置文件
    用户信息涉及到的系统配置文件:
    /etc/passwd        ###用户信息
    用户:密码:uid:gid:说明:家目录:用户使用的shellwKioL1lzYf6B2W1uAAJDdZxAW1Q004.png/etc/shadow        ###用户认证信息
    用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
    /etc/group        ###组信息

    组名称:组密码:组id:附加组成员wKiom1lzYpyDSiH1AACQC--AbJc257.png

    /etc/gshadow        ###组认证信息

  2. wKiom1lzYkWQ2TTgAAFDL9_HsiM919.png
    /home/username        ###用户家目录
    /etc/skel/.*        ###用户骨架文件

    wKiom1lzYtmzKnaWAAEpb8-11lQ937.png

    2.用户管理
       (1).用户建立
       useradd        参数        用户名字
            -u    ##指定用户uid
            -g    ##指定用户初始组信息,这个组必须已经存在
            -G    ##指定附加组,这个组必须存在
            -c    ##用户说明
            -d    ##用户家目录
            -s    ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字

    wKioL1lzYxnSxPwPAAH97vK6Ogs108.png
       (2).用户删除
        userdel     -r    用户名称 -r表示删除用户信息及用户的系统配置

       (3).组的建立
        groupadd     -g        ##建立组
        groupdel    组名字        ##删除组

    作以上实验的监控命令:
    watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'wKiom1lzY0SQgEcFAADiJibwmNE288.png


       (4).用户id信息查看
         id      参数         用户
          -u        ##用户uid
          -g        ##用户初始组id
          -G        ##用户所有所在组id
          -n        ##显示名称而不是id数字
          -a        ##显示所有信息

       (5).用户信息更改
    usermod       参数             用户
             -l             ##更改用户名称
             -u             ##更改uid
             -g             ##更改gid
             -G             ##更改附加组
             -aG     ##添加附加组
             -c             ##更改说明
             -d             ##更改家目录指定
             -md     ##更改家目录指定及家目录名称
             -s             ##更改shell
             -L             ##冻结帐号
             -U             ##解锁

    3.用户权力下放
       (1)在系统中超级用户可以下放普通用户不能执行的操作给普通用户
       (2)下放权力配置文件:/etc/sudoerswKiom1lzZGihodecAAKc-2F3uzM912.png

       (3)下放权力的方法
        *)超级用户执行visudo进入编辑/etc/sudoers模式
        *)格式:
               获得权限用户       主机名称=(获得到的用户身份)         命令
        test    desktop0.example.com=(root)    /usr/sbin/useradd


        test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
        (4)执行下放权限命令
            sudo         命令                ##如果第一次执行sudo需要输入当前用户密码
            在/etc/sudoers中如果设置如下:
            test    desktop0.example.com=(root)     NOPASSWD: /usr/sbin/useradd
            表示用户调用sudo命令的时候不需要自己密码

    4.用户认证信息的控制
        chage     参数              用户
                -d                ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码    
                -m                ##最短有效期
                -M                ##最长有效期
                -W                ##警告期
                -I                ##用户非活跃天数
                -E                ##帐号到期日格式 -E "YYYY-MM-DD"

    5.文件权限

     (1).文件属性的查看####

       ls -l filename
       -|rw-r--r--.|1| root| root|   46 |Oct  1 05:03 |filename
       — —————————  —  ————  ————    ——  ————————————  ———————— 
       1    2       3    4      5     6      7           8
    wKiom1lzZVmTUz8QAADVxhf5e2c703.png
       1."-":    文件类型 
        -       ##普通文件
        d       ##目录
        c       ##字符设备
        s       ##套接字
        p       ##管道
        b       ##快设备
        l       ##连接

       2."rw-r--r--":文件读写权限
        rw-|r--|r--
        *   $   @

        *所有人的权限
        $所有组的权限
        @其他人的权限

       3."1":
        对文件:文件内容被系统记录的次数
        对目录:目录中文件属性的字节数

       4."root":文件所有人

       5."root":文件所有组

       6."46":文件内容的大小

       7."Oct  1 05:03":文件最后一次被修改的时间

       8."filename":文件名字

      (2).文件所有人所有组的管理

    chown     username        file|dir    ##更改文件的所有人
    chown     username.groupname    file|dir    ##更改所有人所有组
    chown -R username        dir        ##更改目录本身及里面所有内容的所有人
    chgrp -R groupname        dir        ##更改目录本身及里面所有内容的所有组wKioL1lzZbKCNvcPAAHENJ_UAZI065.png

    监控命令
    watch -n 1 ls -lR /mnt

      (3).文件普通权限
           rw-|r--|r--
            u   g   o
           u:文件所有人对文件可以读写
           g:文件组成员对文件可读
           o:其他人对文件可读
            u优先匹配,g次优先,o当u,g不匹配时匹配

           1.r
          对文件:可以查看文件中的字符
          对目录:可以查看目录中文件的信息

           2.w
          对文件:可以更改文件内字符
          对目录:可以在目录中添加删除文件

           3.x
          对文件:可以运行文件内记录的程序动作
          对目录:可以进入目录中
       (4).字符方式修改该文件权限
           chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir    

           chmod u-x file1            ##file1拥有者去掉x权限
           chmod g+w file1            ##file1拥有组添加w权限
           chmod u-x,g+w file1        ##file1拥有者去掉x权,file1拥有组添加w权限
           chmod ugo-r file2        ##file2的用户组其他人去掉r权限
           chmod ug+x,o-r file3        ##file3用户和组添加x权限,其他人去掉r权限wKioL1lzZfzwbbVoAAKRyu1wKzI421.png

        (5).数字方式修改该文件权限
            在linux中
            r=4
            w=2
            x=1
           文件权限数字表示方式
           rw-|r--|r--
            u   g   o
           u=rw-=4+2+0=6
           g=r--=4+0+0=4
           o=r--=4+0+0=4
           所以文件权限表示为644

            chmod    修改后权限值    file
            chmod    777    file

            7=rwx
            6=rw-
            5=r-x
            4=r--
            3=-wx
            2=-w-
            1=--x
            0=---


    6.系统默认权限的设定

         从系统存在角度来说,开放权力越大,系统存在意义越高
         从系统安全角度来说,开放权力越少,系统安全性越高
         所以系统设定新建文件或目录会去掉一些权限
         设定方式
         umask        ##查看系统保留权限默认为022
         umask 077            ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

    永久设定方式:
    vim /etc/bashrc        ##shell
    70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    71        umask 002    ##普通用户umask
    72     else
    73        umask 077    ##超级用户     uask                                                                     
     74     fi

    vim /etc/profile    ##系统
     59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
     60     umask 002    ##普通用户umask
     61 else
     62     umask 077       ##超级用户umask                                                                                         
     63   fiwKiom1lzZ0vTfOdvAADuKpkKdxo349.png

    以上两个文件umask设定值必须保持一致
    source /etc/bashrc
    source /etc/profile
    让设定立即生效
    wKiom1lzZvGTe603AAFzFwbSa6g817.png


    7.文件的访问控制(acl列表)######
    (1).acl定义
    acl = access control 
    指定特殊用户对特殊文件有特殊权限
    drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
          ^表

    getfacl  /westos/

    # file: westos/        ##文件名称
    # owner: root        ##文件所有人
    # group: root        ##文件所有组
    user::rwx        ##拥有者权限
    user:student:rwx    ##特殊用户权限
    group::---        ##组权限
    mask::rwx        ##权限掩码
    other::---        ##其他人权限

        注意:当文件上有权限列表时,ls -l 能看到的权限是假的
    wKioL1lzaADT9O5ZAAC-2EVPsfo769.png

    (2).设定acl列表

      设定
    setfacl -m <u|g>:<username|groupname>:权限    文件|目录
    -m    #设定
    u    #用户
    g    #组
    wKioL1lzaDnx1YM7AAFJuSYR48o730.png

       删除列表中的用户或者组####
    setfacl -x <u|g>:<username|groupname>    文件|目录

       关闭列表
    setfacl -b 文件|目录    wKioL1lzaG3wC-TRAAC-2EVPsfo598.png

       acl mask值
    1.mask    权限掩码
    mask用来标示能够赋予用户最大权限
    当用chmod改变文件普通权限时可能会被破坏wKiom1lzaJrSU-FdAADFy1v1Ju0565.png
    修复
    setfacl -m m:rwx 文件名称

    ####acl 默认权限######
    当我们需求某个目录对于student可写,并且目录中新建的子目录对student也可写
    就要设定默认默认权限

    注意:    默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,
        对于目录本身也无效

    setfacl -m d:u:student:rwx  /westos







    8.特殊权限####
       (1).suid        ##冒险位
          之针对二进制可执行文件,
          文件内记录的程序产生的进程的所有人为文件所有人
          和进程发起人身份无关

          设定方式:
          chmod u+s file
          suid=4
          chmod 4xxx filewKioL1lzap7g7tc4AABI3r0t_gc720.png

       (2).sgid        ##强制位
            对文件:只针对二进制可执行文件,
          任何人运行二进制文件
        程序时程序产生的进程的所有组都是文件的所有组
          和程序发起人组的身份无关
            对目录:当目录有sgid权限后,目录中新建的所有文件的所有组
        都自动归属到目录的所有组之中,和文件建立者所在的组无关wKioL1lzaqzghybfAAA8kR7tcP8703.png

       设定方式:

       chmod g+s file|dir
       sgid=2
       chmod 2xxx file|dir
        
       (3).sticky    ##粘制位
       t权限: 
       只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除

       设定方式:
       chmod o+t direcotry
       t=1
       chmod    1777 direcotrywKioL1lzar3CpP4_AAA6GcoPMgg881.png


本文转自 lulu2017 51CTO博客,原文链接:http://blog.51cto.com/13132425/1950096
相关文章
|
2月前
|
存储 安全 Linux
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
13天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
97 3
|
2月前
|
运维 安全 BI
【运维有小邓】如何进行AD域文件权限管理?
在网络资源管理中,谁可访问资源及访问级别至关重要。Active Directory环境下,管理文件服务器权限耗时且繁琐。ADManager Plus提供批量管理用户NTFS和共享权限的功能,简化权限分配、修改与撤销流程,提升管理效率,确保资源安全。通过集中式界面,管理员能快速准确地控制资源访问,优化环境管理。
【运维有小邓】如何进行AD域文件权限管理?
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
96 1
|
3月前
|
运维 监控 网络协议
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
2月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
68 3