使用sudo分配管理权限

su命令

su -  [账户名称]     :切换到用户,不加用户名默认切换到root

su -  [账户名称]  -c  '命令'   :以xx用户身份执行命令,注意命令需用引号引起来

[jacob@proxy ~]# su -                       //切换账户,默认切换为root账户

密码:

[root@proxy ~]#

[root@proxy ~]# su - tom  -c "mkdir /home/tom/test"        //管理员切换普通用户

[tom@proxy ~]# su - -c "systemctl restart sshd"            //以管理员重启服务

分配部分命令root权限给普通用户:

which 命令  :查看命令的原始路径

[root@proxy ~]# vim /etc/sudoers         //修改配置(vim或visudo),修改文件后,需要使用wq!强制保存

.. ..

softadm    ALL=(ALL)   /usr/bin/systemctl    //授权softadm以root身份执行systemctl命令

用户名  哪些位置登陆(主机名)=什么身份   执行什么命令   //不同的命令,分开;例外程序以!符号取反。在执行相关程序时可以利用通配符*

[root@proxy ~]# su - softadm

[softadm@proxy ~]$ sudo -l                        //查询有哪些sodu命令权限,普通用户第一次sudo需要输入自己帐号的密码

… …

[sudo] password for softadm:                                 //输入softadm的口令

.. ..

用户 softadm 可以在该主机上运行以下命令:

(ALL) /usr/bin/systemctl

[softadm@proxy ~]$ systemctl start httpd                    //不用sudo时启动服务失败

Authentication is required

.. ..

[softadm@proxy ~]$ sudo systemctl restart httpd          //通过sudo启动服务成功

[root@proxy ~]# vim /etc/sudoers

.. ..

useradm ALL=(ALL)  /usr/bin/passwd,!/usr/bin/passwd root,/usr/sbin/user*,!/usr/sbin/user* * root

//给予各种用户类命令、修改密码权限,但不能操作root用户的

[useradm@proxy ~]$ sudo useradd newuser01                  //可以添加用户

[useradm@proxy ~]$ sudo passwd newuser01                  //可以修改普通用户的口令

分配部分命令root权限给组成员(%代表组,生产环境下慎用)

[root@proxy ~]# vim /etc/sudoers

.. ..

%wheel ALL=(ALL)  /bin/*

[root@proxy ~]# usermod -a -G wheel zengye

[zengye@proxy ~]$ sudo -l

.. ..

用户 zengye 可以在该主机上运行以下命令:

(root) /bin/*

sudo启用日志记录(默认没有日志)

[root@proxy ~]# visudo              //修改/etc/sudoers配置,添加日志设置,以便跟踪sudo执行操作

Defaults  logfile="/var/log/sudo"

.. ..

[root@proxy ~]# sudo -l                                  //查看授权的sudo操作

[softadm@proxy ~]# sudo systemctl status httpd              //查看授权的sudo操作

[root@proxy ~]# tail /var/log/sudo    //确认日志记录已生效

.. ..

May 16 22:14:49 : root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=list

Feb 22 22:35:43 : softadm : TTY=pts/11 ; PWD=/home/softadm ; USER=root ;

COMMAND=/bin/systemctl status httpd

三、使用sudo分配管理权限的更多相关文章

  1. Security基础(一):Linux基本防护措施、使用sudo分配管理权限、提高SSH服务安全

    一.Linux基本防护措施 目标: 本案例要求练习Linux系统的基本防护措施,完成以下任务: 修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录) 锁定用户lisi的账户 ...

  2. Linux系统管理第三次作业 账号管理 权限及归属管理

    1.创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) [root@localhost ~]# mkdir /guanli [root@localhos ...

  3. 禁用root登录以及使用sudo分配权限

    前言 最近一段时间服务器有受到一些挖比特币的人的攻击,这里就简要说明一下提升服务器安全度的做法 禁用root登录 root权限可以说是linux服务器的最高权限,如果我们平常都是直接使用root用户来 ...

  4. Linux ACL对某一些文件有管理权限

    某些系统账号希望对某一些文件有管理权限,有三种方法: 1 加入属主所在的同一个组中,这等于扩大了访问其他文件的权限了. 2 加入other中,这样权限放开的更大了. 3 给文件的sudo权限. 4 采 ...

  5. Ecshop:后台添加新功能栏目以及管理权限设置

    一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...

  6. MySQL用户账户管理/权限管理/资源限制

    MySQL 的权限表在数据库启动的时候就载入内存,当用户通过身份认证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了. mysql 的权限体系大致分为5个层级: ...

  7. 使用sudo进行Linux权限升级技巧

    0x00 前言 在我们之前的文章中,我们讨论了如何使用SUID二进制文件和/etc/passwd 文件的Linux权限提升技巧,今天我们发布了另一种“使用Sudoers文件进行Linux权限提示技巧” ...

  8. linux管理权限

    1.linux命令查询 root id 2.切换用户 su - xiaobai 一定要加"  -  "这个会将你的所有环境变量都带过来 3.root用户切换普通用户不需要输入密码反 ...

  9. Ubuntu 用户管理/权限管理

    Ubuntu 用户管理/权限管理 小小记录一下 Ubuntu 下用户/权限管理常用的一些命令 用户管理 组管理 文件权限 给用户添加 sudo 权限 给用户添加 sudo 权限 首先先给出几个文件 / ...

随机推荐

  1. Docker网络配置进阶

    Docker启动会默认创建docker0虚拟网桥,是Linux的一个bridge,可以理解成一个软件交换机.它会在挂载到它的网口之间进行转发. 之后所有容器都是在172.17.0.x的网段上,并且可以 ...

  2. [CTF]栅栏密码

    [CTF]栅栏密码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_40836553/articl ...

  3. 11.qml-通过方法来加载组件、字符串方式加载组件

    在上章,我们学习了10.qml-组件.Loader.Component介绍. 本章我们继续来学习组件的其它创建方式. 1.调用Function来加载和移除组件 之前我们是使用Loader对象来实现加载 ...

  4. 推荐一个不得不知道的 Visual Studio 快捷键

    不得不说,Visual Studio 内置了很多非常棒的快捷键,借助于这些快捷键我们甚至不需要再使用鼠标,就可以快速高效的编写代码,因此学习和熟悉这些快捷键是值得的. 其中有一个快捷键是我非常喜欢,也 ...

  5. java并发编程:深入了解synchronized

    简介 synchronized是Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码.同时它还保证了共享变量的内存可见性. ...

  6. EFCore之增删改查

    1. 连接数据库 通过依赖注入配置应用程序,通过startup类的ConfigureService方法中的AddDbContext将EFCore添加到依赖注入容器 public void Config ...

  7. centos7 的Linux下ip命令替换ifconfig命令的用法

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  8. IT行业新闻事件

    台积电: http://www.eefocus.com/component/394512 新闻合集: https://mail.qq.com/cgi-bin/frame_html?sid=q3Mhqr ...

  9. mysql-connector-java版本匹配问题:ERROR DruidDataSource - create connection SQLException(Day_45)

    mysql安装的是:8.0.23,启动项目后发现报错连接不上数据库 报错信息: Druid-ConnectionPool-Create-150783284] ERROR DruidDataSource ...

  10. Java 的序列化 (Serializable)(Day_09)

    我们的火,要把世界都点燃 运行环境 JDK8 + IntelliJ IDEA 2018.3 什么是序列化,反序列化 序列化是将对象状态转换为可保持或传输的格式的过程. 与序列化相对的是反序列化,它将流 ...