大家好,又见面了,我是你们的朋友全栈君。
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程
一、功能简介
sudo能够限制指定用户在指定主机上运行某些命令。
sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。
sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。
sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。
二、实操
我们可以直接以root用户vi /etc/sudoers文件或者执行visudo命令
我们添加一个用户来实验,u001
useradd u002
passwd u002
我们切换到u002用户
由于/root目录是需要root用户权限的,故提示u002用户没有此权限。
我们可以通过root用户设置sudoers文件,让u002可以通过sudo命令具有root用户权限。
我们编辑/etc/sudoers文件
第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明foobar可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。最后一个ALL当然就是指命令名了。
这样我们就可以使用sudo ls -l /root命令了
默认需要输入当前用户的密码,我们也可以设置免密。
如上很不安全,ALL代表了所有,即u002用户可以执行root用户的所有命令,比较危险。
可以查看用户密码,也能关机,能干任何事!在实际项目中,一般编辑sudoers文件,几乎不用ALL权限,而是根据实际需要进行定制。
如上我们限制u002用户只能像root用户那样ls和执行ifconfig命令,但是不能执行比如关机操作。
reboot命令没有在NOPASSWD列表里,故需要输入密码,同时提示无权关机。
博客若对你有用,欢迎扫码打赏,你的打赏是我写作的动力。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151363.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...