普通用户(无 root 权限)如何连接到 synology diskstation 并在没有 root 权限的情况下下载/上传文件,也不使用某些 gui(浏览器/文件浏览器)?
我已在 synology 设置中激活了 ssh,但似乎只有 root 管理员才能使用 ssh 连接到服务器。所有涉及 mount nfs 或 mount.cifgs 的解决方案都不合适,因为执行这些解决方案需要 root 权限,而我们无法向所有员工授予 root 访问权限。
有人有想法吗?
答案1
根据说明,当您启用 SSH/telnet 时,用户必须是管理员组的一部分。因此从技术上讲,您不必拥有 root 访问权限,只需成为管理员组的一部分即可。
您尚未指定正在使用的操作系统,但下面使用的是 Mac OSX Sierra。
我已经测试过这个并且似乎可以在 Mac 终端中输入以下内容:
ssh [email protected]
username
用用户的登录名替换。如果您使用了 SSH 默认端口,则应该可以正常工作。@
符号后面的内容用您的 Synology 盒子的 IP 地址替换。
更多信息
有一件事不太清楚,那就是为什么你不默认使用 Synology 中的共享功能?它有现成的 Windows 服务和 Mac 服务。
这意味着您可以使用 CMD 提示批处理脚本自动映射通过 Mac 来映射网络驱动器,而不必担心 SSH。在 DSM ssh 的默认端口上使用安全顾问存在安全风险,只有当您愿意接受这一点并且可以缓解因打开这些特定功能而产生的任何问题时才应打开。
Linux 更新
如上所述,我相信如果您使用本机工具,它将对您大有裨益。请从您的评论中找到已更新的这一部分。
请使用以下命令为 Linux 客户端设置共享:
在使用 NFS 客户端访问共享文件夹之前,您需要更改 Synology NAS 的系统设置以允许通过 NFS 共享。请按照以下步骤操作。
- 使用属于管理员群组的帐户登录 DSM。
- 转到“控制面板”>“文件服务”
- 在 Win/Mac/NFS 选项卡上,勾选启用 NFS 框。
- 单击“应用”保存设置。
为共享文件夹分配 NFS 权限 在使用 NFS 客户端访问任何共享文件夹之前,您必须先配置要访问的共享文件夹的 NFS 权限。以下步骤将引导您完成更改 Synology NAS 上共享文件夹的 NFS 权限的过程。
为您的用户设置共享权限后,您需要设置共享权限,无需将其添加到管理员组,然后您可以像平常一样挂载共享:
在 Linux 计算机上,打开命令控制台。输入以下挂载命令: mount [Synology NAS IP 地址] : [共享文件夹的挂载路径] / [NFS 客户端上的挂载点] 输入磁盘释放 (df) 命令以确认您已成功挂载共享文件夹。
欲查看包含屏幕截图等内容的指南,请访问此处:
希望这可以帮助。
答案2
为了使非管理员用户能够通过 ssh 连接到运行 DSM 6.2.1 的 Synology NAS,以下方法对我有用。在下文中,我假设您已经可以以 root 用户身份通过 ssh 连接到 NAS。
修改 /etc/passwd
根据以下信息更改您希望能够通过 ssh 登录的用户的登录 shellhttps://andidittrich.de/2016/03/howto-re-enable-scpssh-login-on-synology-dsm-6-0-for-non-admin-users.html由于这些设置可能会被 DSM 覆盖,因此最好以 root 身份登录 NAS,并创建包含以下内容的脚本:
#!/bin/bash
# Change the Login Shell for User "SOMEUSER" to /bin/sh
/usr/bin/awk -i inplace -F: 'BEGIN{OFS=":"}/^SOMEUSER\:/{gsub(/.*/,"/bin/sh",$7)}1' /etc/passwd
为每个需要通过 ssh 登录的用户添加一行。这将把这些用户的 /etc/passwd 中的默认 /sbin/nologin shell 更改为 /bin/sh。由于 /etc/passwd 中的更改可能会被覆盖,因此最好使脚本可执行,并定期运行,并在每次启动 NAS 后运行。
修改 /etc/ssh/sshd_config
此外,我必须调整 /etc/ssh/sshd_config。在此文件中,您可以找到以下行
AllowUsers admin root SOMEUSER1 SOMEUSER2
我必须在其中添加我希望能够通过 ssh 登录的所有用户。注释掉此行可能也可以,但我还没有尝试过。
重新开始
之后我必须重新启动 NAS,然后非管理员用户的 ssh 登录才能正常工作。