热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7.4之sudo命令

一、应用场景1、一般情况下如果一台服务器涉及到多人管理的时候,需要每人都会有一个自己的账户,但是默认普通用户需要部分超级管理员的权限,有人说直接su-root切换到超级管理员上就可以了,

一、应用场景

   1、一般情况下如果一台服务器涉及到多人管理的时候,需要每人都会有一个自己的账户,但是默认普通用户需要部分超级管理员的权限,有人说直接su - root切换到超级管理员上就可以了,那日志怎么审核,这样过大家都知道root的用户密码,最初的目的就没有达到,所以引出了一个sudo的命令。

   2、sudo命令的优点:

    1、给普通账户部分管理员的权限不需要root密码,只需要自己的密码就行。

    2、可以根据工作内容的相同,实现权限分组管理(很方便)

    3、方便日志审核

二、使用方法

  科普小知识,su命令切换的时候su和su -的区别是,su - 会把需Shell环境变量一起都切过去,而su只会把身份切换过去。一般情况下我们习惯使用su - 。

  1、在root命令下执行visudo或者直接vi  /etc/sudoers即可,打开的是同一个配置文件。

  2、第一种使用方法:

    1、首先在root下面建立一个普通账户,设置密码(记得要允许登录,否则毫无意义),具体新建用户的方法就不在这里赘述了。

    2、这里我们给这个普通用户可以查看/etc/shadow这个密码文件和重启服务器权限,首先找到root    ALL=(ALL)       ALL,在这行下加上如下内容:

leihaidong ALL=/sbin/init 6,/bin/cat /etc/shadow

    3、这样我们使用su - leihaidong命令切换到这个普通用户下后执行sudo init 6 和cat /etc/shadow命令了,注意,如果提示你输入输入用户名密码,切记这里输入的是你当前登录的自己的用户名密码。这样就简单实现了,如果你想给更多的权限,就在后面追加,以逗号隔开。

    4、如果有些命令不需要输入密码,有些又需要输入密码,可以这么写,但是这么写又特别繁琐。

leihaidong ALL=NOPASSWD:/sbin/init 6,PASSWD:/bin/cat /etc/shadow

  3、这一长串命令代表什么呢?

    1、第一列:用户名,也就是需要授权的用户名。

    2、被管理主机的地址,这里可以写IP地址,一般情况下ALL即可。

    3、(ALL)指的是可使用的身份,这里如果写ALL的话,代表拥有root权限。

    4、授权命令,也就是要执行命令的绝对路径,可以使用which命令查看。

    提示:正常情况下大多都是想前面我提到的那两种写法。

   4、第二种使用方法:

    1、首先我们先想一个场景,同10个用户都会做同样的一些工作,按照上面我那种写法,就得写10行,改动起来比较繁琐,试想一下,如果我们单独写一个模板,然后建设一个组,把这些用户都加到组里面,最后让这个组使用我们单独写的这个授权模板,这样只需要加组即可实现授权。

    2、还是上面的案例,我们先创建一个组,然后把leihaidong这个账户加到新建组里面。

groupadd testgroup   #新建组
usermod -G testgroup  leihaidong   #将leihaidong加入testgroup组中

    3、在root下执行visudo修改授权(写删除第一种授权方法),

在文件51行附近加上下面两句,第一句是注释下面这个模板是做什么用的,第二行是新建模板INIT,这个模板授权可以重启和查看/etc/shadow文件的权限。如果不想或者强制每次执行某个命令需要输入当前用户密码,这里就不能使用这种方法了,只能一个一个写了。
##test sudo init 6
Cmnd_Alias INIT =/sbin/init 6,/bin/cat /etc/shadow

    4、执行有了模板,还需要让新建的testgroup这个组应用INIT这个授权模板。在文件中%wheel ALL=(ALL) ALL这行下面加入%testgroup   ALL=(ALL) INIT这行命令保存退出即可(写法有误会提示你保存不了)

    5、解释这句话的意思,%代表他后面的这个字符是一个linux组,第二列的个ALL和第三列的(ALL)就不解释了,看上面。后面这个INIT指的是INIT这个授权模板名。注意,当然也可以写成%testgroup   ALL= INIT

    6、如果应用多个授权模板,模板之间用逗号隔开。

 

 

 

    

 

    

 


推荐阅读
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • win7系统,安装centos7.0首先硬盘分区问题,win7下一个主分区一个扩展分区,用linux的分区来说就是sda1主分区,sda2扩展分区,sda5开始是逻辑分区但 ... [详细]
  • asp.net core 应用docke部署到centos7
    前言前期准备win10(不要安装hyper-V)VMware-Workstation-Pro15.0Xshell6(非必需)VS2019以上环境请自行安装都是默认安装没什么可说的不 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 本文介绍了 Linux 系统中用于定期执行任务的 cron 服务及其配置方法。通过 crond 和 crontab 命令,用户可以轻松地安排系统和用户级别的周期性任务。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • OSX系统使用VMware Fusion安装CentOS7踩的那些坑
    一、创建虚拟机(1)在虚拟机资源库中点击[+添加]按钮,选择“新建”选项(2)选择创建自定义虚拟机(3)选择系统类型为CentOS(4)选择虚拟磁盘 ... [详细]
  • 1、oracle官网下载jdk8https:www.oracle.comjavatechnologiesjavasejavase-jdk8-downloads.html2、楼主用的 ... [详细]
author-avatar
阳光映像YGYX
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有