OpenMediaVault SMB/CIFS报错,无法连接,日志输出错误NT_STATUS_ACCESS_DENIED

OpenMediaVault SMB/CIFS配置完成之后,打开某些目录提示错误"找不到链接",其他目录正常。

修改配置文件"/etc/samba/smb.conf"中的"log level = 3",然后观察日志"tail -f /var/log/syslog",

观察到如下日志输出:

不管如何修改,都搞不定,观察目录权限以及所有者信息,如下:

观察到正常的目录的权限是 root:users 而不正常的目录权限是 root:1000,于是执行权限修改,如下:

之后就可以正常访问了。

参考链接


家里ADSL上网无固定外网IP的群晖NAS安全实现与公网MySQL服务器主从同步

家里 ADSL 上网,没有办法分配固定外网 IP ,现在想使用群晖自带的MariaDB 安全实现与公网 MySQL 服务器主从同步。

最大的问题实际上是如果暴漏 MySQL 服务器的端口,但是不限制来源 IP 地址的话,会造成非常大的安全隐患。

但是, ADSL 恰恰不能提供固定的 IP 地址,我们需要解决这个问题。如果通过在公网数据库服务器上搭建 OpenVPN 服务器的方式,我们恰恰可以把内外网的设备影射到同一个子网中,而且 OpenVPN 提供的加密服务支持,刚刚好满足我们的安全需求。

1. 参考 Ubuntu架设OpenVPN实现内网穿透 搭建整个的 OpenVPN 服务器。映射完成后,设备上会新增一个名为 tun0 的网卡设备。同时所有连接到 VPN 服务器的设备都被被影射到 10.8.0.X 的网段。 公网服务器的地址默认是 10.8.0.1,本文中, 群晖NAS的地址被设定为 10.8.0.7

2. 配置防火墙规则,许可来自指定网卡指定地址的设备的访问。注意,此处一定要指定网卡为 OpenVPN 创建的虚拟网卡,否则造成安全隐患。

3. 参照 ubuntu 16.04配置基于SSL的MySQL主从同步 配置服务器

4. 接下来是群晖NAS的配置

首先是群晖服务器上没有 MySQL,需要安装 MariaDB ,如下图:
继续阅读家里ADSL上网无固定外网IP的群晖NAS安全实现与公网MySQL服务器主从同步

群晖DSM 6.2增加zgrep命令

群晖 DSM 6.2 系统上执行 zgrep 命令的时候提示找不到命令,其他平台系统(ARM ),需要手工编译安装ZUtils,来提供。但是如果是 X86 系统的话(比如 DS718+ ),可以直接使用交叉编译环境里的工具,直接拷贝到系统即可。

首先参考 搭建群晖交叉编译环境(DS718+/ubuntu 16.04.6/DSM 6.2.1-23824 Update 6) 搭建群晖 DSM 6.2 的编译环境。

DS718+ 执行如下:

?

?

需要编译的(ARM 芯片版本),执行如下命令编译:

对于编译好的程序,复杂的可以自己制作安装包,简单的可以直接通过SSH推送到设备的/usr/local/bin目录下即可。

比如本次编译结果:

参考链接


ESXi 6.7 使用NUT Client连接群晖UPS服务器

进来增加了一台工控机,上面跑了如软路由等业务,万一突然断电 ESXi 坏了启不了,估计就得废好大劲折腾了,以前有给群晖配过一台 APC BK650UPS,目前 UPSCOM 数据输出直接给到了群晖,毕竟无论如何也得优先保障群晖的可靠性,在群晖的设置里面看到过 UPS 服务器的选项,所以想着能不能 ESXi 能不能连接群晖的 UPS 服务器实现断电自动关机以保证数据安全。

继续阅读ESXi 6.7 使用NUT Client连接群晖UPS服务器

解决Btrfs文件系统ext2_saved文件磁盘占用异常

最近在 OpenMediaVault 4.1.22-1(Arrakis) 进行磁盘文件占用分析的时候,发现磁盘空间异常占用问题,如下:

这个 1.3T ./ext2_saved ?文件是不存在的,并且没办法通过常规命令删除。

这个文件产生的原因是,执行过 从 EXT3/4 转换转化分区到 Btrfs :

完成转换需要删除备份的 ext2_saved 子卷,否则空间会不能释放。 请注意,如果没了它(备份子卷),你将没办法还原回 EXT3/4 文件系统。

可能会报错:

无视这个报错即可。

完成后再次查询文件占用空间:

可以看到空间已经被释放了。

参考链接


基于APC BK650-CH UPS连接群晖DS718+通过NUT(Network UPS Tools)实现WDMyCloud Gen1断电自动关机

最近新入手了 群晖 DS718+,鉴于群晖断电容易损坏硬盘的传说,为了保证设备的安全,特别购入了 APC BK650-CH UPS

APC BK650-CH UPS 有多个电源插槽,可以同时为多个设备提供断电保护,但是 APC BK650-CH UPS 只有一个 USB 设备接口,这个接口用来提供电源状态信息,比如是否断电,当前电量信息等数据。这就造成收到断电通知的只能有一个设备,这个设备必须通过网络通知其他设备,才能实现全部的断电通知。

继续阅读基于APC BK650-CH UPS连接群晖DS718+通过NUT(Network UPS Tools)实现WDMyCloud Gen1断电自动关机

解决undefined reference to pthread_atfork/pthread_detach/pthread_create/pthread_join

在编译陈硕github上面的代码时,遇到了链接错误:

在编译时已经加了-lpthread,还是有这个问题。

在这里找到了答案:http://stackoverflow.com/questions/2373109/what-library-to-be-to-be-used-to-avoid-undefined-reference-to-pthread-atfork

pthread_atfork是POSIX标准,在编译时要加上-pthread
-lpthread是老版本的gcc编译器用的,在新版本中应该用-pthread取代-lpthread

参考链接


解决undefined reference to pthread_atfork/pthread_detach/pthread_create/pthread_join

搭建群晖交叉编译环境(DS718+/ubuntu 16.04.6/DSM 6.2.1-23824 Update 6)

搭建群晖交叉编译环境(DS718+/ubuntu 16.04.6/DSM 6.2.1-23824 Update 6),以 tcl 8.4.19/expect 5.45.4/dos2unix 7.4.0的编译为例,如下:

对于编译好的程序,复杂的可以自己制作安装包,简单的可以直接通过SSH推送到设备的/usr/local/bin目录下即可。

比如本次编译结果:

参考链接