群晖部署完毕后,少不了折腾,通过ssh,可以用sudo -i获取root权限后编辑文件或者进行一些需要root权限的文件操作,但是敲命令毕竟没有winscp来的直接,但是即使用管理员组的账户通过winscp连接,很多涉及系统的文件操作,还是会提示:Permission denied 权限不允许,那么就来给winscp添加上root权限。
1、首先需要通过其他ssh软件,连上群晖,并且通过sudo -i获得root权限。
2、cd /etc/ 切换目录
3、cp sudoers sudoers.bak 动手前养成备份的好习惯
4、vim sudoers,找到 %administrators ALL=(ALL) ALL(就在文件前几行,很好找)
5、按i进入编辑模式,将刚才找到的内容修改为%administrators ALL=NOPASSWD: ALL
6、按Esc退出编辑模式,输入:wq!强制保存并退出。
7、winscp站点编辑,高级->环境->Shell,右侧的Shell,下拉框选择sudo su -,确定。
8、至此winscp可以使用root权限连接群晖,进行文件操作。
Tips:
遇到这个问题度娘的时候,前几条内容一定有一篇简书网站上名为《Winscp连接群晖Nas为登录用户增加root管理员权限》,作者是“tmtony小辣椒”的文章,注意,这文章内容是错的!错的地方就是最重要的地方,修改“%administrators ALL=(ALL) ALL为%administrators ALL=NOPASSWD: ALL ”!!!他写的是“%administrators ALL=(ALL) ALL改为 :%administrators ALL=(ALL) NOPASSWD: ALL”!!!这是个天坑,千万不要这么改,改完后你会发现不但winscp没有获得root权限,甚至你的账户通过ssh登录后都无法通过sudo -i获得root权限!
解决办法:如果不幸,你先看到前面提到的天坑文章并且照做了,并且在你恢复出厂设置前看到了我得这篇文章,只要你照做了两篇文章里都提到的备份步骤,那么恭喜你,还有机会。打开浏览器,输入你的群晖dsm地址http://ip:5000,用管理员组的账号登录。打开控制面板,往下拉,找到计划任务,新建一个计划任务,切记,用户要选择:root。
然后在任务设置选项卡里,运行脚本的框里,输入:“cp /etc/sudoers.bak /etc/sudoers”
确定,右键选择刚才创建的任务,点击运行。至此,可以恢复原来的sudoers文件,现在可以用ssh登录并获取root权限了。