Linux合理使用su、sudo命令_优品建站

Linux合理使用su、sudo命令

  su命令是一个切换用户的工具,经常用于将普通用户切换到超级用户下,当然也可以从超级用户切换到普通用户。为了保证服务器的安全,几乎所有服务器都禁止了超级用户直接登录系统,而是通过普通用户登录系统,然后再通过su命令切换到超级用户下,执行一些需要超级权限的工作。通过su命令能够为系统管理带来一定的方便,但是也存在不安全的因素,例如系统有10个普通用户,每个用户都需要执行一些有超级权限的操作,就必须把超级用户的密码交给这10个普通用户,如果这10个用户都有超级权限,通过超级权限可以做任何事,那么在一定程度上会对系统的安全造成威胁。因此在很多人都需要参与的系统管理中,使用su命令并不是最好的选择,超级用户密码应该掌握在少数人手中,此时sudo命令就派上用场了。
  sudo命令允许系统管理员分配给普通用户一些合理的“权力”,并且不需要普通用户知道超级用户密码,就能让他们执行一些只有超级用户或其他特许用户才能完成的任务,比如系统服务重启、编辑系统配置文件等,通过这种方式不但能减少超级用户登录次数和管理时间,而且提高了系统安全性。因此,sudo命令相对于权限无限制性的su命令来说,还是比较安全的,这使得sudo也被称为受限制的su,另外sudo也是需要事先进行授权认证的,所以也被称为授权认证的su。
  sudo执行命令的流程是:将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户,而这一切的完成要通过sudo的配置文件/etc/sudoers来进行授权。
  例如,普通用户是无法访问/etc/shadow文件的:

  [user01@unknown ~]$ more /etc/shadow
  /etc/shadow: Permission denied
  如果要让普通用户user01可访问这个文件,可以在/etc/sudoers添加如下内容:

  user01     ALL = /bin/more /etc/shadow
  这样,通过如下方式user01用户就可访问/etc/shadow文件:

  [user01@unknown ~]$ sudo more /etc/shadow
  [sudo] password for user01:
  执行这个命令后,需要输入user01用户的密码,然后就可访问文件内容了。在这里sudo使用时间戳文件来完成类似“检票”的系统功能,当用户输入密码后就获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码才能查看文件内容。
  如果每次都需要输入密码,那么某些自动调用超级权限的程序就会出现问题,此时可以通过下面的设置让普通用户无需输入密码即可执行具有超级权限的程序。例如,要让普通用户centreon具有/etc/init.d/nagios脚本重启的权限,可以在/etc/sudoers添加如下设置:

  CENTREON   ALL = NOPASSWD: /etc/init.d/nagios restart
  这样,普通用户centreon就可以执行重启nagios脚本而无需输入密码了。如果要让一个普通用户user02具有超级用户的所有权限,而又不想输入超级用户的密码,只需在/etc/ sudoers添加如下内容即可:

  user02 ALL=(ALL) NOPASSWD: ALL
  这样user02用户登录系统后,就可以通过执行如下命令切换到超级用户:

  [user02@unknown ~]$ sudo su -
  [root@unknown ~]# pwd
  /root
  设计sudo的宗旨是:赋予用户尽可能少的权限但仍允许他们完成自己的工作,这种设计兼顾了安全性和易用性,因此,强烈推荐通过sudo来管理系统账号的安全,只允许普通用户登录系统,如果这些用户需要特殊的权限,就通过配置/etc/sudoers来完成,这也是多用户系统下账号安全管理的基本方式。

  • Linux服务器的管理和维护建议
    下面这些服务器操作规范和建议初学者可能不容易看懂,但是这些经验之谈对服务器的管理和维护都非常重要。
  • 配置Linux网络时间服务器
    配置Linux异构网络下的NTP服务器,NTP服务的配置文件。
  • Linux shell文件属性的判断与比较
    Shell支持大量对文件属性的判断,常用的文件属性操作符很多,如表2-2所示。更多文件属性操作符可以参考命令帮助手册(man test)。
  • Linux远程登录取消telnet而采用SSH方式
    telnet是一种古老的远程登录认证服务,它在网络上用明文传送口令和数据,因此别有用心的人就会非常容易截获这些口令和数据。
  • 服务器运维必会知识:利用U盘安装Linux系统
    光盘介质没有U盘携带方便,有的服务器为节省成本甚至没有安装光驱,所以很多管理员习惯做一个U盘的安装盘,随身携带以备不时之需。如果使用U盘作为安装介质,那么U盘需要进行一定的配置,本文我们来学习一下如何使用U盘安装Linux。
  • Linux平台下安装与配置MySQL 8.0
    Linux操作系统有众多的发行版,不同的平台上需要安装不同的MySQL版本,MySQL主要支持的Linux版本有SUSE Linux Enterprise Server和Red Hat & Oracle Enterprise Linux。本节将介绍Linux平台下MySQL的安装过程。
  • 学习Linux的建议及解决问题的方法
    本节旨在介绍对于初学者如何学习Linux的建议。如果你已经确定对Linux产生了兴趣,那么接下来我们介绍一下学习Linux的方法。
  • Linux脚本文件的各种执行方式
    编写好脚本文件后,接下来就是执行了。执行脚本文件的方式有很多种,有需要执行权限的方式、有不需要执行权限的方式、有开启子进程的方式、有不开启子进程的方式。
  • Linux账号管理及相关命令
    Linux账号管理是Linux系统管理员的一个重要工作,具体来说,涉及账号的添加、删除和修改等操作。从账号类型来说,Linux用户按照使用方式分为三种:一是根用户,二是系统用户,三是普通用户。
  • linux+php如何启动暂定redis?
    本文教大家如何进行Redis的启动和暂停,很简单但是也很实用。
  • 网站制作 服务

    免费网站制作报价,免费优化,1对1服务,个性化定制服务

    pc和wap网站制作

    多年建站经验,上千个成功案例,
    为您提供一站式服务

    网站维护改版

    大厂经验工程师对现有网站进行
    改版,修复,维护。

    小程序制作

    微信小程序,支付宝小程序,
    百度小程序

    响应式网页设计

    响应式网页设计可以与多种设备兼容,
    如智能手机,平板电脑和PC