如果您是 root,并且您发出
rm -rf /
Run Code Online (Sandbox Code Playgroud)
那么命令能走多远呢?你能从这种操作中恢复数据吗?即使二进制文件消失了,正在运行的进程是否仍然处于活动状态?再次启动同一台物理机需要什么?您需要恢复哪些文件才能实现此目的?
我可以在 VM 上试试这个,看看,但我想知道如果我这样做会发生什么背后的基本原理。
可能的重复:
为什么我们使用 su - 而不仅仅是 su?
我知道 root不必是超级用户。但如果是...sudo su -
和之间有什么区别sudo su root
?
我有一个使用网络命名空间(netns)的架构。我想让普通用户在这些netns中做一些操作。
我可以写一个脚本netns-exec.sh
,受这篇文章的启发,用 执行sudo
,包含:
ip netns exec $1 su $USER -c "$2"
Run Code Online (Sandbox Code Playgroud)
并添加到我的 sudoer 文件中:
user ALL=(ALL) /path/to/netns-exec.sh
Run Code Online (Sandbox Code Playgroud)
但我觉得它太丑了,我完全可以做噩梦。有没有更好的解决方案来允许普通用户使用命名空间?是否可以将用户放入一些有用的组?我搜索了它,但一无所获。
神父 兄弟 乔治在他的一次演讲中(用俄语)说,有一些超级用户不能侵犯的访问权限。那就是有一些访问权限可以禁止超级用户做某事。
我无法在 Internet 上找到这些信息,我很好奇它们是什么。这大概和系统的核心执行有关吧?也许他无法停止某些系统进程?或者他不能在实模式下运行一个进程?
这个问题与 SELinux 无关(乔治在问题之前就在谈论它)。
它们是指相同的东西还是 root 只是文件系统中的一个位置(其最终基础)而超级用户是特权用户(相当于 Windows 管理员帐户)?他们需要相同的密码吗?超级用户是内核本身吗?
我注意到我的虚拟机和服务器上 root 的默认路径不包括 /usr/local/bin
sudo -s
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
而服务器上的普通用户确实有 /usr/local/bin
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin
Run Code Online (Sandbox Code Playgroud)
为什么 root 在路径中不需要 /usr/local ?
用户定义的默认路径在哪里?
恐怕我遇到了一些很奇怪的事情。当我正常打开文件时vim README.txt
,一切正常。但是在sudo vim README.txt
,该文件呈现空白,并E138: Can't write viminfo file $HOME/.viminfo!
在尝试退出时给我一个错误。
我怀疑.viminfo
文件损坏了,所以我删除了它。这个问题依然存在。任何人都可以帮忙吗?
系统crontab:
/etc/crontab
Run Code Online (Sandbox Code Playgroud)
根 crontab:
sudo crontab -u root -e
Run Code Online (Sandbox Code Playgroud)
哪种方式是首选?因为他们都在管理权限内运行任务。
我刚刚完成安装 Debian 8 (Jessie) 并尝试在 中创建一个目录lib/firmware
,因为rtl8723befw.bin
安装中缺少一个文件 ( ),它说
mkdir: cannot create directory `rtlwifi`: Permission denied
Run Code Online (Sandbox Code Playgroud)
我尝试将 sudo 放在前面,但它返回:
bash: sudo: command not found
Run Code Online (Sandbox Code Playgroud)
尝试安装 sudo 时apt-get install sudo
甚至apt-get update
返回:
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Run Code Online (Sandbox Code Playgroud)
我真的不知道该怎么办。我似乎为最新错误找到的所有解决方案都是使用 sudo,但我什至没有。
我很好奇让 root shell 在分离的屏幕会话中运行的安全性。我通常从不这样做。
除了我的非 root 用户帐户可能被泄露(密码泄露、ssh 密钥泄露等)之外,是否还有其他进入分离的、受密码保护的屏幕会话的向量我应该担心,或者是否可以分离屏幕会话被认为是惰性的?
root ×10
sudo ×4
permissions ×2
privileges ×2
cron ×1
debian ×1
gnu-screen ×1
path ×1
rm ×1
security ×1
su ×1
vim ×1