最近新入手一个DS218+,手很是痒,打算给家里每个人配置一个账号,我自己是管理员,其他人都是一般用户,并删除他们的DSM登陆权限。配置完成后,我无法进入DSM。。。提示“您没有权限使用本项服务”,我去,我管理员都没权限了....心中千万个草泥马奔过.
联系了synology support,邮件说让我重新安装DSM,WTF!老子自己搞了那么多年高端存储竟然遇到这问题,自己小研究了以下搞定,分享给大家。
DS218+ DSM 6.2-23739
ssh到DS218+,sudo -i切换到root用户,密码和自己的管理员密码一样。
root@Nas-cloud:/etc# synouser --get xxxxx自己的管理员用户
User Name : [xxxxx]
User Type : [AUTH_LOCAL]
User uid : [1026]
Primary gid : [100]
Fullname : []
User Dir : [/var/services/homes/xxxxx]
User Shell : [/bin/sh]
Expired : [false]
User Mail : []
Alloc Size : [112]
Member Of : [2]
(100) users
(101) administrators
大家可以看到,我的管理员用户属于两个group组,我对user组做的禁止访问DSM,居然把我的管理员也deny了,话说这个系统真是奇葩,为什么要把user group也加到管理员里面呢?告诫大家下次如果想建多个用户分权限管理的话,建议新建一个group。
下面就是解决权限问题的步骤。
获取管理员user ID
root@Nas-cloud:/etc# grep xxxxx /etc/passwd
xxxxx:x:1026:100::/var/services/homes/xxxxx:/bin/sh
etc目录下
cp synoappprivilege.db synoappprivilege.db.org
root@Nas-cloud:/etc# sudo sqlite3 synoappprivilege.db
sqlite>.table
AppPrivRule
sqlite> SELECT * FROM AppPrivRule WHERE ID=1026 AND App='SYNO.Desktop';
无输出
sqlite>insert into AppPrivRule VALUES(0,1026,'SYNO.Desktop','0.0.0.0','0000:0000:0000:0000:0000:FFFF:0000:0000','','');
添加权限,加了后再用上面的命令看一下,是否添加成功。
测试管理员权限是否正常登陆,尼玛,还是不行!!!
sqlite> select * from AppPrivRule WHERE App='SYNO.Desktop';
2|0|SYNO.Desktop|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
0|1027|SYNO.Desktop|||0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000
1|100|SYNO.Desktop|||0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000
0|1029|SYNO.Desktop|||0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000
0|1026|SYNO.Desktop|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
0|1033|SYNO.Desktop|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
user group gid是100,看来user group组设置的权限覆盖了administrators组的。需要将100这项删除
delete from AppPrivRule WHERE ID=100;
执行后再通过下面命令检查一下,是不是这行没有了
SELECT * FROM AppPrivRule WHERE ID=100;
测试管理员账户登陆DSM,成功!!
sqlite> .quit
我还能说什么呢,要是重新安装小姐姐们住哪...
|
|