使用sudo进入root权限,以及防止root密码被恶意篡改-阿里云开发者社区

开发者社区> 科技小能手> 正文

使用sudo进入root权限,以及防止root密码被恶意篡改

简介:
+关注继续查看

一、前言

        sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登陆和管理时间,提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。

        而防止root用户密码被恶意更改,主要是用户基本上都是su - 切换到root,假如有很多人知道root账号和密码,那么就会出现很多问题,也就不知道是谁干的坏事,log里面查看的都是root用户,防止root被恶意更改,为了更好的管理用户权限。

二、特点

       Sudo能够限制用户只在某台主机上运行某些命令。 
       Sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
       Sudo确保root密码不会被遗忘,配置一个具有sudo权限的用户,切换到root就可以修改。
       Sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。 
       Sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。

三、配置sudo

1、查看系统是否安装Sudo

[kuangl@jw-web02 root]$ rpm -qa |grep sudo
sudo-1.7.2p1-10.el5

 2、新建一个系统管理用户kuangl,以root用户操作;

[root@jw-web02 ~]# useradd kuangl
[root@jw-web02 ~]# passwd kuangl
Changing password for user kuangl.
New UNIX password: 
BAD PASSWORD: it is based on a (reversed) dictionary word
Retype new UNIX password: 
passwd: all authentication tokens updated successfully. 

3、将kuangl用户赋予root权限;

[root@jw-web02 ~]# visudo 

在文件内容后面添加
kuangl      ALL=(ALL)     

如果不想在sudo的时候输入密码,干脆就把上面那行换成下面这行即可:
kuangl     ALL=(ALL)          NOPASSWD: ALL

 4、测试 Sudo

[root@jw-web02 ~]# sudo whoami
root                                                     //如果配置正确,命令会返回root字样

5、切换到root

[kuangl@jw-web02 root]$ sudo su -          //切换到root  
[root@jw-web02 ~]# su kuangl                 //切换到赋予的用户

四、防止Root密码被恶意篡改

1、添加admin组;

[root@jw-web02 ~]# groupadd admin

2、添加用户;

[root@jw-web02 ~]# useradd  linda
[root@jw-web02 ~]# useradd  rongw

3、将用户添加到admin组;

[root@jw-web02 ~]# usermod -a -G admin linda
[root@jw-web02 ~]# usermod -a -G admin rongw

4、在sudoers文件添加admin组,让这个组的用户权限和root一样。

vim /etc/sudoers

密码由自己设置和保管,相互之间不知道其他组的密码,这样子每个人员都有了sudo权限,而每个用户所做的事情基本可以通过日志查询得到。

五、备注:

[root@jw-index conf]# useradd kuangl
bash: useradd: command not found

为什么会出现bash: useradd: command not found 这个问题呢?原因如下:
sudo su 只是获得root用户的权限;
sudo su -  不仅获得root用户的权限,而且还执行root的profile来执行root的环境变量。

 

 



本文转自 kuangling 51CTO博客,原文链接:http://blog.51cto.com/kling/1167541

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
代码覆盖率计算利器:DotCover的使用(含Manual Test)
因为某项目的白盒单元测试做的不是很好,而QA又提出了非常高的代码覆盖率移行标准,不得以开始调研能覆盖手工测试(Mannual Test)的覆盖率工具,加上一些最基础的条件,该工具必须满足如下三点: 1:能计算白盒单元测试覆盖率; 2:能计算黑盒手工测试覆盖率; 3:支持MSTest框架; 第一个自然想到的就是NCover,没错,它肯定满足这三个条件,它有一个满足21天使用的Trial版本可以用,但是,商业版本的价格也是惊人的: NCover Code Central$ 2,298NCover Desktop$ 658NCover Collector$ 448 很多刀刀。
913 0
ubuntu 无法使用 SSH root 账户远程访问
SSH服务器,可以通过SSH协议来访问远程服务器,代替telnet和ftp。但是ubuntu默认是不启用root用户也不允许root远程登录的,这应该是出于安全考虑。 解决方案一: 使用其它用户登录 解决方案
969 0
Oracle 11g sys,system 密码忘记设置解决办法
原文: Oracle 11g sys,system 密码忘记设置解决办法 1.启动sqlplus 2.请输入用户名:  sqlplus/as sysdba 3.输入口令: 直接回车 4.连接到:    Oracle Database 11g Enterprise Edition Release 11.
1024 0
Android开发1——查找所需要出示权限的内容
  一、发现问题 用户在执行一些如拨打电话、发送短信等关系用户隐私的功能时,Android需要出示权限,权限在AndroidManifest.xml中配置   拨打电话的权限 <uses-permission android:name="android.permission.CALL_PHONE" />   发送短信的权限 <uses-permission
902 0
【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面
这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR 步骤: 1.首先maven搭建web项目 2.创建数据库 user/role/authority 其中,role->user是一对多,role->authority是多对多 shiros.
9122 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载