非root启动应用 1970-01-01 00:00

今天Redis又被爆出了漏洞

利用场景是Redis开启了外网访问,没有加认证。如果是以root启动的话,就可以拿下系统了。

所以不要为了方便,随便 用root身份或者有sudo权限的用户启动应用

恩,一个有追求的运维或者开发人员不应该用root启动应用。:)

怎样方便的用非root用户启动应用呢?

有下面两种简单方法:

1,setuid,如果你的服务是用daemon程序,推荐用这种方法。

2,su -c 'your command' different_user

root@ubuntu:/opt/share/haifang/# id
uid=0(root) gid=0(root) 组=0(root)
root@ubuntu:/opt/share/haifang/style_erp# su -c 'id' maxma
uid=1001(maxma) gid=1001(maxma) 组=1001(maxma)

如果用户没有登录shell,可以使用-s 去指定运行的shell程序。

su -s /bin/bash -c '/path/to/your/script' testuser