美文网首页linux tools
Linux运维-day21-12位权限补充-用户管理

Linux运维-day21-12位权限补充-用户管理

作者: 文娟_狼剩 | 来源:发表于2019-04-24 18:17 被阅读64次

    一、显示/oldboy/test.sh文件详细过程(inode block)

    显示/oldboy/test.sh文件详细过程.png
    注:权限拒接错误,可能与上级目录有关

    二、权限如何让系统安全

    2.1 单台服务器

    1>网站运行的时候使用www(虚拟用户)
    2>网站站点目录/app/blog
        文件  644  root root 
        目录  755  root root 
    3>对于用户上传目录/uploads 
        文件  644  www  www  
        目录  755  www  www  
    4>通过程序控制只能上传图片或压缩包
    5>取消上传上来的文件的执行权限(讲解到nfs的时候)
    

    2.2 如何让系统安全

        最小化
            安装系统的时候
            操作(rm -f)
            开启服务(把正在使用的开开,其余关闭)
        保护root
            禁止root远程登录系统
            修改远程连接(sshd)默认端口号
        制作指纹认证
            命令:md5sum-
                   参数:-c:相当于--check(检查)
            md5作用:
                验证大家拿到的东西是否一致
                对比文件是否发生变化  
          权限管理(同上2.1)
    

    md5sum练习:

    1.找出/oldboy目录下面 以.txt结尾的文件 制作md5 存放在/tmp/oldboy.md5
    2.对比 md5sum -c 
    [root@oldboyedu ~]# md5sum $(find /oldboy -type f -name '*.txt')>/tmp/oldboy.md5
    [root@oldboyedu ~]# md5sum /tmp/oldboy.md5
    cd271266d3b215739c027f34582cfc24  /tmp/oldboy.md5
    [root@oldboyedu ~]# md5sum -c /tmp/oldboy.md5
    /oldboy/oldboy01.txt: OK
    /oldboy/oldboy02.txt: OK
    /oldboy/oldboy03.txt: OK
    /oldboy/oldboy04.txt: OK
    

    三、文件系统权限(隐藏属性)

    chattr:修改隐藏属性

    a:append---只能追加(不能删除、不能修改,保护重要的配置文件)
    如:chattr +/-a oldboy.txt
    i:immutable---无敌的(只能查看内容,无法修改、无法删除,保护重要的命令)
    如:chattr +/-i oldboy.txt
    应用:
    a 核心配置文件
    i 系统命令

    lsattr:查看隐藏属性
    练习:

    [root@oldboyedu ~]# lsattr oldboy.txt 
    ---------------- oldboy.txt
    [root@oldboyedu ~]# chattr +a oldboy.txt 
    [root@oldboyedu ~]# lsattr oldboy.txt 
    -----a---------- oldboy.txt
    [root@oldboyedu ~]# \rm -f oldboy.txt 
    rm: cannot remove ‘oldboy.txt’: Operation not permitted
    [root@oldboyedu ~]# >oldboy.txt 
    -bash: /tmp/oldboy.md5: Operation not permitted
    [root@oldboyedu ~]# echo oldboy>> oldboy.txt
    [root@oldboyedu ~]# 
    [root@oldboyedu ~]# chattr -a oldboy.txt 
    [root@oldboyedu ~]# lsattr oldboy.txt 
    

    四、Linux特殊权限

    1>suid setuid


    image.png

    某个文件在所有者的位置上有s,suid
    拥有suid的命令,任何用户执行的时候相当于root(文件的所有者)
    有该权限的文件:/usr/bin/passwd
    如何设置:
    chmod u+s /bin/ls
    chmod 4755 /bin/ls

    ls命令没有s权限时,普通用户无法查看/root
    [oldboy@oldboyedu ~]$ ll /root
    ls: cannot open directory /root: Permission denied
    在root账号下,给ls命令添加上s权限
    [root@oldboyedu ~]# chmod u+s /bin/ls
    ls命令添加上s权限,普通用户也可以查看/root
    [oldboy@oldboyedu ~]$ ll /root
    total 60276
    -rw-r--r--  1 root root 58112885 Mar  9  2018 access.log
    -rw-r--r--  1 root root  3580282 Apr 22 11:40 access.zip
    

    2>粘滞位 sticky


    image.png

    每个人都可以在这个目录下面创建文件和删除
    我们希望每个人只能管理自己的文件
    有该权限的目录:/tmp/
    对应的权限是 1777

    五、用户管理

    5.1 UID

    user id身份证号码

    5.2 用户分类

    root用户
    普通用户
    虚拟用户

    5.3 核心文件和目录

    1>核心文件

    /etc/passwd:存放的是用户的信息
    /etc/shadow:存放的是密码的信息
    /etc/group:存放用户组的信息
    /etc/gshadow;用户组密码信息

    找出/etc/passwd中的虚拟用户,显示这个用户的名字和uid
    [root@oldboyedu ~]# awk -F:  '/nologin$/{print $1,$3,$NF}' /etc/passwd |column -t 
    bin              1    /sbin/nologin
    daemon           2    /sbin/nologin
    adm              3    /sbin/nologin
    lp               4    /sbin/nologin
    mail             8    /sbin/nologin
    operator         11   /sbin/nologin
    

    column -t:显示的内容对齐
    2>核心目录

    /etc/skel
    新用户家目录的样子

    添加新用户过程
        useradd alex
        系统创建家目录
        权限所有者修改
        把/etc/skel下面的所有内容,复制到家目录下
    
     .bash_profile  /etc/profile    PS1  LANG  PATH   
     .bashrc        /etc/bashrc 
     .bash_logout       
    

    常用的命令解释器

    /bin/bash
    /sbin/nologin #虚拟用户的命令解释器
    /bin/dash #ubuntu
    /bin/csh /bin/tcsh #unix

    5.4 故障案例:命令行提示符-bash-4.1$或-bash-4.2$※

    故障模拟:
    1>root用户下修改/etc/profile PS1加上注释

    [root@oldboyedu59 ~]# tail -1 /etc/profile
    #export PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\\$ "
    

    2>添加的用户

    useradd alex 
    

    3>切换用户

    [root@oldboyedu59 ~]# su - alex 
    [alex@oldboyedu59 ~]$ 
    

    4>检查是否有suid

    ls -l /bin/rm 
    

    5>在Alex用户下删根

    rm -fr /* 
    

    6>重新登录alex ,出现故障

    [root@oldboyedu59 ~]# su - alex 
    Last login: Wed Apr 24 11:42:51 CST 2019 on pts/0
    -bash-4.2$ 
    -bash-4.2$ 
    -bash-4.2$ 
    -bash-4.2$  
    

    原因:

    当前用户的环境变量的配置文件.bash_profile .bashrc 被删除

    如何解决?

    方法1:从别人家复制 oldboy (提示权限拒绝)

    -bash-4.2$ whoami 
    alex
    -bash-4.2$ cp /home/oldboy/.bash*  ~
    cp: cannot stat ‘/home/oldboy/.bash*’: Permission denied
    -bash-4.2$ ll -d /home/oldboy/
    drwx------ 2 oldboy oldboy 99 Apr 23 12:01 /home/oldboy/
    -bash-4.2$ ls /home/oldboy/
    ls: cannot open directory /home/oldboy/: Permission denied
    

    方法2:从/etc/skel复制 .bash开头的文件到当前目录下(推荐)

    -bash-4.2$ cp /etc/skel/.bash*   ~
    -bash-4.2$ 
    -bash-4.2$ logout
    [root@oldboyedu59 ~]# su - alex 
    Last login: Wed Apr 24 11:44:23 CST 2019 on pts/0
    [alex@oldboyedu59 ~]$ 
    [alex@oldboyedu59 ~]$ 
    [alex@oldboyedu59 ~]$ 
    

    5.5 用户管理命令

    操作用户
    1>useradd:添加用户

    参数:
    -u:指定UID
    -s:指定用户使用的命令解释器
    -M:创建用户的时候不创建家目录
    -g:指定用户组
    -G:指定多个用户组
    -c:指定用户的说明信息

    [root@oldboyedu59 ~]# #添加用户oldboy888 指定uid为888 不可登录系统 不创建家目录 
    [root@oldboyedu59 ~]# useradd  -u 888 -s /sbin/nologin  -M  oldboy888
    [root@oldboyedu59 ~]# id oldboy888
    uid=888(oldboy888) gid=1003(oldboy888) groups=1003(oldboy888)
    [root@oldboyedu59 ~]# grep oldboy /etc/passwd
    oldboy:x:1000:1000::/home/oldboy:/bin/bash
    oldboy888:x:888:1003::/home/oldboy888:/sbin/nologin
    [root@oldboyedu59 ~]# ls -l /home/oldboy888
    ls: cannot access /home/oldboy888: No such file or directory
    

    2>passwd:设置密码

    --stdin
    从管道获取密码
    非交互设置密码
    history -c:清除历史命令记录

    3>userdel:删除用户,默认不会删除家目录

    参数:-r(慎用)
    删除用户和用户家目录
    删除用户替代方法:在/etc/passwd中给用户前面加上

    4>su:切换用户

    参数:
    - :切换用户的时候更新用户的环境变量
    -c:切换到某个用户执行命令,执行命令后自动退出这个用户

    5>usermod

    -u:修改UID
    -s:修改用户使用的命令解释器
    -g:修改主要的用户组
    -G:修改为多个用户组

    相关文章

      网友评论

        本文标题:Linux运维-day21-12位权限补充-用户管理

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