visudo 编辑sudoers文件

1.命令功能

bisudo命令是专门用来编辑/etc/sudoers文件,同时提供语法检查等功能。/etc/sudoes文件是sudo命令的配置文件。

2.语法格式

visudo  option

选项说明

visudo –c  手动执行语法检查

3.使用范例

范例1 执行sudo 对普通用户cxf和joe授权。

范例1 执行sudo 对普通用户cxf和joe授权。
[root@cxf home]# visudo #编辑配置文件 相当于vim /etc/sudoers文件
....
joe ALL=(ALL) #将joe提权为root身份
cxf ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel #授权cxf可以以root身份添加或删除用户权限

分别对joe和cxf做不同的授权。

sudo  以另一个用户身份执行命令

1.命令功能

通过sudo命令,可以让普通用户执行指定的命令或程序,拥有超级用户的权限。细化不能命令授权的指定权限。

2.语法格式

sudo  option

选项说明

选项

选项说明

-l

列出当前用户可以执行的命令。只有在sudoers文件中才能使用该选项

-h

列出使用方法,并退出

-u

已指定用户的身份执行命令,后面跟除了root以外的其他用户,可以是用户名,也可以是uid。

-b

在后台执行指定的命令

3.使用范例

查看哪些用户可以配置了sudo

[root@cxf ~]# tail -l /etc/sudoers
chu ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel

范例1  chu账号通过sudo命令,添加删除账号

添加账号test1账号

[chu@cxf ~]$ sudo passwd test1
更改用户 test1 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[chu@cxf ~]$ ls -l /home
......
drwx------ 3 test1 test1 4096 5月 21 02:15 test1

删除test1账号

[chu@cxf ~]$ userdel -r test1
bash: /usr/sbin/userdel: 权限不够
[chu@cxf ~]$ sudo userdel -r test1

注:对于linux系统bash的内置命令,一般无法进行sudo授权,例如cd、echo

bash内置命令如下:

[, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, com-popt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false,  fc,  fg, getopts,  hash,  help,  history,  jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type,typeset, ulimit, umask, unalias, unset, wait - bash built-in commands, see bash(1)

sudo 及visudo用法的更多相关文章

  1. sudo权限集中管理用法

    #定义一组命令集合,名称DBA_CMD,禁止使用的命令前加!即可Cmnd_Alias DBA_CMD =  /bin/touch,/bin/mkdir,/sbin/service,/sbin/chkc ...

  2. sudo,visudo

    visudo修改/etc/sudoers文件 用户名/%组名 主机名/主机别名/网段=(身份)命令 若(ALL)为空则为所有身份,即包含root身份 user1 ALL=/sbin/shutdown ...

  3. /etc/sudoers文件的分析以及sudo的高级用法

    高级用法总结: sudo命令是普通用户的提权操作指令.在权限控制中,我们可以使用/etc/sudoers文件中来进行设置.基本的用法比较熟悉.比如设置一个普通用户可拥有root用户的运行权限,那么设置 ...

  4. sudo及visudo

    sudo是一种权限管理机制,管理员可以授权普通用户去执行root的操作,而不需要知道root的密码,它依赖于/etc/sudoers这个文件,可以授权给哪个用户在哪个主机上能够以管理员的身份执行什么样 ...

  5. Linux用户配置sudo权限(visudo)

    sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 ...

  6. su和sudo命令的用法

    为了安全起见,尽量不要用root用户去做所有事情,因为一旦执行了错误的命令,可能会直接导致系统崩溃. 一.su命令 su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,切换到其他用 ...

  7. sudo的简单用法

    su: Switch User, 以管理员身份运行某些命令: su -l root -c 'COMMAND' 但是想要限制某个用户只拥有一部分管理员权限,而不是拥有全部权限,这就需要用到sudo su ...

  8. Shell命令-用户用户组管理之visudo、sudo

    文件及内容处理 - visudo.sudo 1. visudo:编辑/etc/sudoers文件的专属命令 visudo命令的功能说明 visudo命令专门用来编辑/etc/sudoers这个文件的. ...

  9. Linux sudo

    200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍sudo配置和用法,为了给某个用户控制权限比如执行某个命令或者关 ...

随机推荐

  1. shell 并发进程的例子

    linux shell 实现后台多进程运行的,开始和终止 原创 2014年11月21日 12:04:51 9953 linux shell 实现后台开始,和停止多进程 知识点: xxxxcmd.sh ...

  2. 无界面上(linux)运行jmeter(2)

    无界面上(linux)运行jmeter 1.先在bin目录下面创建一个文件夹testplan用来存放脚本(.jmx文件),然后在创建一个文件夹testresult用来存放脚本执行后的结果(.jtl文件 ...

  3. 关于springmvc的一些注解详解

    引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为applicatio ...

  4. slideToggle()---单击隐藏/浮现--jQuery--click() 方法

    click() 方法 模块隐藏/浮现 <html> <head> <script type="text/javascript" src="/ ...

  5. 由于SID连接不匹配,监听器拒绝连接。

    java.sql.SQLException: Listener refused the connection with the following error:ORA-12505, TNS:liste ...

  6. Flutter异步Future

    一.认识Future 1.创建Future void testFuture(){ Future future = new Future(() => null); future.then((_){ ...

  7. 简单通讯聊天 群聊功能 Windows下的客户端 Linux下的epoll服务器

    1 服务器代码  Linux eclipse C++ //======================================================================= ...

  8. Windos下navcat连接虚拟机中的mysql

    进入mysql命令行, 使用root用户,密码:youpassword(你的root密码)连接到mysql服务器: # mysql -u root -proot  mysql>GRANT ALL ...

  9. 爬虫六之爬取猫眼电影top100

    该爬虫比较简单,代码放在github上 https://github.com/GhostSteven/Crawler/tree/master/maoyantop100

  10. java带图形界面的五子棋

    Main: package BlackWhite; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowL ...