红帽7 su命令与sudo服务

1、su命令

su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户

[root@localhost Desktop]# su - lisi
Last login: Wed Sep 12 23:47:44 CST 2018 on pts/0
[lisi@localhost ~]$ id
uid=1001(lisi) gid=1001(lisi) groups=1001(lisi) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

上面的su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。另外,当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证了。

2、sudo服务

普通用户可以完全切换到root管理员身份来完成相应工作,但这将暴露root管理员的密码,sudo命令可以把特定命令的执行权限赋予给指定用户,这样既可保证普通用户能够完成特定的工作,也可以避免泄露root管理员密码。我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。sudo服务的配置原则也很简单—在保证普通用户完成相应工作的前提下,尽可能少地赋予额外的权限。

sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

  sudo服务中的可用参数以及作用

参数作用
-h列出帮助信息
-l列出当前用户可执行的命令
-u 用户名或UID值以指定的用户身份执行命令
-k清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b在后台执行指定的命令
-p更改询问密码的提示语

 

 

 

 

 

 

 

 

 

 

 

总结来说,sudo命令具有如下功能:

限制用户执行指定的命令:

记录用户执行的每一条命令;

配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;

验证密码的后5分钟内(默认值)无须再让用户再次验证密码。

可以使用sudo命令提供的visudo命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错,只有root管理员才可以使用visudo命令编辑sudo服务的配置文件

使用visudo命令配置sudo命令的配置文件时,其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息

谁可以使用  允许使用的主机=(以谁的身份)  可执行命令的列表

在填写完毕后记得要先保存再退出,然后切换至指定的普通用户身份,此时就可以用 sudo -l 命令查看到所有可执行的命令了

 

作为一名普通用户,是肯定不能看到root管理员的家目录(/root)中的文件信息的,但是,只需要在想执行的命令前面加上sudo命令就可以了

[lisi@localhost ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[lisi@localhost ~]$ sudo ls /root/
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop         Downloads  Music          Public    Videos

如果需要让某个用户只能使用root管理员的身份执行指定的命令,切记一定要给出该命令的绝对路径,多个命令用逗号隔开,否则系统会识别不出来。

 

 

转载于:https://www.cnblogs.com/zq8421/p/9643017.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue --- 按钮的防重复点击事件

按钮的防重复点击事件 :loading属性当loading true时:按钮会显示一个旋转的圆圈.此时的按钮是无法点击的当loading false时:按钮重新变为可点击的状态可以通过使用一个变量来控制按钮的可点击性,当提交时,按钮不可点击,提交完毕后,按钮可以点击 <van-button :loading&qu…

PHP 实现列出目录的内容

PHP 实现列出目录的内容 <?phpfunction list_files($dir) { if(is_dir($dir)) { if($handle opendir($dir)) { while(($file readdir($handle)) ! false) { if($file ! "." && $file ! ".." && $file ! "Thumbs.db") { …

CentOS6找回root密码 - 黑猴子

1&#xff09;重启Linux&#xff0c;见到下图&#xff0c;在3秒钟之内按下回车 2&#xff09;三秒之内要按一下回车&#xff0c;出现如下界面 3&#xff09;按下e键就可以进入下图 4&#xff09;移动到下一行&#xff0c;再次按e键 5&#xff09;移动到下一行&#xff0c;进行修…

树形依赖背包dp的最优解问题

fij表示在dfs序序列上做了前i个点&#xff0c;已经选择了j个人的最大权值和。   那么如果这个点选fij−>fi1,j1   如果不选fij−>fisizei,j&#xff08;表示跳过子树转移&#xff09; code&#xff1a; for(i1;i<N;i)for(j0;j<K;j){f[i1][j1]max(f[i1][j1],f[i…

vue node --- 前后端联系的知识梳理

前端、后端联系知识梳理 以打开浏览器,访问login为栗打开浏览器,访问localhost:8080/#/loginsrc/router/index.js 会根据 /login 找到对应的Login(src/components/pages/Login.vue)组件, 然后渲染到浏览器当输入用户名和密码,点击登录按钮后根据Login组件中配置的axios请求向后…

PHP 销毁指定目录

PHP 销毁指定目录 销毁指定目录&#xff0c;以及之下的内容 <?phpfunction destroyDir($dir, $virtual false) { $ds DIRECTORY_SEPARATOR; $dir $virtual ? realpath($dir) : $dir; $dir substr($dir, -1) $ds ? substr($dir, 0, -1) : $dir; if (is_dir($dir) …

[译]写程序更快、更好、更便宜的艺术

原文 没有人想延迟交付时间、超出预算。没有一个开发人员会在早上醒来的时候想"我今天要做搞一些垃圾代码。我如何才能增加、耗费雇主更多的钱&#xff1f;"。尽管如此&#xff0c;还是有许多的软件项目进行的不是很好。总是有来自各方面的压力&#xff0c;让我们不得…

常见笔试面试问题点(转载)

原文&#xff1a; java各种概念 Core Java总结 Base: OOA是什么&#xff1f;OOD是什么&#xff1f;OOP是什么&#xff1f;{oo(object-oriented):基于对象概念,以对象为中心,以类和继承为构造机制,来认识,理解,刻画客观世界和设计,构建相应的软件系统的一门方法;本意----模拟人类…

mongoose --- 建立一个集合规则,并导出.

使用mongoose写一个集合的规则 首先要设计数据结构下面是newGoods.json里面的一条数据 {"ID": "ff89cf2e14e143dc9e49ad75f7bc7bb0","GOODS_SERIAL_NUMBER": "6901844910651","SHOP_ID": "402880e860166f3c0160167897…

PHP获取用户真实IP地址

PHP获取用户真实IP地址 <?phpfunction getRealIpAddr() { if (!empty($_SERVER[HTTP_CLIENT_IP])) { $ip$_SERVER[HTTP_CLIENT_IP]; } elseif (!empty($_SERVER[HTTP_X_FORWARDED_FOR])) //to check ip is pass from proxy { $ip$_SERVER[HTTP_X_FORWARDED_FOR]; } else…

虚拟机vmware的连接方式以及IP端口,协议等概念

1.NAT虚拟机相当于小弟&#xff0c;宿主机相当于大哥&#xff0c;宿主机虚拟出一个网段供虚拟机上网用 2.Bridge桥接&#xff0c;虚拟机和宿主机相当于局域网中的两台机器 3.Host-Only虚拟机只和宿主机通信&#xff0c;无法上网 32位和64位linux的区别转载于:https://www.cnblo…

__METHOD__

转载于:https://www.cnblogs.com/xiaobiaomei/p/8662846.html

node --- 模块化连接MongoDB数据库的参数设置方案之一

数据库的初始化操作 连接的数据库的名称包含连接数据库初始化所有的Schemas暴露给其他页面使用的接口假设写在 database/init.js 中 const mongoose require(mongoose); // 连接的数据库的名称是 lzhhc-vue const db mongodb://localhost/lzhhc-vue const glob require(gl…

Windows网络接口API函数

Windows提供了一套非常轻量级的网络函数&#xff0c;方便进行网络应用开发&#xff0c;整理出来供参考使用。 The following functions are used in Windows networking: MultinetGetConnectionPerformanceWNetAddConnection2WNetAddConnection3WNetCancelConnectionWNetCancel…

PHP 实现缩略图

PHP 实现缩略图 <?php header("Content-type: image/png");function resize_image($filename, $tmpname, $xmax, $ymax) { $ext explode(".", $filename); $ext $ext[count($ext)-1]; //判断文件类型&#xff0c;获取不同的图像if($ext "jpg…

微信小程序 - 五星评分(含半分)

转载自&#xff1a;http://blog.csdn.net/column/details/13721.html演示&#xff1a;下载&#xff1a;小程序-星级评论.zip转载于:https://www.cnblogs.com/cisum/p/9651110.html

node --- 监听路由,读取json文件,向MongoDB中写入数据

开始 假设读取的文件为newGoods.json假设数据的在MongoDB数据库中,集合的规则是Goods下面将用到 koa-router:监听路由,并调用指定的函数mongoose:node中操作MongoDB的接口库fs:node的原生模块,用于读取/写入文件 const Router require(koa-router); let router new Router…

windows cmd编辑文本

echo创建一个空的txt文件:echo.>1.txt这里>表示输出到...echo.表示输出一个空行(即换行)>命令可以扩展为>>表示的意思为附加到...例子:1.txt的内容为123456附加789到123456的后面:echo 789>>1.txt则1.txt的内容变为:123456789附加789到下一行是这样的:ech…

PHP 实现图片验证码

PHP 实现图片验证码 步骤 产生随机字符串创建一张简单的图片&#xff0c;设置背景色&#xff0c;文本色再加一些干扰线&#xff0c;干扰素输出图像销毁图像资源 <?php//PHP生成图片验证码class VerifyImage{private $verifyCode;private $image;//生成随机字串private fu…

vue --- 子组件监听点击事件,接收父组件参数.实现对应跳转

开始 vue中子组件这一块,有点麻烦。不是说它很难,而是它的传送数据方式,以及和各种前端后端路由混在一起时,如果不清晰很容易就迷茫下面假设:路由配置文件为:router.js父组件为 parent.vue , 路径为 ./parent.vue子组件1为 child1.vue, 路径为 ./child1.vue子组件2为 child2.v…