visudo精确用户赋权与sudo日志跟踪

您所在的位置:网站首页 visudo授权失败 visudo精确用户赋权与sudo日志跟踪

visudo精确用户赋权与sudo日志跟踪

2024-02-04 17:48| 来源: 网络整理| 查看: 265

目录

1、为什么需要sudo?... 1

2、sudo命令用法... 1

3、sudo工作流程... 1

4、visudo单用户授权... 1

5、visudo利用群组授权... 2

6、visudo利用别名授权... 2

7、visudo与环境变量... 2

8、配置sudo日志文件跟踪... 3

sudo配置参考文档:

http://linux.vbird.org/linux_basic/0410accountmanager.php#userswitch

http://www.cnblogs.com/ggjucheng/archive/2012/08/22/2650103.html

http://www.cnitblog.com/xijia0524/archive/2008/06/30/46168.aspx

sudo日志记录跟踪参考文档:

http://firerat.blog.51cto.com/2371183/455524/

1、为什么需要sudo?

当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不安全!怎办?透过 sudo 来处理即可!

sudo的执行则仅需要自己的密码 ,sudo 可以让你以其他用户的身份执行指令 (通常是使用 root 的身份来执行指令),因此并非所有人都能够执行 sudo ,而是仅有规范到 /etc/sudoers 内的用户才能够执行 sudo 这个指令。

2、sudo命令用法

sudo可让用户以其他的身份来执行指定的指令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入当前用户密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

语法:

sudo [-bhHpV][-s ][-u ][指令] 或 sudo [-klv]

参数:

参数

描述

-b

在后台执行指令

-H

将HOME环境变量设为新身份的HOME环境变量

-k

结束密码的有效期限,也就是下次再执行sudo时便需要输入密码

-K

同-k

-l

列出目前用户可执行与无法执行的指令

-p

改变询问密码的提示符号

-s

执行指定的shell

-u

以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份

-v

延长密码有效期限5分钟

-V

显示版本信息

3、sudo工作流程

1)当用户执行 sudo 时,系统于 /etc/sudoers 档案中搜寻该使用者是否有执行 sudo 的权限;

2)若使用者具有可执行 sudo 的权限后,便让使用者输入用户自己的密码来确认;

3)若密码输入成功,便开始进行 sudo 后续接的指令(但 root 执行 sudo 时,不需要输入密码);

4)若欲切换的身份与执行者身份相同,那也不需要输入密码。

100254476.jpg

4、visudo单用户授权

visudo是直接操作/etc/sudoers文件,我们也可以直接 vi /etc/sudoers,但是visudo命令的好处在于,退出/etc/sudoers文件时,系统会检查/etc/sudoers语法是否正确。

[root@www ~]# visudo

....(前面省略)....

root ALL=(ALL) ALL # /etc/sudoers

6)测试

[root@yang1 ~]# cat/var/log/sudo.log #测试前sudo.log为空

[root@yang1 ~]# su - yang1 #进入普通用户(事先已授权)

[yang1@yang1 ~]$ sudo -l #查看当前用户sudo可执行的命令

[sudo] password for yang1:

Matching Defaults entries foryang1 on this host:

requiretty, !visiblepw, env_reset, env_keep="COLORS DISPLAYHOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR

USERNAME LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATIONLC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC

LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSETXAUTHORITY", logfile=/var/log/sudo.log

Runas and Command-specificdefaults for yang1:

User yang1 may run the followingcommands on this host:

(ALL)!/usr/sbin/useradd, (ALL) !/usr/sbin/userdel, (ALL) /bin/touch #发现不能创建删除用户,能创建文件。

[yang1@yang1 ~]$ sudo touchyangrong #使用sudo创建一个文件

[yang1@yang1 ~]$ cat/var/log/sudo.log #查看sudo.log文件,已有记录,测试成功

9月 5 12:37:46 : yang1 : TTY=pts/2; PWD=/home/yang1 ; USER=root ; COMMAND=list

9月 5 12:38:05 : yang1 : TTY=pts/2; PWD=/home/yang1 ; USER=root ;

COMMAND=/bin/touch yangrong

测试成功!

上述为简单的审计,复杂点的可以把日志集中存储,更复杂点的可以对用户行为做录像回放,过滤分析等。

每一次总结文档,对自己也是一次煅炼,若有错误,欢迎指出。

     本文转自杨云1028 51CTO博客,原文链接:http://blog.51cto.com/yangrong/1289452,如需转载请自行联系原作者



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3