2019-06-21

何让普通用户拥有root用户的能力
方法一:篡权夺位
su - root --- 知识root用户密码
方法二:修改文件数据权限
chmod o=rwx -R /oldboy/oldboy01/ --- 递归修改目录权限信息
方法三:普通用户提权(sudo) 皇帝 -大宝剑- 平民
第一个历程:配置sudo文件
visudo(推荐--配置文件语法检查功能) == vim /etc/sudoers
101 oldboy ALL=(ALL) 表示都可以使用
101 oldboy ALL=(ALL) /bin/cat 可以查看任何文件,但不可以修改
101 oldboy ALL=(ALL) /bin/cat /etc/shadow
101 oldboy ALL=(ALL) NOPASSWD: /bin/cat /etc/shadow --- 免密码执行sudo提权操作
101 oldboy ALL=(ALL) NOPASSWD: /bin/cat, /bin/vim, /bin/rm --- 批量授权多个命令
101 oldboy ALL=(ALL) NOPASSWD: /bin/* vim --- 批量授权多个命令
PS:企业中利用sudo进行授权,需要进行权限分配规划
开发人员: 需要有什么权限 查看权限
数据库人员: 需要有什么权限 查看权限 mysql服务命令的权限(mysql mysqladmin mysqldump)
运维人员: 需要有什么权限 查看权限 创建数据信息的权限 部分修改编辑权限 部分数据删除

第二个历程:利用oldboy进行测试权限
sudo cat /etc/shadow

第三个历程:查看root用户授予的权限信息
$ sudo -l
             User oldboy may run the following commands on oldboyedu62:
             (ALL) NOPASSWD: /bin/cat /etc/shadow 

# sudo -v     --- 文件配置语法检查
             >>> /etc/sudoers: syntax error near line 101 <<<
             sudo: parse error in /etc/sudoers near line 101
             sudo: no valid sudoers sources found, quitting
             sudo: unable to initialize policy plugin

总结:
01. 利用命令编辑提权信息  visudo == vim /etc/sudoers 
02. 利用命令查看权限信息  sudo -l 
03. 利用命令检查配置语法  sudo -v 
04. 利用命令清除密码记录  sudo -k

方法四:修改文件特殊权限位
chmod u+s /usr/bin/cat

3) 系统特殊权限位:
文件属性信息:
12位权限位 第一个三位(属主权限位) 第二个三位(属组权限位) 第三个三位(其他用户权限位)

setuid: 让其他用户拥有文件属主的能力    u+s s=4  
# ll /usr/bin/cat
             -rwxr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat
              # chmod u+s /usr/bin/cat
              # ll /usr/bin/cat
              -rwsr-xr-x. 1 root root 54160 Oct 31  2018 /usr/bin/cat

setgid: 让其他用户组拥有文件属组的能力 (了解) g+s s=2
chmod g+s /usr/bin/cat

sticky bit:可以创建一个共享目录/ 但共享目录中的数据不能被其他用户改动  o+t t=1
chmod o+t /share    只能改自己的不能改别人的

12位权限位: 
124 124 124 124   -->  /tmp  1777  /bin/cat 4755  /bin/cat 2755
  1. 用户相关命令说明:
    useradd 创建用户命令
    useradd -u --- 指定用户uid数值 1000 oldboy 1001 oldgirl
    useradd -g --- 指定用户gid组数值
    groupadd -g 666 oldboy666----创建用户组 先创建一组
    useradd -G --- 指定用户属于哪个附属组
    例:useradd -u 666 -g 666 -G oldboy oldboy666
    useradd -M --- 指定创建用户时,不创建家目录
    useradd -s --- 指定用户shell登录方式 默认 /bin/bash
    useradd -c --- 指定用户注释信息
    userdel -r -----删除用户信息
    创建虚拟用户: useradd www -M -s /sbin/nologin
    PS: linux系统有几种shell形式 cat /etc/shells

    usermod 修改用户信息命令
    usermod -u --- 指定用户uid数值 1000 oldboy 1001 oldgirl
    usermod -g --- 指定用户组gid数值
    groupadd -g 666 oldboy666
    usermod -u 666 -g 666 oldboy666
    usermod -G --- 指定用户属于哪个附属组
    groupadd -g 666 oldboy666
    usermod -u 666 -g 666 -G oldboy oldboy666
    usermod -s --- 指定用户shell登录方式 默认 /bin/bash
    usermod -c --- 指定用户注释信息

             userdel -r     --- 彻底删除指定用户信息  
    

    groupadd -g --- 指定用户组gid信息

    groupdel 删除用户组信息(了解)

    groupmod 修改用户组信息(了解)

    passwd 修改用户密码信息
    PS:root用户可以修改所有用户密码信息
    普通用户只能修改自己的密码信息(密码复杂度 数字加字母>=8个字符)
    passwd --stdin --- 免交互设置用户密码 (只有root用户可以操作)

    企业中:如何管理用户密码

    1. 编写用户密码信息文档
    2. 利用密码管理软件
      本地管理密码软件 -- keepass
      在线管理密码软件
    3. 域控管理服务器
    4. 动态密码

    chown --- 修改文件属主和属组
    chown oldgirl.oldgirl /oldboy/oldboy.txt
    chown -R oldgirl.oldgirl /oldboy --- 递归修改目录权限信息

你可能感兴趣的:(2019-06-21)