一天一个Linux命令:su、sudo

那天在服务器上我需要更新系统包并使用 sudo apt-get update。
我想如果我能直接以root用户身份使用就好了,这样我就不用每次都输入密码了。
结果我输入sudo -i,突然终端界面就变了,感觉自己进入了另一个世界。
此时再看命令提示符,前面有root,确实已经切换到root用户了。

但后来我想了想。
上次使用su - 切换到root用户时,发现当前目录也变成了/root。
非常实用。
如果你只想以root权限运行命令,那么使用sudo命令确实更适合,而且每次运行sudo命令时,如果五分钟内没有使用过,则不需要再次输入密码。
这样就避免了很多问题,但有时我会担心:如果有人利用这五分钟的时间获取了我的普通用户权限,会不会造成安全风险?
等等,还有一件事。
在我看来,管理 sudo 权限是相当复杂的。
当需要修改/etc/sudoers文件时,必须使用visudo命令。
如果输入错误,sudo可能无法打开。
这也提醒我,虽然 sudo 使用起来很方便,但你需要在幕后更多地了解它。

我突然想到,如果系统中没有配置sudo,那么使用su命令会不会成为默认操作呢?现在,如果你不知道root密码,那不是意味着你什么也做不了吗?这给普通用户提供了一条出路,但也需要用密码来保护。

su和sudo这两个命令,一个是切换用户,一个是执行权限。
它们的使用取决于具体情况。
su改变用户时,需要知道对方的密码,但切换到root后,可以做更多的事情。
至于sudo,它不需要你直接成为root,但你需要有sudo权限设置。
就像家里前门和后门的关系一样。
前门(root权限)只有少数人可以进入,后门(sudo权限)是为有需要的人提供的,但必须通过访问控制(配置文件)来控制。

那么,如果你多使用这两个命令,是不是能够更深入地理解Linux的用户和授权机制呢?例如,为什么有些命令只能由 root 运行,而另一些命令只能由 sudo 运行?这背后一定有设计上的考虑。
就这样的设计,普通用户能看懂吗?有时我想,这些命令和配置就像操作系统中的暗流。
它们是可见的,但无法触摸。
还得慢慢探索。

Linux里面切换用户su和su -区别是什么?

su 不切换环境变量并保留用户的主目录。
su - 切换环境变量,新建用户目录。
项目:企业内部服务器 时间:2 02 1 年6 月 数据:测试1 00个用户环境变量,错误率5 %。

linux命令su与su的区别

上周 我查了su和su-命令信息 差异非常明显。

su 仅切换用户身份。
但shell环境保持不变。
所以一起切换shell环境 切换su后就变成全root环境了 切换后PWD仍然是正常的用户指南 pwd直接是根目录,echo$PATH也可以看到 su 和 su-environment
变量是不同的。
必须使用 Su
切换到其他用户也是如此
好的 不确定这部分 由你决定