Eva*_*lva 2 command-line bash sudo su
我已经使用终端一段时间了,有时(实际上,很多次)我使用一个命令,例如:
cp /etc/test ~/testFolder/
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
cp: cannot open `/etc/test` for reading: Permission denied
Run Code Online (Sandbox Code Playgroud)
那是我记得我忘记了sudo它之前的命令的那一刻,所以我按向上箭头然后按CTRL+A转到行的开头并在sudo那里插入:
sudo cp /etc/test ~/testFolder/
Run Code Online (Sandbox Code Playgroud)
更糟糕的情况是你vim用来编辑文件,你忘记了sudo命令,程序启动时没有看到警告,你编辑了整个文件,最后,你无法保存它!
当你意识到你这样做了很多次时,它会变得很烦人,特别是如果你像我一样并且习惯于输入没有sudo. 有一个方法可以解决这个问题,当你启动终端时,只需sudo su以root用户身份输入使用命令,但有人说它更容易犯错误,你会永远后悔。
我的问题是,以 root 身份执行命令的最佳实践是什么?sudo每次使用和错过它还是自动使用sudo bash并有破坏整个系统的风险?
小智 5
最佳做法是仅在需要时使用 root。通过使用sudo su,您确实让魔鬼进入了王国。起初这让我很烦,但记住sudo在命令前使用使我免于犯大错。我有过sudo su在工作环境中使用毁了一切的经历。
讲故事的时间
我们使用 CentOS 服务器来运行应用程序。服务器很旧,已经变成了虚拟机,因为它的硬件已经死了。我们发生了突袭损坏并且 VM 已损坏。我们的备份也被损坏了,所以恢复数据的唯一希望是挂载 VM 并尝试将其全部拉出。我使用sudo su并开始工作。当我不小心运行错误的命令时,我恢复了大约 10%,它擦除了数据库,我们丢失了应用程序和所有数据。我再也不会跑sudo su了,我也不会。惨痛的教训。