美文网首页
09系统用户权限

09系统用户权限

作者: Jachin111 | 来源:发表于2020-08-22 21:46 被阅读0次

    系统中的一个特殊目录 /etc/skel
    .bash_logout 当系统退出登入状态会执行的命令
    .bash_profile 别名和环境变量(只针对某个用户)
    .bashrc 别名和环境变量(系统中所有用户)

    /etc/skel目录作用
    目录中可以存储运维操作规范说明文件
    调整命令提示符信息
    ​    出现问题,命令提示符 -bash-4.2$

    系统中和用户相关的文件
    /etc/passwd 记录系统用户信息文件

    用户名 用户密码信息 用户uid信息 用户gid信息 用户的注释信息 用户家目录信息 用户登入系统方式
    ​    用户登入系统方式 cat /etc/shells
    ​    /bin/bash 通用的解释器
    ​    /usr/bin/sh 等价于/bin/bash
    ​    /sbin/nologin
    ​    /usr/bin/bash
    ​    /sbin/nologin 无法登入系统
    ​    /usr/sbin/nologin

    /etc/shadow 系统用户密码文件
    /etc/group 组用户记录文件
    /etc/gshadow 组用户密码信息

    系统用户相关命令
    useradd oldboy 普通用户创建出来

    useradd oldboy01 -M -s /sbin/nologin 创建虚拟用户
    ​    -M 不创建家目录
    ​    -s 指定使用的shell方式

    useradd Alex03 -u 2000
    ​    -u 指定用户uid数值信息

    useradd Alex04 -u 2001 -g Alex02

    useradd Alex05 -u 2002 -g 1068
    ​    -g 指定用户所属的主要组信息

    useradd Alex07 -u 2004 -g Alex02 -G Alex03
    ​    -G 指定用户所属的附属组信息

    useradd mysql -s /sbin/nologin -M -c "manager database"
    ​    -c 添加指定用户注释说明信息

    修改用户信息
    usermod
    ​    -s 修改用户登入方式
    ​    -g 修改用户的主要的组信息
    ​    -G 修改用户的附属组信息
    ​    -c 修改用户的注释信息

    修改用户shell信息
    usermod Alex02 -s /sbin/nologin
    grep Alex02 /etc/passwd

    修改用户uid信息
    usermod Alex02 -u 3000
    id Alex02

    删除用户信息
    userdel
    ​    -r 彻底删除用户以及用户的家目录

    userdel -r Alex04
    ll /home/Alex04 -d

    用户密码设置方法
    passwd oldboy 交互式设置密码
    echo 123456 | passwd --stdin oldboy

    企业中设置密码和管理密码的方式
    1,密码要复杂,12位以上字母数字及特殊符号
    2,保存好密码信息
    ​    keepass 密码保险柜,本地存储密码
    ​    lastpass 密码保险柜,在线存储密码

    3,大企业用户和密码统一管理(相当于活动目录AD)
    ​    openldap域
    ​    用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称

    4,动态密码,动态口令,第三方提供自己开发也很简单

    用户组相关命令
    groupadd 创建用户组
    groupmod 修改用户组信息
    groupdel 删除用户组信息

    用户属主属组设置命令
    chown 修改属主属组信息
    ll /etc/hosts
    chown oldboy.root /etc/hosts

    ll /etc/hosts
    ​    -R 递归修改目录属主和属组信息

    用户信息查看命令
    id 显示用户信息命令 uid gid
    w 显示正在登入系统的用户信息
    ​    什么用户登入到了系统
    ​    登入的方式
    ​       pts/x 远程登入系统
    ​       tty1 本地登入
    ​       echo "请不要修改恢复hosts文件配置" >/dev/pts/1
    ​    从哪连接的服务器
    ​    登入时间
    ​    空闲时间
    ​    用户操作系统 消耗的CPU资源时间
    ​    用户在干什么

    last 哪个用户在什么时候从哪里远程登入你的系统 用户登入的信息
    lastlog 显示linux中所有用户最近一次远程登入的信息

    用户权限说明
    普通用户如何像root用户一样操作管理系统
    1,直接切换到root账户下管理系统
    su
    su -
    ​    env | grep oldboy
    ​    默认当前登入系统用户为oldboy时,环境变量中会体现出oldboy用户信息
    ​    su root

    ​    当用户su命令切换用户,系统中环境变量信息部分会变为root,但更多信息为原有oldboy用户信息

    ​    su - root
    ​ 当用户su -命令切换用户,系统中环境变量信息会全部切换为root
    简单快捷,风险太高(root权限泛滥)

    2,直接修改要做的数据文件权限
    rwx 属主信息
    只针对某个数据文件进行修改,只针对某个用户进行授权,需要了解权限位功能

    3, sudo root用户授权一个能力给普通用户
    怎么进行授权
    ​    visudo vim /etc/sudo/sudoers
    ​    93gg

    如何验证oldboy已经获取了root用户能力
    ​    切换到授权用户下(oldboy)
    ​    sudo -l
    ​    需要输入授权的用户密码(oldboy)

    执行root用户可以执行的命令
    ​    sudo 授权的命令

    可以利用文件编辑指定用户有哪些指定权限,配置规划复杂

    4, 扩展配置方法

    ​    授权单个命令或多个命令
    ​    /usr/sbin/useradd, /user/bin/rm

    ​    授权单个命令目录或多个命令目录(需要排除部分特权命令)
    ​    /usr/sbin/, !/usr/sbin/visudo, /usr/bin/

    ​    不需要输入用户密码,可以直接sudo方式执行命令
    ​    NOPASSWD: /usr/sbin/, !/usr/sbin/visudo, /usr/bin/

    设置权限简单方便,设置好的权限所有用户都拥有
    如何防范系统中的重要文件不被修改(root用户也不能修改)

    给文件加锁,使root用户也不能直接修改相应文件
    chattr +i /etc/passwd
    ll /etc/passwd
    chattr -i /etc/passwd
    ll /etc/passwd
    lsattr /etc/passwd

    which chattr
    mv /bin/chattr /root
    chattr +i /etc/passwd
    mv chattr oldboy_attr

    设置特殊权限位
    系统文件数据的9个权限位 系统中实际应该有12个权限位
    seduid
    权限设置方法
    ​    chmod u+s 文件信息
    ​    chmod 4755 文件信息

    ​    属主权限位多出s信息
    ​    seduid权限位设置,将文件属主拥有的能力分配给所有人

    setgid
    ​    setgid权限位设置,将文件属组拥有的能力分配给所有用户组

    sticky bit 粘滞位
    ​    chmod o+t 目录信息
    ​    chmod 1777 目录信息

    ​    可以将不同用户信息放置到共享目录,实现不同用户数据可以互相查看,但是不可以互相随意修改
    ​    系统中有一个共享目录,权限位1777 ll -d /tmp/

    相关文章

      网友评论

          本文标题:09系统用户权限

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