root 用户拥有至高无上的权利, 那么我们运维人员是不是直接在 root 用户下处理所有问题呢? 答案是否定的, 权力越大, 责任越大, 人是会犯错的, 因此我们要在不影响我们的工作情况下, 尽量限制我们的权力, 以免误操作引发灾难
一 su 命令 --- 账户之间的切换
普通用户切 root 用户或者普通用户之间的切换都需要对方输入对方账户登录密码, root 用户进普通用户不需要密码验证, 这也是权力的体现
命令格式:
- su username
- su - username
如果不带用户名, 默认 root 用户
不带 - 的切换是只是在自己家里调用权力, 环境变量没有变化
带 - 直接进入到对方家里, 反客为主, 使用权力, 当前用户环境变量初始化为对方用户环境变量 请看下面例子
二 sudo ---- 获取 root 权利执行命令
su 命令虽然让普通用户轻松切到 root 用户下接管 root 用户的工作, 但是需要 root 用户授权密码, 我们知道普通用于不止一个, 因此 root 密码多次下发, 一旦不小心泄露, 就很不安全我们有没有不长期下发 root 密码的办法, 还能让普通用户干活呢, 当然有, sudo 就是来解决这个难题的
sudo 用法 -----sudo + 要执行的命令
sudo ---- 在自己账户下拿到 root 权力去干活, 每干一次活需要验证当前身份, 也就是要输入当前账户密码, 前提是该账户已经被事先授权 sudo 与 su 的关系我可以这样举个例子, 假如你是宰相想行使皇帝的权力, su 的办法是跑到皇帝跟前索要到权力, su - 的办法是篡位自己当皇帝, sudo 是皇帝给你发个金牌令箭, 让你行使权力
看上面例子 , 我想借助 sudo 来修改我自己 test 账户的密码, 我输入自己密码后提示 test 账户没有在 sudoers 这个文件里, 意思是需要在该文件里注册备案, 才能获取权力, 下面我们修改配置文件, 添加 test 账户
命令 visudo--- 可以查看 sudo 配置文件
备注: 一定要用 visudo 去打开文件, 不要用 vi, 因为此文件特别重要, vi 无法显示语法错误, visudo 可以显示语法错误中间括号的 ALL 表示授权的用户, 末尾的 ALL 表示授权的命令
在 root ALL=(ALL) ALL 下一行加一行即可, 我们再次尝试修改密码, 请看结果:
提示我们先输入自己账户密码, 然后就可以改密码了
处于当前登录状态, 该身份验证只需要一次, 你再次用 sudo 命令就不需要输密码了
下面我举个案例, 我们的需求是把 Linux 服务器设置成这个样子: 只允许使用普通账户登陆, 而普通账户登录后, 可以不输入密码就能 sudo 切换到 root 账户
编辑刚才的配置文件 /etc/sudoers 修改两个地方
把 sudo 权力的下发组 wheel 这行前面的 #删掉 , 让这行代码执行, 其次在文件尾行假如下面三行:
三行的意思是: 第一行 给三个普通账号设置一个组别名, 让权力按组下发 第二行给 / bin/su 取别名 SU 第三行 免密码登录
保存配置文件后, 使用 test, test1, lv 三个账户登陆 Linux 后, 执行命令 sudo su - 切换到 root 账户, 获取 root 账户的所有权利, 结果如下:
那么最后一个问题, 如何限制不让 root 直接登录呢, 可以用用工具生成一个非常复杂的随即字符串密码, 这样自己也记不住了, 那万一要用呢, 当然还有办法, 用 kapss 保存密码工具, 把密码管理起来
总结:
sudo 的工作过程如下:
1 当用户执行 sudo 时, 系统会主动寻找 / etc/sudoers 文件, 判断该用户是否有执行 sudo 的权限
2 确认用户具有可执行 sudo 的权限后, 让用户输入用户自己的密码确认
3 若密码输入成功, 则开始执行 sudo 后续的命令
4 root 执行 sudo 时不需要输入密码 (eudoers 文件中有配置 root ALL=(ALL) ALL 这样一条规则)
5 若欲切换的身份与执行者的身份相同, 也不需要输入密码
三 限制 ssh 远程登录
/etc/ssh/sshd_config 为 sshd 服务的皮质文件, 默认 root 账户可以通过 ssh 远程登录 linux 要实现不允许登录, 修改配置文件即可
在文件中查找到 #PermitRootLogin yes, 将 yes 该为 no, 保存退出, 然后重启 sshd 服
systemctl restart sshd.service
Linux 学习总结 (六)-su 命令 sudo 命令 限制 root 远程登录
来源: http://www.bubuko.com/infodetail-2491674.html