满意答案

ada72
推荐于 2017.10.09

采纳率:48% 等级:12
已帮助:3934人
su与sudo的用法
--------------------------------------------------------------------------------
一、su
看帮助:#man su
1、后面加“-”,或者“-l”,再接用户名,将重新初始化用户环境,并切换到用户的家目录(后面不带用户名,则直接切换到root用户)
如果不带参数“-”或“-l”,执行下面的命令就会出错!(因为还是普通用户的环境)
$su
#fdisk -l
bash: fdisk: command not found
2、后面加“-c”,可切换到root用户来改变文件的权限,后面的执行内容要用双引号引起来。
$su -c "chmod u+s /bin/ls" (给/bin/ls增加suid位)(同样要root密码的)
二、sudo
sudo的作用,它允许经过同意的使用者以超级管理员的身份执行指定指令。sudo 的主要配置文件是/etc/sudoers,编辑文件时最好使用visudo,它会对语法进行简单的校验,并且防止多个程序同时编辑该文件。执行visudo这个命令后,你在里面所作的更改,只要你不执行“保存并退出”这个操作,是不会更改/etc/sudoers这个文件的,t它只是修改的一个临时文件“/etc/sudoers.tmp”,那怕你这个时候已经执行了写的指令 。
sudo 有4个字段
root ALL(ALL) ALL
第一个字段指明哪个用户可使用sudo,这里是root
第二个字段指明主机(可以是主机名或主机的IP地址),这里ALL表示所有机器
第三个字段指明以哪个用户(可以使用用户别名),(ALL)指所有用户
第四个字段指明执行的命令(也可使用Cmnd alias),ALL指任何指令
执行sudo指令后,在5分钟内若再次使用sudo不用输入当前用户的密码,为了安全可取消这个功能,使用参数“-k”
#sudo -k /sbin/fdisk
你看你能执行那个命令吗,肯定执行不了
20分享举报
本文详细介绍了Linux中su和sudo命令的用法。su命令用于切换用户身份,特别是切换到root用户,而sudo则允许授权用户以管理员身份执行特定命令。su命令在切换用户时可以使用“-”参数来重新初始化环境,sudo则通过配置文件/etc/sudoers进行权限控制。文章还提到了sudo的免密功能及其关闭方法。
274

被折叠的 条评论
为什么被折叠?



