如何在shell总不要输入密码自动切换到root?
Linux系统中,只要你有权限你就可以任意妄为。记得刚开始工作那会儿,对Linux不是很熟悉。
但是在Linux做事情,少不了makefile。makefile中又少不了编写clean规则,于是就会有rm -rf 。
有时候我们又会有rm -rf ${BUILD_DIR}/,做了一次痛快的clean。
没想到有时候我们的BUILD_DIR是空的,于是我们就rm -rf /,我们的系统也就挂了。
有几次这样的危险经历,幸亏老大对数据有备份。
那么如何保证不出现这种情况呢,Linux给你最大的权限,当然你也就拥有给自己限制的能力了。
使用Linux多年的人也会养成不到必须要使用root权限的时候尽量不要让程序在root权限下执行。
于是我们就使用普通用户make,然后使用root用户的权限执行。
如果我们想让脚本即编译程序,又执行程序。那么就需要在编译完成后使用root的身份来执行。
我们想到了sudo!
但是sudo需要我们人工输入密码,那么有没有一种解决办法呢?
答案是肯定的:
下面的方式可以绕过密码提示,让脚本自动运行畅行无阻。
usr$ echo passwd | sudo -S touch /root/myfile
现在看一下,/root目录已经有了myfile这个文件了。