何让普通用户拥有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
-
用户相关命令说明:
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/shellsusermod 修改用户信息命令
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用户可以操作)企业中:如何管理用户密码
- 编写用户密码信息文档
- 利用密码管理软件
本地管理密码软件 -- keepass
在线管理密码软件 - 域控管理服务器
- 动态密码
chown --- 修改文件属主和属组
chown oldgirl.oldgirl /oldboy/oldboy.txt
chown -R oldgirl.oldgirl /oldboy --- 递归修改目录权限信息