网络安全系列之十三 Linux中su与sudo的安全设置

简介:
1. 限制使用su命令的用户

Linux系统中的root用户权限过大,所以在实际使用中一般都是以普通用户的身份登录,当需要时可以切换到root用户身份。切换用户身份使用su命令。

但是我们可能并不希望所有用户都能切换到root身份,而是只想指定某个用户可以切换,比如只允许zhangsan用户使用su命令切换身份。

要限制使用su命令的用户,需要进行两个方面的设置。

首先需要启用pam_wheel认证模块,

[root@server ~]# vim /etc/pam.d/su ‘将文件中下面一行前的#去掉

auth required pam_wheel.so use_uid

这样凡是执行“su – root”命令的用户都将受到限制,只有wheel组中的成员才有权限执行该命令。

因而下面需要做的就是将zhangsan加入到wheel组中。

[root@server ~]# gpasswd -a zhangsan wheel

[root@server ~]# id zhangsan

uid=501(zhangsan) gid=501(zhangsan) groups=501(zhangsan),10(wheel)

这样,当使用一个不属于wheel组成员的账号切换到root时,系统便会拒绝。

例如,使用lisi切换到root,即使输入了正确的root用户密码,也会提示“密码不正确”。

[lisi@localhost ~]$ su - root

口令:

su: 密码不正确

2. 使用sudo机制提升权限

利用su命令切换到root用户,必须要输入root用户的密码。对于管理员,可以先用普通用户的身份登录系统,然后再用su命令切换到管理员账号;而对于普通用户如果也可以使用su命令,这很明显不利于系统安全性,所以对于普通用户更常使用的是sudo命令。

sudo命令的作用主要在于能够允许经过授权的个别普通用户以root权限执行一些授权使用的管理命令。

如以普通用户zhangsan的身份创建用户,会提示没有权限:

[zhangsan@localhost ~]$ useradd test

-bash: /usr/sbin/useradd: 权限不够

下面让zhangsan使用sudo命令以root权限去执行命令。注意,普通用户使用sudo执行命令时会要求提供自己的密码进行验证。

[zhangsan@localhost ~]$ sudo useradd test

[sudo] password for zhangsan:

zhangsan is not in the sudoers file. This incident will be reported.

zhangsan使用sudo命令仍然无法创建用户,这是因为在Linux中只有被授权的用户才能执行sudo命令,而且使用sudo也只能执行那些被授权过的命令。

所以要使用sudo命令首先必须要经过管理员的授权设置,需要修改配置文件“/etc/sudoers”。

image

例如:授权普通用户zhangsan可以通过sudo方式执行所有的命令:

注意,“/etc/sudoers”是一个只读文件,修改完成保存退出时要使用“wq!”命令。

如果希望zhangsan只能执行部分命令,可以在“/etc/sudoers”中指定zhangsan所能执行的命令的文件路径,命令的文件路径可以通过which命令查找。

例如:授权zhangsan只能执行useradd和userdel命令。

wKiom1RNfR-htdPuAABxN2OrJf8416.jpg

zhangsan每次在执行sudo命令时都要输入自己的密码,为了省去普通用户执行sudo命令时需要输入密码的麻烦,可以在“/etc/sudoers”进行如下设置:

wKioL1RNfdrwWP7FAABCTGbIeJc249.jpg

除了针对用户授权之外,我们也可以对用户组授权,这样用户组内的所有成员用户就都具有了执行sudo命令的权限。如果授权的对象是用户组,需要在组名的前面要加上“%”。

例如:授权managers组内的成员用户可以添加、删除、更改用户账号。

wKiom1RNfazwCFJwAAB43g7g4XU062.jpg


本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1568305


相关文章
|
10天前
|
Shell Linux C语言
|
7天前
|
网络协议 Ubuntu Linux
|
15天前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
14天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务的安全挑战与策略
【7月更文挑战第13天】随着云计算技术的快速发展,越来越多的企业和个人开始依赖云服务来存储和处理数据。然而,这也带来了一系列的网络安全问题,包括数据泄露、服务中断和恶意攻击等。本文将深入探讨云计算环境中的网络安全挑战,并提出相应的防护措施和最佳实践,旨在帮助读者更好地理解和应对这些安全风险。
|
21天前
|
存储 安全 网络安全
云计算与网络安全:技术融合下的安全挑战与对策
随着云计算技术的飞速发展,其在提供便利和效率的同时,也带来了前所未有的安全风险。本文将深入分析云计算服务中的网络安全威胁,并探讨信息安全领域的应对策略,以期为云服务用户提供一个更加安全的网络环境。
|
5天前
|
机器学习/深度学习 云安全 安全
云计算与网络安全:技术演进与安全挑战
随着云计算技术的迅猛发展,其在各行各业的应用日益广泛。云服务提供了灵活性、可扩展性和成本效益等优势,但同时也带来了新的网络安全威胁和隐私泄露风险。本文将探讨云计算环境下的网络安全问题,分析当前云服务的安全机制,并讨论如何通过技术创新和策略调整来增强信息安全。 【7月更文挑战第22天】
10 0
|
8天前
|
安全 算法 网络安全
网络安全与IP安全网络安全
网络安全与IP安全网络安全
14 0
|
21天前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
21天前
|
算法 网络协议 Shell
掌握Linux网络:深入理解TC —— 你的流量控制利器
目前需要做一款关于Linux下对于某IP限制的一个工具(QOS),在网上寻找了许多关于TC的教程,大多数都是一些比较基础的教学,且多数都是对网口的一些限制,然后自己研究了一段时间,最后有一些小小的了解,故在此分享给大家。
|
22天前
|
安全 NoSQL Java
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R