首页
登录 | 注册

6.13任务(命令sodu、限制root远程登陆)

3.8 命令sodu
上一节讲的su命令,需要使用root用户才能登陆到其他普通用户。可以既然有了root用户,直接使用root用户不就好了吗,所以,这不太合理。
为了系统安全,所以有sudo命令:让普通用户使用其他用户身份执行某条命令。通常是给普通用户授权root用户的权限

[root@localhost ~]# visudo            //打开sudo的配置文件,实际打开的是/etc/sudoers.tmp。不建议使用vi直接编辑这个文件,因为,使用visudo可以检查语法错误。
......
root    ALL=(ALL)       ALL
用户 在哪里=(前面的用户被授予哪个用户的身份)    所有的命令
xiao    ALL=(root)      ALL
上面的内容也可以写为:
xiao    ALL=(ALL)      ls,mv,cat        //限制授予的命令
......
退出后:
>>> /etc/sudoers: 语法错误 near line 93 <<<
现在做什么?        //回车
选项有:
  重新编辑 sudoers 文件(e)
  退出,不保存对 sudoers 文件的更改(x)
  退出并将更改保存到 sudoers 文件(危险!)(Q)
返回修改错误:e

xiao    ALL=(root)      /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

测试验证:
[root@localhost ~]# su - xiao
[xiao@localhost ~]$ ls /root/
-bash: /bin/ls: 权限不够

[xiao@localhost ~]$ sudo /usr/bin/ls /root/
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] xiao 的密码:    //要求输入此用户密码。这样就可以避免将root用户的密码给普通用户了。
1  1_heard.txt 1_heard.txt.bak  2  anaconda-ks.cfg


[root@localhost ~]# visudo
zhangsan        ALL=(root)      NOPASSWD: /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
//使用sudo时,不需要再次输入普通用户自己的密码   的设置。
[root@localhost ~]# su - zhangsan
上一次登录:日 6月 10 23:11:26 CST 2018pts/0 上
[zhangsan@localhost ~]$ 
[zhangsan@localhost ~]$ ls /root
-bash: /bin/ls: 权限不够
[zhangsan@localhost ~]$ sudo ls /root/
1  1_heard.txt 1_heard.txt.bak  2  anaconda-ks.cfg

除了以上操作,sudo还有很多其他设置:
# Host_Alias     FILESERVERS = fs1, fs2    //设置服务器别名,好统一管理
# User_Alias ADMINS = jsmith, mikem        //设置用户别名,前面是虚拟用户,用来包含多个真实用户
# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
//这里是命令别名,将多个命令,放到这里,方便使用。自定义时,注意格式相同。
eg:
Cmnd_Alias XIAO_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
xiao    ALL=(root)      XIAO_CMD

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
//使用组的方式管理



3.9 限制root远程登陆
为了安全起见,防止root密码丢失,被别人使用root权限远程登陆服务器,所以限制root远程登陆。

[root@localhost ~]# visudo
User_Alias XIAOS = xiao, zhangsan
XIAOS    ALL=(ALL)       NOPASSWD: /usr/bin/su

测试:
[root@localhost ~]# su - xiao        //切换到普通用户了
上一次登录:三 6月 13 06:29:54 CST 2018pts/1 上
[xiao@localhost ~]$ sudo su -           
//临时切换到root用户了。但是,还没有限制root禁止远程登陆。
上一次登录:三 6月 13 06:28:55 CST 2018从 192.168.172.1pts/2 上
[root@localhost ~]# whoami
root


限制root用户远程登陆:

[root@localhost ~]# vim /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

修改过配置文件之后,需要重启服务。
[root@localhost ~]# systemctl restart sshd.service
然后验证root用户是否还能远程登陆。不能。限制成功。
但是还是可以使用sudo来临时使用root权限。


扩展:
sudo与su比较 http://www.apelearn.com/bbs/thread-7467-1-1.html 
sudo配置文件样例 www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers
sudo不错的教程 http://www.jianshu.com/p/51338e41abb7
sudo -i 也可以登录到root吗? http://www.apelearn.com/bbs/thread-6899-1-1.html
扩展内容很详细,是可以多次拜读的~

相关文章

  • 1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前 ...
  • sysbench压力测试工具安装和参数介绍   一.sysbench压力测试工具简介:   sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有 ...
  • 【原创】hadoop集群搭建
    首先确定hdfs分布式文件系统目前很多大公司都在用,例如百度.腾讯.淘宝等.相信网上也有很多关于这方面的文档,我写这篇文章只是为了自己更加深刻的学习和理解,或者帮助一些不会搭建的童鞋们!以前我搭建的是hadoop-0.20.2.hbase- ...
  • 目的: 安装jdk.tomcat,发布java工程. 流程: 1.安装jdk: 2.配置/etc/profile中java环境变量 3.下载安装tomcat 4.搭建vsftp,可以上传文件 过程: 1.安装jdk 安装jdk有多种方法,可 ...
  • 1. 以固定时间反复执行某个命令 Every 1.0s: cat hello.txt                                                                    Hello Worl ...
  • traceroutetraceroute6唯一需要的参数是目标主机的名称或IP地址.探测数据包的总大小(IPv 4默认为60字节,IPv 6为80字节)是一个可选参数.在某些情况下,可以忽略指定的大小或将其增加到最小值. 追踪结束后,可以打 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号