sudo
为什么在使用后重新登录时无法识别我的组groupadd
?
我们的 DigitalOcean CentOS 附带了一个无聊的sudo
实现。这是以下脚本,请注意第 2 行:
$ nl $(which sudo)
1 #! /bin/sh
2 # TODO: parse & pass-through sudo options from $@
3 sudo_options="-E"
4 for arg in "$@"
5 do
6 case "$arg" in
7 *\'*)
8 arg= ;;
9 esac
10 cmd_options="$cmd_options '$arg'"
11 done
12 exec /usr/bin/sudo $sudo_options \
LD_LIBRARY_PATH=$LD_LIBRARY_PATH PATH=$PATH \
scl enable devtoolset-7 "$cmd_options"
修复该脚本以传递sudo
选项后,我无法将可执行文件作为一个组调用。我的脚本结尾为:
exec /usr/bin/sudo -g foo LD_LIBRARY_PATH=[...] /lib PATH=[...] \
scl enable devtoolset-7 install -o jim -g foo -m 2755 [files...]
sudo: unknown group: 'foo'
sudo: unable to initialize policy plugin
但该组被定义为:
$ grep foo /etc/group
foo:x:1004:
我在小组中:
$ id
uid=1003(jim) gid=1003(jim) groups=1003(jim),10(wheel),1004(foo) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
如果重要的话:
$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)