使用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. Insert Pictures In Hexo Blog

    After build my blog following the online course step by step , I began to try to write my own blog️ ...

  2. PHP 下载apk文件

    方式一.public function downApkFile(){ $path = Env::get('root_path')."apk/"; //路径 $file_name = ...

  3. vscode 超好用的前端插件

    一 vscode 前端调试接口的插件 作为前端工程师,接口的调试是我们必不可少的工作.以前用过postman,但是作为一个vscode重度使用者,我希望看看vscode能否进行对接口的调试.省的跟后台 ...

  4. 一行代码解决JS数字大于2^53精度错误的问题

    服务端使用长整型(Int64)的数字,在浏览器端使用JS的number类型接收时,当这个实际值超过 (2^53-1)时,JS变量的值和实际值就会出现不相等的问题.常见场景比如使用雪花算法生成Id. 在 ...

  5. Elasticsearch入门,看这一篇就够了

    目录 前言 可视化工具 kibana kibana 的安装 kibana 配置 kibana 的启动 Elasticsearch 入门操作 操作 index 创建 index 索引别名有什么用 删除索 ...

  6. Java线程池的工作流程

    线程池刚被创建的时候,只是向系统里申请一个用于执行流程队列和管理线程池的线程资源.在调用execute()添加一个任务时,线程池会按照以下流程执行: 1.如果正在运行的线程数少于corePoolSiz ...

  7. Apache Hudi集成Spark SQL抢先体验

    Apache Hudi集成Spark SQL抢先体验 1. 摘要 社区小伙伴一直期待的Hudi整合Spark SQL的PR正在积极Review中并已经快接近尾声,Hudi集成Spark SQL预计会在 ...

  8. 4.启动虚拟机 设置CentOS7

    启动虚拟机 CentOS设置 1.点击箭头方向即可启动我们的VMware 2.设置语言 在第一步设置完成后,我们一直等待,即可来到语言设置界面 此处我们设置[中文] 3.设置安装信息 将下面带有[感叹 ...

  9. [Java] 开课吧--JVM

    双亲委派 向上委托,向下加载 收到加载任务后,先交给父类加载器,只有当父类加载器无法完成,才会执行加载 保证只有一个类加载器加载,避免重复加载 破坏:JDK 1.2后才使用,JDK  1.1的核心类没 ...

  10. [Python] 可变/不可变类型 & 参数传递

    与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如:   int   a  = 1 类型 标识 值 标识(identity):用于唯一标识 ...