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 系统常用命令”,完成 ...
随机推荐
- EF Code First 学习笔记:表映射 多个Entity到一张表和一个Entity到多张表
多个实体映射到一张表 Code First允许将多个实体映射到同一张表上,实体必须遵循如下规则: 实体必须是一对一关系 实体必须共享一个公共键 观察下面两个实体: public class Per ...
- .NET:“事务、并发、并发问题、事务隔离级别、锁”小议,重点介绍:“事务隔离级别"如何影响 “锁”?
备注 我们知道事务的重要性,我们同样知道系统会出现并发,而且,一直在准求高并发,但是多数新手(包括我自己)经常忽略并发问题(更新丢失.脏读.不可重复读.幻读),如何应对并发问题呢?和线程并发控制一样, ...
- ArcEngine 连接sql server sde
前言 本想在soe中进行sde for sqlserver数据获取.由于soe的调试不方便,为了测试的简便,先在桌面上写了个arcengine连接sde for sqlserver的程序,但是本以为是 ...
- iOS:转载:UIControl的使用
主要功能: UIContol(控件是所有控件的基类 如:(UIButton)按钮主要用于与用户交互,通常情况下我们不会直接使用UIControl,而是子类化它. 常用属性: BOOL enabled ...
- Pow(x,n) leetcode java
题目: Implement pow(x, n). 题解: pow(x,n)就是求x的n次方.x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2).所以利用递归求解,当n==1 ...
- JAVASCRIPT校验大全[转]
var IsFireFox = document.getElementById &&! document.all;//判断是否为FireFox //页面里回车到下一控件的焦点 func ...
- RUP
RUP随想 [摘要] 本文主要阐述一下我对RUP软件工程思想的看法以及一些感想.我认为软件工程既然是工程,那么纯粹的空谈理论是没有意义的,软件工程需要实干.我认为软件工程的思想实际上和兵法理论是一样的 ...
- 转: telnet命令学习
1.每天一个linux命令(58):telnet命令 转自: http://www.cnblogs.com/peida/archive/2013/03/13/2956992.html telnet命令 ...
- Cognos两种建模工具对于复杂日期维度的处理比较(下)
本文继Cognos两种建模工具对于复杂日期维度的处理比较(上)之后将介绍一下Cognos中建模工具Transform对复杂日期维度的处理. 二:Transform建模对于复杂日期维度的处理 为了书写效 ...
- LeetCode【7】.Reverse Integer--java实现
Reverse Integer 题目要求:给定一个int 类型值,求值的反转,例如以下: Example1: x = 123, return 321 Example2: x = -123, ...