openvas(GVM)踩坑
gvm-setup 执行报错rsync权限问题
报错:
Running as root. Switching to user 'gvm' and group 'gvm'.
Trying to acquire lock on /var/lib/openvas/feed-update.lock
Acquired lock on /var/lib/openvas/feed-update.lock
⠸ Downloading Notus files from rsync://feed.community.greenbone.net/community/vulnerability-feed/22.04/vt-data/notus/ to
/var/lib/notus
rsync: failed to set permissions on "/var/lib/notus/.": Operation not permitted (1)
rsync: failed to set permissions on "/var/lib/notus/advisories": Operation not permitted (1)
rsync: failed to set permissions on "/var/lib/notus/products": Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865)
解决:
chown -R gvm:gvm /var/lib/notus
就是gvm有账户:gvm和_gvm不同的需求使用不同的用户,下载目录、日志目录基本可以使用gvm,若果报错使用_gvm,其中有一个gvmd还需要学习用在了哪里
结果:
Trying to acquire lock on /var/lib/openvas/feed-update.lock
Acquired lock on /var/lib/openvas/feed-update.lock
⠙ Downloading Notus files from rsync://feed.community.greenbone.net/community/vulnerability-feed/22.04/vt-data/notus/ to
/var/lib/notus
⠙ Downloading NASL files from rsync://feed.community.greenbone.net/community/vulnerability-feed/22.04/vt-data/nasl/ to
/var/lib/openvas/plugins
可以看到notus这个目录已经可以正常执行。
解释rsync这个工具:
转自:https://www.300.cn/itzspd/500520.html
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
2021-05-19 21:14:49今天在同步数据的时候提示rsync: failed to set times on “xxxx”: Operation not permitted,一般来说要不是服务器时间不对或者权限没有设置好,下面小编就为大家整理了一些资料
第一种方法:
出现rsync: failed to set times on “xxxx”: Operation not permitted的原因大致是对文件夹(或文件)xxxx没有操作权限。如果执行同步的用户是root,是不会有这样的问题,但是rsync也可以不使用root用户来进行同步,不使用root用户的情况下,即使使用了-o,-g,同步到目的文件夹的文件用户和组都变成了同步使用的用户,但是用-p后文件权限可以保留。当目的文件夹(或文件)xxxx事后做过修改使owner不是rsync使用的用户,即使xxxx的权限是777,也会出现上述错误。
第二种方法:
当我使用rsync同步的时候,从我本地的机器到远程服务器的机器上,同步出现错误,提示
rsync: failed to set times on “directory” Operation not permitted (1)
其中directory是远程目标服务器上的一个目录。
这个问题就是,因为 /etc/rsync.conf 文件内,你指定的uid 、 gid的问题, 这样,你同步文件要写的目录 ,他的属主和属组 都要是/etc/rsync.conf 文件内指定的uid 、 gid,
这样就不会 rsync: failed to set times on之类的错误了 !
(1)修改前,rsync 推送文件到目标服务器出错:
(2)去目标服务器查看 /etc/rsync.conf 文件,看uid和gid分别是什么 :
(3)然后根据配置文件,把目标服务器的目标目录,chown 目录的属主和属组
以上设置后,就OK 了 ,同步正常 :
方法三
rsync: failed to set times on "/." (in module): Operation not permitted (1)
这个是rsyncd.conf 里面 read only = no 注销也不行,因为默认值是yes
方法四: windows下面一般都是因为服务器端目录权限设置不正确引起的。一般情况下SvcCWRSYNC用户需要加入同步目录中并给所有权限或者直接将SvcCWRSYNC设为管理员权限也行(最好禁止SvcCWRSYNC这个用户远程登录)
小编注:如果更改的权限什么的,需要重启rsync服务。经过测试完美解决问题。
总结
根据检查,是因为本地文件夹的权限不对,应该是gvm用户所属,配置为了_gvm修改后解决。
没有验证如果账户不对,远程服务器会不会提示权限错误。
rsync这个工具,应该是会同步文件夹和文件在原服务器上的所有权限,到要下载的服务器上,这个说法需要验证,目前存在猜测。
学习以下rsync这个工具对用户的要求。