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远程登录的更多相关文章

  1. Linux学习(十二)mkpasswd、su、sudo、限制root远程登录

    一.mkpasswd mkpasswd用来生成随机密码字符串.可以指定长度和特殊字符的长度: [root@ruanwenwu01 ~]# mkpasswd O7.alw5Wq [root@ruanwe ...

  2. 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 su命令 切换用户 [root@centos_1 ~]# su - xiaobo [root@centos_1 ~]# su - ...

  3. CentOS启用sudo,禁用root远程登录

    CentOS默认不启用sudo,且可以直接用超级管理员身份登录服务器.ubuntu这方面做得比较好,为了安全,减小误操作带来的损失,还是推荐启用sudo. 1.添加sudo用户 执行 visudo 命 ...

  4. 【linux学习笔记六】压缩 解压缩命令

    所有的压缩文件一定要写压缩格式的扩展名 .zip格式压缩 #压缩文件 zip 压缩文件名 源文件 #压缩目录 zip -r 压缩文件名 源目录 #解压缩 unzip 压缩文件 .gz格式压缩 #压缩为 ...

  5. su命令、sudo命令、限制root远程登录 使用介绍

    第3周第3次课(4月4日) 课程内容:3.7 su命令3.8 sudo命令3.9 限制root远程登录 3.7 su命令 [root@jimmylinux-002 ~]# su - jimmy     ...

  6. Linux centosVMware su命令、sudo命令、限制root远程登录

    一.su命令 Linux系统中有些事情只有root用户才能做,普通用户不能做,这时候就需要临时切换到root身份了. [root@davery ~]# whoamiroot [root@davery ...

  7. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  8. linux系统(centos)下su和sudo命令的区别

    linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...

  9. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  10. Linux学习之路-Linux-at及cron命令【7】---20171215

    Linux学习之路-Linux-at及cron命令[7]---20171215 DannyExia000人评论986人阅读2017-12-24 17:28:03   ntpdate 命令 [root@ ...

随机推荐

  1. 标准webservice调用

    现代定义的webservice一般都倾向于restfull风格的http请求,但工作中还是会遇到前辈们写的时代代码. 我们更倾向于封装代码来调用,而不是服务引用.请看: Service.asmx服务的 ...

  2. ServiceHelper

    public class ServiceHelper { private static string _baseUrl = $@"http://{Config.Instance.MesSer ...

  3. Shell脚本之awk详解

    一.基本介绍 1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的.awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一 ...

  4. 关于webApi使用session

    1.关于webApi使用session 在Global.asax中注册session添加以下代码 public override void Init() { //开启session this.Post ...

  5. BI简介

    一.BI简介 BI全称是business intelligence,直译过来就是商业智能.BI表示的是一个体系,一套完整的解决方案.主要用于数据的整合.分析.挖掘等,为帮助企业决策而提供如报表.预测分 ...

  6. 插入排序——Python实现

    一.排序思想 排序思想参见:https://www.cnblogs.com/luomeng/p/10583124.html 二.python实现 def InsertSort(arrs): " ...

  7. 网站大于10M的视频不能播放

    IIS配置的网站,添加了几个mp4视频,有个可以正常播放,有的却不加载不出来,提示错误: net::ERR_CONNECTION_ABORTED 网上有文章说是由于安全狗bug导致,下载安装一个补丁覆 ...

  8. 19_ThreadLocal

    [概述] 线程局部变量,是一种多线程间并发访问变量的解决方案.与synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以 ...

  9. 十一、使用a标签打电话、发短信、发邮件

    <a href="tel:400-888-6633">拨打电话<a> <a href="sms:19956321564">发 ...

  10. SQA和系统测试规程

    1.SQA计划 (1)目的 本计划是定义Online Judge(在线测评系统)项目的SQA组织,SQA任务和职责,项目过程中应遵循的流程.规范和约定等,指导SQA人员进行评审和审计活动,验证项目的产 ...