由于VSS数据库在服务器上必须完全共享才能被用户使用,这样会存在很大的安全隐患。通过以下方法,可以解决这个问题:
例:VSS中已有一个数据库test(VSS数据库其实就是一个目录,下面包含data目录、temp目录、users目录、srcsafe.ini文件和users.txt文件)
1、把test整个数据库复制一份,命名为test_lock。
2、把test目录下除srcsafe.ini文件外其他目录及文件删除。
3、把test目录共享给everyone只读权限。
4、把test_lock目录共享给everyone更改权限,把共享名改为test_lock$,给“安全”标签下的everyone设置修改权限。(共享名加$可默认隐藏此共享)
5、设置test_lock下data目录权限,切换到“安全”标签下,添加everyone用户,设置everyone用户的“列出文件夹目录”权限为拒绝。
Temp_Path = temp 改为 Data_Path = ..\test_lock$\temp
Users_Path = users 改为 Data_Path = ..\test_lock$\users
Users_Txt = users.txt 改为 Data_Path = ..\test_lock$.users.txt
7、用户直接访问test目录下的srcsafe.ini文件即可使用VSS进行文件版本操作。
这样的好处是屏障了VSS数据库中主要数据的共享,即使被访问到test_lock$,由于无法对data目录进行操作,就是users丢失了,还是可以进行还原,麻烦的是需要再添加一次所有的用户。
例:VSS中已有一个数据库test(VSS数据库其实就是一个目录,下面包含data目录、temp目录、users目录、srcsafe.ini文件和users.txt文件)
1、把test整个数据库复制一份,命名为test_lock。
2、把test目录下除srcsafe.ini文件外其他目录及文件删除。
3、把test目录共享给everyone只读权限。
4、把test_lock目录共享给everyone更改权限,把共享名改为test_lock$,给“安全”标签下的everyone设置修改权限。(共享名加$可默认隐藏此共享)
5、设置test_lock下data目录权限,切换到“安全”标签下,添加everyone用户,设置everyone用户的“列出文件夹目录”权限为拒绝。
6、修改test目录下的srcsafe.ini文件,具体修改如下:
Data_Path = data 改为 Data_Path = ..\test_lock$\dataTemp_Path = temp 改为 Data_Path = ..\test_lock$\temp
Users_Path = users 改为 Data_Path = ..\test_lock$\users
Users_Txt = users.txt 改为 Data_Path = ..\test_lock$.users.txt
7、用户直接访问test目录下的srcsafe.ini文件即可使用VSS进行文件版本操作。
这样的好处是屏障了VSS数据库中主要数据的共享,即使被访问到test_lock$,由于无法对data目录进行操作,就是users丢失了,还是可以进行还原,麻烦的是需要再添加一次所有的用户。