Answers:
请记住,您的权限必须相同。除了symlink以外,在较新的发行版和文件系统上,作为根用户,您还可以使用bind-mount:
mkdir /home/username
mount --bind --verbose /extra-home/username /home/username
这对于允许通过后台驻留程序“ /”通过/ home目录访问子目录很有用,该后台驻留程序已配置为避免通过符号链接(apache,ftpd等)进行路径访问。
当然,您必须记住(或初始化脚本)在重新启动时进行绑定。
/bin
并/lib
在初始化(即之前可以运行mount
命令)?如果是这样,则您不能采用此策略。
mount --bind --verbose /extra-home/username /home/username
,输入的行/etc/fstab
是/extra-home/username /home/username none defaults,bind 0 0
我会尝试这样的:
以其他用户身份登录后,请在root用户外壳程序(例如sudo -i
)中复制/home/username
to 的内容,/extra-home/username
并确保新位置归以下所有者所有username
:
# cp -p /home/username /extra-home/
# chown username:username /extra-home/username
将原始/home/username/
目录移动到安全的地方:
# mv /home/username /root/
创建符号链接:
# ln -s /extra-home/username /home/username
通过打开另一个终端窗口并运行来验证其是否按预期工作su
:
$ sudo su username
如果一切正常,至少从终端上看(内容/home/username/
按预期显示),然后注销并重新登录(我假设您使用的是Ubuntu桌面),它应该可以正常工作。但是,如果不是,则只需删除符号链接,然后将存档的主文件夹移回其原始位置。
/var/run/
?