给自建程序上权限,源自github用户mm2231031

我发现现在官方的一键安装脚本生成的systemd的启动文件,指定的是root用户运行的,毕竟v2ray是对外服务的,我担心会有人通过开放的端口可能存在的漏洞获得root权限,所以我做了个小小的设置,让v2ray以普通用户身份运行,减少攻击获取root权限的几率
1、创建用于运行v2ray的用户,且不允许执行解释器
useradd v2ray -s /usr/sbin/nologin

2、修改v2ray.service文件,加入User和Group两项
vim /etc/systemd/system/v2ray.service

[Unit]
Description=V2Ray Service
After=network.target
Wants=network.target

[Service]
User=v2ray
Group=v2ray
Type=simple
PIDFile=/var/run/v2ray.pid
ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

执行systemctl daemon-reload

3、为日志目录赋权
chown -R v2ray:v2ray /var/log/v2ray

4、重启服务
systemctl restart v2ray

5、查看运行状态
ps -ef |grep v2ray

v2ray     3382     1  0 21:49 ?        00:00:00 /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json
root      3484  2073  0 22:04 pts/0    00:00:00 grep v2ray

这样就可以看到v2ray是以普通用户运行的了

记一次文件丢失过程

文件备份结构是AD域DFS两台服务器相互复制同步。也就是所谓的热备份。

再加一台NAS设置网络共享,每天备份一次。作为冷备份。我用的Windows Server Backup整个服务器完整备份。这种备份是完完全全的重新备份。也就是备份一开始会删除原先的备份再重新备份,过程不能中断。中断的话你什么文件也找不回。(这个确实我之前还真不知道)

事故起因:更换一台AD域服务器包含文件的硬盘,没有删除DFS复制组。整个镜像到新硬盘。这操作本身没有问题。但是操作人员嫌过程太慢,而且不熟悉DFS主从复制原理。直接删除了DFS目录下的文件,以为DFS服务会从另一台服务器把文件复制过来。

事件结果:这等于就把两台服务器的文件全部删除了。由于公司很多人员未开工,加上他是接近下班才把服务器上线,没有及时发现事故。到了第二天才知道。而我做的冷备份是每天晚上11点开始备份。也就是11点时候,三个地方的文件无意幸免,全部删除。而唯一能恢复的就只有他原先替换下的故障硬盘。

事件教训:容灾备份果真是最难做的。我外面的都防住了。却防不住自己人动手。做备份方案一定要了解备份原理,不要只觉得做了备份就安枕无忧了。设置事件报警。