sudo 命令详解
在linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。
一、su和sudo命令对比:
在普通用户下输入su命令后,会提示输入root账户的密码,然后就进入特权模式(跟用root登录系统完全一样),输入exit或者su - user 退出:
$ su -
Password:
ls /root
anaconda-ks.cfg install.log install.log.syslog
exit
$ ls /root
ls: cannot open directory /root: Permission denied #提示没有权限
而采用sudo命令,只需输入当前用户的密码(也可以配置为不输入密码)即可执行需要root权限执行的命令:
“`
ls /root
ls: cannot open directory /root: Permission denied #提示没有权限sudo ls /root
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for oracle: #输入普通用户oracle的密码
anaconda-ks.cfg install.log install.log.syslog
通过上面的对比可以看出,sudo比su有很多优点:
- 普通用户不需要知道root的密码即可执行需要root权限的命令;
- 不会因忘记退出而采用root执行了会引起破坏性的命令(初学linux经常犯这个错)
二、配置普通用户有使用sudo命令的权限:
在linux系统中,新建用户并没有执行sudo权限,如新建一个AAA的用户,输入sudo命令会有如下提示:
```
aaa is not in the sudoers file. This incident will be reported.
```
这句的意思是在sudoers文件中不存在aaa这个用户,这个时间会被报告给管理员。
既然知道问题处于sudoers这个文件,那我们就看看这个文件为何方神圣:
```
[root@dbs aaa]# vi /etc/sudoers
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands, which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.
## Host Aliases
## Groups of machines. You may prefer to use hostnames (perhaps using
## wildcards for entire domains) or IP addresses instead.
# Host_Alias FILESERVERS = fs1, fs2
# Host_Alias MAILSERVERS = smtp, smtp2
## User Aliases
## These aren't often necessary, as you can use regular groups
## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
## rather than USERALIAS
# User_Alias ADMINS = jsmith, mikem
输入i,对文件进行编辑,发现底部有只读提示:
-- INSERT -- W10: Warning: Changing a readonly file
应该是没有权限,退出编辑状态后查看权限:
[root@dbs aaa]# ll /etc/sudoers
-r–r—–. 1 root root 3825 Jul 22 01:05 /etc/sudoers
原来root也只有只读权限,难怪,首先修改权限以让root有完全控制权限:
[root@dbs aaa]#chmod 740 /etc/sudoers
再次编辑,这次没有出现只读提示了,找到如下字段:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL
aaa ALL=(ALL) ALL
添加aaa用户,添加后如aaa ALL=(ALL) ALL
修改完后输入:wq保存,保存后记得把权限修改回去,否则会有错误提示
#chmod 440 /etc/sudoers 权限一定是440,否则就会有错误提示。
OK,在aaa用户下就可以正常使用sudo命令咯。
sudo 命令详解的更多相关文章
- (6)sudo命令详解(每周一个linux命令系列)
首先说句抱歉,最近事情比较复杂,停更了一阵子.我又回来啦 多用户管理 我们常用的windows个人系统虽然可以设置多用户,但是实际上是不可以多用户同时登陆的(这个我实验过,我以前用windows服务器 ...
- su和sudo命令详解
我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改.很多情况下,我们在进行开发的时候都是使用普通用户进行登录的,尤其在进行一些环境变量 ...
- linux sudo命令详解
--sudo命令重启网卡 sudo service network restart http://bestchenwu.iteye.com/blog/1450292
- sudo命令详解
语法 sudo(选项)(参数) 选项 选项 说明 -b 在后台执行指令: -h 显示帮助: -H 将HOME环境变量设为新身份的HOME环境变量: -k 结束密码的有效期限,也就是下次再执行sudo时 ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- linux yum命令详解-转
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- 【转】linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- yum命令详解
yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 ...
- kill 命令详解 系统信号
kill 命令详解 系统信号 参考: 了解Linux的进程与线程 http://www.cnblogs.com/MYSQLZOUQI/p/4234005.html Linux就这个范儿 P532 ...
随机推荐
- Jmeter系列(26)- 常用逻辑控制器(5) | 循环控制器Loop Controller
循环控制器(Loop Controller) 字面意思,循环该控制器下的请求 设定固定循环次数,或者一直循环 同线程组的循环是父子关系,大家可以试下,如果线程组设置了一直循环,而循环控制器设置了2次, ...
- javascript 无限分类
* 根据php无限分类实现js版本的 /** * 根节点 parentid=0, 每个节点都有id, parentid字段 * @param items * @returns {*} */ funct ...
- GUI编程笔记
GUI编程 告诉大家该怎么学? 这是什么? 它怎么玩? 该如何去我们平时运用? 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 GUi的核心技术:Sw ...
- python二级 之 第 五套
1. 这里要注意输入的 就是列表 . [1,2,3] 2. 就是你要明白 random.seed() 产生随机种子# 与random.randint() 取 ...
- NOI.AC#2266-Bacteria【根号分治,倍增】
正题 题目链接:http://noi.ac/problem/2266 题目大意 给出\(n\)个点的一棵树,有一些边上有中转站(边长度为\(2\),中间有一个中转站),否则就是边长为\(1\). \( ...
- Visaul Studio Code中提示 vue:无法加载vue.ps1,未对vue.ps1进行数字签名
Visaul Studio Code错误提示 错误如图: 解决办法 首先以管理员身份打开windows PowShell终端. 输入下面命令,如提示选择Y即可. get-help set-execut ...
- Cnblogs 主题设置
https://www.cnblogs.com/enjoy233/p/cnblogs-markdown-code-display-opt.html 复制: 右上角添加复制按钮:https://www. ...
- IP多播与NAT地址转化
IP多播 与单播相比,在一对多的通信中,多播可以大大减少网络资源.在互联网上进行多播就叫做IP多播,IP多播所传送的分组需要使用IP多播地址. 如果某台主机想要收到某个特定的多播分组,那么怎样才能是这 ...
- nginx配置禁止爬虫配置
1.在配置文件里添加禁止爬虫配置 server { ------ #添加如下内容即可防止爬虫 if ($http_user_agent ~* "qihoobot|Baiduspider|Go ...
- 洛谷2093 JZPFAR + KD-Tree学习笔记 (KD-Tree)
KD-Tree这玩意还真的是有趣啊.... (基本完全不理解) 只能谈一点自己的对KD-Tree的了解了. 首先这个玩意就是个暴力... 他的结构有点类似二叉搜索树 每一层都是以一个维度作为划分标准. ...