su和sudo命令的用法
为了安全起见,尽量不要用root用户去做所有事情,因为一旦执行了错误的命令,可能会直接导致系统崩溃。
一、su命令
su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,切换到其他用户,比如从 root 管理员切换至普通用户。
需要注意的是,su 命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息,建议在切换用户身份时添加这个减号(-)。下图是su命令的例子:
二、sudo命令
使用 su 命令,普通用户可以完全切换到 root 管理员身份来完成相应工作,但这将暴露 root 管理员的密码,从而增大了系统密码被黑客获取的几率,这并不是最安全的方案。
sudo 命令把特定命令的执行权限赋予给指定用户,这样既可保证普通用户能够完成特定的工作,也可以避免泄露 root 管理员密码。
sudo 命令用于给普通用户提供额外的权限来完成原本 root 管理员才能完成的任务,格式为“sudo [参数] 命令名称”。
sudo 命令具有如下功能:
1、限制用户执行指定的命令:
2、记录用户执行的每一条命令;
3、配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
4、验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码。
三、sudo配置文件
可以使用 sudo 命令提供的 visudo 命令来配置用户权限,只有 root 管理员才可以使用 visudo 命令编辑sudo的配置文件(/etc/sudoers),其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。
# visudo
进入编辑状态后,按照下面的格式填写指定的信息:
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
需要注意的是,可执行命令列表中一定要给出命令的绝对路径,否则系统会识别不出来。例如:
root ALL=(ALL) ALL
cb ALL=(ALL) /usr/bin/cat,/usr/sbin/poweroff
如果让用户执行sudo命令时不需要密码验证,可以添加NOPASSWD参数。例如:
cb ALL=NOPASSWD: /usr/bin/cat,/usr/sbin/poweroff
对用户组配置sudo权限,组名前加%,下面的配置允许sudo组中的用户执行任何命令:
%sudo ALL=(ALL:ALL) ALL
su和sudo命令的用法的更多相关文章
- linux系统(centos)下su和sudo命令的区别
linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...
- 07 Linux su和sudo命令的区别
一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...
- su 和sudo 命令
一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...
- Linux su和sudo命令的区别,并获得root权限
su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...
- su与sudo命令的区别
由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统. 如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作. 特别是对于服 ...
- Linux 中su和sudo命令的几个注意点
1 su与su - 的区别 1.1命令说明 su对应是是no-login shell的方式进行账号登陆,命令行的变量配置还是切换账号前的变量. su-对应的是login shell的方式进行账号登陆, ...
- su和sudo命令详解
我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改.很多情况下,我们在进行开发的时候都是使用普通用户进行登录的,尤其在进行一些环境变量 ...
- linux su和sudo命令的区别
一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...
- linux su和sudo命令的区别(转)
一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...
随机推荐
- hdu5258简单枚举
百度之星复赛第一题.不明白这么水的题为何一堆人没过...这些人是咋晋级复赛的呢... /* * Author : ben */ #include <cstdio> #include < ...
- Cocos2d-JS 项目接入 触控广告平台(基于anysdk2.0.2)
本文以Cocos2d-JS项目作为示例,讲解如何集成AnySDK-JS. 一.如何创建项目我就省略了,直接进入主题. 1.1 首先,我需要下载anysdk框架包,下载地址:http://www.any ...
- JDBC编程步奏、问题总结(一)
jdbc编程步骤: 1. 加载数据库驱动 2. 创建并获取数据库链接 3. 创建jdbc statement对象 4. 设置sql语句 5. 设置sql语句中的参数(使用preparedStateme ...
- 将本地项目上传到git远程库(初始化)
准备条件: 首先,有一个远程仓库地址,本文中的地址为“http://git.xxxxxxxx.net.cn/jacun/imagegrap.git”; 第一步:在本地创建初始化仓库: git init ...
- C++的逐过程和逐语句的区别
1.逐语句是指在遇到函数调用语句的时候进入到函数内部执行. 2.逐过程是指在遇到函数调用语句时把函数当作一条语句执行.
- codeforces 466A. Cheap Travel 解题报告
题目链接:http://codeforces.com/problemset/problem/466/A 题目意思:一个 ride 需要 a 卢布,m 个 ride 需要 b 卢布,这两种方案都可以无限 ...
- html5--3.8 input元素(7)
html5--3.8 input元素(7) 学习要点 input元素及其属性 input元素 用来设置表单中的内容项,比如输入内容的文本框,按钮等 不仅可以布置在表单中,也可以在表单之外的元素使用 i ...
- 数组(Array)的初始化
如果这样: private static int unsorted[]; for(int i = 1 ; i < 8 ; i ++ ) unsorted[i] = 1 ; 是会报NullPoin ...
- Update 出现在的问题
报错提示:之前的操作没有完成,运行deanup被打断,请先执行Cleanup方法. 正常右键点击Cleanup,如果只让默认值勾选,可能还是会报这个错.所以正确操作如下: 全部选中再点击OK,这样就可 ...
- Makefile的常用技术总结
一.MAKE中的自动变量: $@: 表示target的名字 $%: 仅当目标是函数库文件中,表示规则中的目标成员名.例如,如果一个目标是"foo.a(bar.o)",那 ...