apache2和mysql等程序安装在世界各地的各种机器上。他们如何确保他们知道他们希望运行的受限权利用户的uid或gid?我希望我的程序作为服务运行,其用户通过init.d拥有最少的权限。我假设在init.d中启动的服务最初是以root身份运行的吗?
答案 0 :(得分:2)
通常有一个配置文件,用于指定服务要使用的用户。然后该服务可以使用getpwnam(3)
并检索UID。
struct passwd *getpwnam(const char *name);
struct passwd {
char *pw_name; /* Login name (username) */
char *pw_passwd; /* Encrypted password */
uid_t pw_uid; /* User ID */ <-----