Linux 系统sudo命令
Linux系统中有许多的系统命令和服务为了安全性考虑,因此只有root超级用户才可以去使用。如果普通用户需要做此类操作,则可以使用su - 命令(减号(-)指完全切换到新的用户,即把环境变量信息也变更为新的用户,而不保留原始的用户信息)切换到root帐号来操作,但是每次得输入root帐号的密码,无疑会暴露了root超级管理员的密码。因此我们可以使用sudo程序来把特定命令的执行权限赋予给指定的用户,这样既可保证了正常工作的同时也避免了泄露root超级用户密码。
使用 visudo 命令或 vi编辑/etc/sudoers 配置文件
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
rusky ALL=(ALL) ALL --添加这一行
rusky 允许使用sudo的用户名
ALL 允许任何终端(任何机器)使用sudo
(ALL) 允许以任何用户执行sudo
ALL 允许sudo权限执行所有命令
测试:
[root@rhel7 ~]# su - rusky
Last login: Fri Jul 21 04:29:02 EDT 2017 on pts/0
[rusky@rhel7 ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[rusky@rhel7 ~]$ sudo ls /root --使用sudo来查看/root目录文件
[sudo] password for rusky:
anaconda-ks.cfg Desktop Documents Downloads Music Pictures Public Templates Videos
[rusky@rhel7 ~]$ shutdown
Must be root.
[rusky@rhel7 ~]$ sudo shutdown --使用sudo来关机
Shutdown scheduled for Fri 2017-07-21 04:32:17 EDT, use 'shutdown -c' to cancel.
[rusky@rhel7 ~]$
Broadcast message from root@rhel7.rusky.com (Fri 2017-07-21 04:31:17 EDT): The system is going down for power-off at Fri 2017-07-21 04:32:17 EDT!
例:rusky属于admin组
1. 如果想把admin组的用户都sudo不用密码那么可以将这一行换为:
%admin ALL=(ALL) NOPASSWD: NOPASSWD ALL
2. 如果仅仅想让rusky用户sudo不需密码,则可修改为如下行:
rusky ALL = (ALL) NOPASSWD: ALL
3. 如果让rusky用户sudo不用密码即可执行某几个命令,可以写成这样:
rusky ALL = NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser
注意:有时添加"rusky ALL = NOPASSWD: ALL"这样一行;但是,rusky执行sudo时还是需要输入密码,这是为什么?
原来是这一行在"%admin ALL=(ALL) ALL"组策略之前,后面的组配置覆盖了前面的配置,而rusky属于admin组,所以需要密码。
这时,只需要将%admin行用#注释掉即可。
Linux 系统sudo命令的更多相关文章
- 【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
Linux系统下命令行连接蓝牙设备 2018年11月26日 10:47:27 Zz笑对一切 阅读数:741 1.打开系统蓝牙 sudo service bluetooth start 1 进入bl ...
- 查看linux系统版本命令 (转)
查看linux系统版本命令 分类: Linux 知识小结2011-10-10 15:26 240162人阅读 评论(9) 收藏 举报 linuxredhatdebianx86susesun 一.查看内 ...
- Linux系统ifconfig命令找不到,centos ifconfig Command not found
centos ifconfig Command not found,Linux系统ifconfig命令找不到 >>>>>>>>>>>& ...
- Linux系统基础命令
这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...
- Linux系统-解压缩命令集合
Linux系统-解压缩命令集合 linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. ...
- LINUX系统VMSTAT命令详解
linux系统vmstat命令详解 [转自 https://www.cnblogs.com/wensiyang0916/p/6514820.html] vmstat 1 1表示每秒采集一次vms ...
- Linux系统——awk命令
awk命令不仅仅是Linux系统的命令,也是一种编程语言,用来处理数据和生成报告(Exel),处理的数据可以是一个或多个文件(标准输入和管道获取标准输入).可在命令行上编辑操作,也可以写成awk程序运 ...
- 给大家介绍一下linux系统高级命令
输出重定向(mip.0834jl.com) ;覆盖文件内容 回声' 123 ' 测试;覆盖原始内容 回声' 123 ' 测试;原始存在(共存) echo 'ken2 '(www.jl0834.com) ...
- spark实验(一)--linux系统常见命令及其文件互传(2)
2.使用 Linux 系统的常用命令 启动 Linux 虚拟机,进入 Linux 系统,通过查阅相关 Linux 书籍和网络资料,或者参考 本教程官网的“实验指南”的“Linux 系统常用命令”,完成 ...
随机推荐
- C#(静态String类)
[转]http://blog.csdn.net/angelazy/article/details/8501776 C#中提供了比较全面的字符串处理方法,很多函数都进行了封装为我们的编程工作提供了很大的 ...
- java跨域解决
import java.util.ArrayList; import java.util.List; import org.springframework.context.annotation.Bea ...
- Lambda与委托
Lambda 表达式是一个可用于创建委托或表达式树类型的匿名函数. 通过使用 lambda 表达式,可以可作为参数 或 返回为函数调用值的本地函数.Lambda 表达式对于编写 LINQ 查询表达式特 ...
- Sequential projection learning for hashing阅读笔记
真不能再挖坑了,前面挖聊很多坑都没来得及填,从今往后,能写多少就是多少.Sequential projection learning for hashing这篇文章去年就阅读了,当时阅读完没来得及做笔 ...
- Guava 源码分析之 Beta, GwtCompatible, GwtIncompatible, Charset, HashCode
com.google.common.annotations.Beta /** * 表明一个公用API的未来版本是受不兼容变更或删除限制的 * 拥有这个注释标志的API不受任何兼容性保证 * */ @R ...
- C语言:字符串读取流读取文件中的数据
#include<stdio.h> int main() { //定义文件指针 FILE *f = NULL; //打开文件 f = fopen("1.txt",&qu ...
- C++11学习
转自: https://www.cnblogs.com/llguanli/p/8732481.html Boost教程: http://zh.highscore.de/cpp/boost/ 本章目的: ...
- UVA 10012 How Big Is It?(暴力枚举)
How Big Is It? Ian's going to California, and he has to pack his things, including his collection ...
- Strategy 策略模式 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 手写一个关于title属性自定义提示框解决浏览器(IE)不兼容问题
<html> <head> <meta charset="utf-8"> <title>无标题页</title> < ...