我想使用 ssh、sudo su 和 umount /home 并在其上运行诊断程序。是否有一个运行级别可用于关闭 X 和其他使用 /home 的进程,同时保持网络访问?或者其他方法?
谢谢
答案1
首先,手动注销所有用户,然后使用 root 进行 ssh。
使用“lsof | grep home”查找使用 /home 的剩余进程并将其全部杀死。
您可以卸载。
答案2
/home
通常仅在用户登录时使用。root 用户有一个/root
特定的主目录,因此 root 用户不依赖于额外的挂载点。
启用 root SSH 登录
对于 Ubuntu,这意味着您需要为 root 提供密码才能通过以下方式登录ssh
:
https://help.ubuntu.com/community/RootSudo#启用 root 帐户
考虑到默认情况下 root 帐户可能被禁用 SSH 访问,请验证以下设置/etc/ssh/sshd_config
:
PermitRootLogin yes
注销用户并阻止新的登录
要在多用户环境中退出用户,通常需要切换到单用户运行级别 1。然而,这几乎是一个控制台或串行端口任务,因为sshd
默认情况下仅配置为运行级别 2、3、4 和 5,并且您可能会丢失连接ssh
。
http://www.debianadmin.com/debian-and-ubuntu-linux-run-levels.html
不太好的替代方案是明智地使用,killall --user
但必须应用于每个用户。只需要终止登录(伪)终端进程,并采取更精细的方法,例如:
skill -KILL -v /dev/pts/*
下一个问题是防止用户立即重新登录。您可以创建文件/etc/nologin
来阻止用户登录,您需要确保pam_nologin.so
在 Linux 上为所有 PAM 方法(例如 SSH)启用了该文件:
以下命令也提供了此shutdown -k
功能:
-k 仅发送警告消息并禁用登录,并不会真正关闭系统。
最后
你可以unmount /home
。