我正在尝试根据以下说明编辑我的 /etc/ssh/sshd_config 文件,以便在我的 Synology NAS 上正确设置 git: http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(步骤 6)
但是,当我以 root 身份登录并尝试保存修改后的 sshd_config 文件时,出现以下错误:
"/etc/ssh/sshd_config" File is read only
当我输入“ls -l /etc/ssh/sshd_config”时,我得到:
--rw-r--r-- 1 root root 3745 May 27 06:32 /etc/ssh/sshd_config
有谁知道我该如何更改这些权限以便 root 可以读/写它们?
答案1
lsattr 会给你类似这样的结果
$:/etc/ssh# lsattr sshd_config
s---ia------------- sshd_config
来自“man chattr”
具有“a”属性设置的文件只能以追加模式打开以进行写入。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 功能的进程才能设置或清除此属性。
具有“i”属性的文件无法修改:无法删除或重命名,无法创建指向此文件的链接,也无法向此文件写入任何数据。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 功能的进程才能设置或清除此属性。
chattr -ia sshd_config
完成工作
答案2
我认为 Bruno 的意思是你可能不是 root。将“who”命令的结果与“id”的输出进行比较。
如果你是root,你应该能够愉快地使用 chmod 修改写入标志 (u+w) (也带有祝福):
/etc/ssh/sshd_config
Contains configuration data for sshd. This file should be
writable by root only, but it is recommended (though not neces-
sary) that it be world-readable.
答案3
好的,我找到了一种解决方法,但我不知道为什么我首先要这样做(如果有人可以澄清这一点,那将会很有启发!)
我使用以下方法重置权限:
chown -R root.users /etc/ssh/sshd_config
并且我能够以 root 身份登录后再次进行写入。