三、使用sudo分配管理权限
使用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分配管理权限的更多相关文章
- Security基础(一):Linux基本防护措施、使用sudo分配管理权限、提高SSH服务安全
一.Linux基本防护措施 目标: 本案例要求练习Linux系统的基本防护措施,完成以下任务: 修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录) 锁定用户lisi的账户 ...
- Linux系统管理第三次作业 账号管理 权限及归属管理
1.创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) [root@localhost ~]# mkdir /guanli [root@localhos ...
- 禁用root登录以及使用sudo分配权限
前言 最近一段时间服务器有受到一些挖比特币的人的攻击,这里就简要说明一下提升服务器安全度的做法 禁用root登录 root权限可以说是linux服务器的最高权限,如果我们平常都是直接使用root用户来 ...
- Linux ACL对某一些文件有管理权限
某些系统账号希望对某一些文件有管理权限,有三种方法: 1 加入属主所在的同一个组中,这等于扩大了访问其他文件的权限了. 2 加入other中,这样权限放开的更大了. 3 给文件的sudo权限. 4 采 ...
- Ecshop:后台添加新功能栏目以及管理权限设置
一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...
- MySQL用户账户管理/权限管理/资源限制
MySQL 的权限表在数据库启动的时候就载入内存,当用户通过身份认证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了. mysql 的权限体系大致分为5个层级: ...
- 使用sudo进行Linux权限升级技巧
0x00 前言 在我们之前的文章中,我们讨论了如何使用SUID二进制文件和/etc/passwd 文件的Linux权限提升技巧,今天我们发布了另一种“使用Sudoers文件进行Linux权限提示技巧” ...
- linux管理权限
1.linux命令查询 root id 2.切换用户 su - xiaobai 一定要加" - "这个会将你的所有环境变量都带过来 3.root用户切换普通用户不需要输入密码反 ...
- Ubuntu 用户管理/权限管理
Ubuntu 用户管理/权限管理 小小记录一下 Ubuntu 下用户/权限管理常用的一些命令 用户管理 组管理 文件权限 给用户添加 sudo 权限 给用户添加 sudo 权限 首先先给出几个文件 / ...
随机推荐
- node-mongo封装
node 里面调用mongo封装了下. mongo.js文件 const { MongoClient, ObjectId } = require('mongodb'); const mongourl ...
- linux中定时运行php(每分钟执行一次为例)
注:使用Crontab定时执行php脚本文件 1. 安装crontab yum install crontabs 说明:/sbin/service crond start //启动服务/sbin/se ...
- 支付宝手机端网页支付 PHP(基于官方提供的demo)
1.支付宝开放平台添加应用并且签约快捷手机wap支付(应用添加不做详细说明) 2.下载demo,文档中心SDK&Demo, 3.个人中心秘钥管理,查看商户appID,商户私钥,支付宝公钥,商户 ...
- Java线程的6种状态
6种状态分别是: NEW.RUNNABLE.TERMINATED.WAITING.TIMED_WAITING.BLOCKED NEW:线程创建完毕 RUNNABLE:线程运行中,又分为READY + ...
- 记一次 .NET 某医院HIS系统 CPU爆高分析
一:背景 1. 讲故事 前几天有位朋友加 wx 抱怨他的程序在高峰期总是莫名其妙的cpu爆高,求助如何分析? 和这位朋友沟通下来,据说这问题困扰了他们几年,还请了微软的工程师过来解决,无疾而终,应该还 ...
- linux跨文件复制粘贴
跨文件是这样的: 复制a.txt的第20行至第30行到b.txt中vi a.txt:2010yy:e b.txtp
- Python设计模式知多少
设计模式 设计模式是前辈们经过相当长的一段时间的试验和错误总结出来的最佳实践.我找到的资料列举了以下这些设计模式:工厂模式.抽象工厂模式.单例模式.建造者模式.原型模式.适配器模式.桥接模式.过滤器模 ...
- C#·对于BOM头之完全解决方案
阅文时长 | 0.46分钟 字数统计 | 798.4字符 主要内容 | 1.引言&背景 2.使用C#写入带有/不带有BOM头的文件? 3.对于读取文件时,避免BOM头造成的异常. 4.声明与参 ...
- [bug] docker: Error response from daemon: Conflict. The container name "/xx" is already in use
改名.删除或重启容器 参考 https://www.cnblogs.com/youxin/p/12993816.html
- [Python] RPC实现
单线程同步 使用socket传输数据 使用json序列化消息体 struct将消息编码为二进制字节串,进行网络传输 消息协议 1 // 输入 2 { 3 in: "ping", 4 ...