我刚刚升级了一台 Ubuntu 服务器,在升级过程中,我决定保留所有旧版本的 .conf 文件,而不是用升级后的软件包版本替换它们。现在,我必须手动合并新文件(*.conf.dpkg-dist)原始文件(*.conf)。我的策略是通过 SFTP 在本地 Mac 上安装服务器根文件系统,并使用 MacOS Gui Visual Diff 合并工具,例如融合在 MacOS 上直接将旧文件与新文件合并。
这个概念听起来不错,但问题是,当我在 Mac 上通过 SFTP 进入服务器时,我只能浏览登录用户主目录上方的目录,无法访问文件夹中的任何文件或文件夹,/
例如/etc
。换句话说,如果我以“my-non-root-user-with-sudo-privilages”的身份通过 SFTP 登录,我只能访问/home/my-non-root-user-with-sudo-privilages/*
目录及以上。我无法访问/home
或/etc
。
如果我使用 sftp 以“root”身份登录,情况也是如此。我只能看到目录/root/*
和上面的任何目录/文件/root/
,但看不到下面的目录/文件。因此,再次以“root”身份登录使我可以访问文件夹及其上方的所有内容,但即使以 root 用户身份登录/root
,我也无法进入目录/
或导航到目录。/etc
我的问题是,(在 macos 上)当以“my-non-root-user-with-sudo-privilages”或“root”身份通过 SFTP 登录 Ubuntu 服务器时,如何导航到相应用户主文件夹下的受限目录,例如文件夹/etc
?
答案1
这就是 [S]FTP 服务器的工作方式。默认情况下,当您以 身份登录时user
,[S]FTP 服务器会将您引导至user
的主目录,而这将成为您整个会话的根目录。这是一种安全措施,可防止随机用户登录 FTP 并窥探您的系统。
您可以创建一个具有从 开始的访问权限的自定义 FTP 用户/
,但这必须在服务器端完成,而且我不需要告诉您这是一个安全风险。