首页 > 编程知识 正文

linux找不到so,linux怎么退出visudo

时间:2023-05-03 13:42:22 阅读:236093 作者:2484

当我们需要使用系统管理员权限操作系统时,可以使用su命令来实现,这里有一个问题就是需要root的密码。若管理人员有多数,则root密码被泄露的几率变大。

从而有了sudo命令,执行流程:

用户执行sudo时,会判断配置文件/etc/sudoers,查看用户是否有执行sudo的权限;

若用户有执行sudo的权限,查看/var/db/sudo/zhangsan(密码的时间戳在这里),是否密码过期,过期则输入密码,若没有权限则报错

输入正确密码后则开始sudo后续的命令

执行sudo读取的配置文件是/etc/sudoers。

前九行在介绍文件:

sudo是让给予权限的用户可以执行个别的命令,也不需要root密码

这个文件最后使用visudo命令来编辑,保存时会检查语法是否正确。

再后三段是设置:

主机别名Host Aliases、用户别名User Aliases、命令别名Command Aliases

在后面就是默认的规范了

最后是最重要的配置语法介绍了:

示例

root    ALL=(ALL)       ALL       root的配置默认是在所有机器上或ip都可以连接本机执行任何命令

root:用户名称,可以是用户,也可以是一个别名组包含多个用户

ALL:代表所有机器或ip,可以使用主机别名或ip别名设置

(ALL):可切换的用户,all表示可切换任何用户

ALL:可执行的命令,多个命令使用,分隔或者使用命令别名功能

另一种方法就是:

%wheel        ALL=(ALL)       ALL

wheel就是一个确实存在的组名,只要添加到此组的用户都有sudo权限。

zhangsan 和 lisi都是这个wheel组。就可以执行sudo命令。

注:

在做测试的时候,切换到zhangsan后,执行sudo -l 报错sudo:有效用户 ID 不是 0,sudo 属于 root 并设置了 setuid 位吗?[root@www ~]# ls -l /usr/落后的战斗机/sudo

---x--x--x. 1 root root 123832 11月 22 2013 /usr/落后的战斗机/sudo

[root@www ~]# chmod u+s /usr/落后的战斗机/sudo

[root@www ~]# ls -l /usr/落后的战斗机/sudo

---s--x--x. 1 root root 123832 11月 22 2013 /usr/落后的战斗机/sudo

然后就可以正常使用sudo了[zhangsan@www ~]$ sudo -l

匹配此主机上 zhangsan 的默认条目:

requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC

KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE

LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER

LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",

secure_path=/s落后的战斗机:/落后的战斗机:/usr/s落后的战斗机:/usr/落后的战斗机, logfile=/var/log/sudo.log

用户 zhangsan 可以在该主机上运行以下命令:

(ALL) /落后的战斗机/rm, (ALL) /落后的战斗机/mv

[zhangsan@www ~]$

sudo命令:

选项

-l 查看当前用户可执行和无法执行的命令

-u 切换到指定的用户执行命令,不指定默认使用root

-s 指定shell,不输入shell取环境变量中设定的shell

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。