1
|
nginx: [emerg] getgrnam("root") failed in nginx.conf
|
这样的错误通常在mac上出现
在nginx配置文件中,group 值默认是和user名相同。
在mac系统上,对于root用户,或者使用sudo执行nginx时,系统并没有root的group,所以就提示了如上的错误。
快捷的修改方式:
1
2
|
#修改nginx.conf文件,指定root用户mac中的group
user root admin;
|
如果nginx.conf不能修改,比如test::Nginx中,对应case自动生成nginx.conf
那么,mac中增加一个root用户组,并把root用户加入到group中也可以。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// 切换到root用户
su
// 新建root用户组,并指定id 为2024 (和现有id不冲突即可,尽量>500)
dscl . -create /Groups/root PrimaryGroupID 2024
// 添加root用户到root用户组中
dscl . -append /Groups/root GroupMembership root
// 其他的一些命令
// list所有的用户组
groups
// 查看user所属的用户组
groups <user>
// 同上,同时展示用户组id
id -a <user>
// 查看当前登陆的用户名
whoami
// mac 管理用户及用户组命令
// dscl
// 创建<user-name>用户,且id 为<id-num>
sudo dscl . -create /Users/<user-name> UniqueID <id-num>
// 查看所有用户和id
sudo dscl . -list /Users UniqueID
// 删除
sudo dscl . -delete /Users/<user-name>
// 创建<group-name>用户组,且id 为<id-num>
sudo dscl . -create /Groups/<group-name> PrimaryGroupID <id-num>
// 查看所有用户和id
sudo dscl . -list /Groups PrimaryGroupID
// 删除
sudo dscl . -delete /Groups/<group-name>
// 添加<user-name> 到用户组<group-name>中
sudo dscl . -append /Groups/<group-name> GroupMembership <user-name>
// 删除用户组<group-name>中<user-name>
sudo dscl . -delete /Groups/<group-name> GroupMembership <user-name>
// 查看所有组下个用户信息
dscl . -list /Groups GroupMembership
|