我在 Nexus 4 上安装了 Ubuntu Touch,我很喜欢它。我想使用密码通过 ssh 进入我的手机,所以我想删除 ssh 覆盖文件,即 /etc/init/ssh.override。但是,当我尝试删除覆盖文件时,我得到的结果是:
$ sudo rm /etc/init/ssh.override
rm: cannot remove '/etc/init/ssh.override': Device or resource busy
为什么会这样?顺便说一句,我可以修改此文件以删除覆盖选项,但无法移动或删除文件本身。所以,我的问题是为什么我不能删除这个文件?顺便说一句,我已经在这部手机上启用了读/写功能。
提前致谢。
答案1
文件系统不是已准备好吗?
尝试“sudo mount -o remount,rw /”使其可写。
然后通过“sudo mount -o remount,ro /”将其再次设置为只读
答案2
我在 /etc/init 中创建了一个自定义 upstart 服务,例如 /etc/init/myssh.conf,它基本上是 ssh.conf 的副本。
description "SSH server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
umask 022
env SSH_SIGSTOP=1
expect stop
# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
console none
pre-start script
test -x /usr/sbin/sshd || { stop; exit 0; }
mkdir -p -m0755 /var/run/sshd
end script
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/sbin/sshd -D
由于在运行级别 [2345] 上启动,此自定义“myssh”服务将在重新启动后自动启动,并且 ssh.override 不会覆盖 ssh 选项(我无法删除它)。现在可以使用密码进行 ssh(只要 /etc/ssh/sshd_config 允许)。