Когда Вы работаете awk '{ ... }'
на приглашении оболочки или из сценария оболочки, оболочка анализирует кавычки и передает аргумент awk
w/o кавычки. То, что происходит, - то, что Вы так или иначе выполняете его с кавычками в параметре.
Править: с Вашим обновлением вопроса, в чем Вы нуждаетесь, sh -c "$final_cmd"
.
Группы процесса установлены программой, которая изменяется от корня до целевого пользователя прежде, чем выполнить программу процесса. Когда пользователь входит в систему, программа, которая изменяет пользователя, является программой входа в систему (login
, su
, sshd
, …), и программа процесса является оболочкой пользователя. Для демона, выполненного при пользователе системы, программа, которая изменяет пользователя, может быть su
или некоторый другой инструмент, такой как Debian start-stop-daemon
. Например, start-stop-daemon
всегда добавляет дополнительные группы к процессу. Изменяющая пользователя программа должна иметь логику для установки и основной группы от пользовательской базы данных и дополнительной группы от базы данных группы.
С CentOS 6 nscd
мог бы работать. Если Вы не изменили владение группы hig-level-command (как usermod
) необходимо удостовериться, что работали grpconv
таким образом,/etc/gshadow обновляется также. Если nscd
работает добавляют nscd -i group
делать недействительным локальный кэш группы. Если Вы изменили основной выполненный GID nscd -i passwd
.
Проверьте результат с id -a $ACCOUNT
.
После этого - перезапускают Ваш сервис.
Я предлагаю su-; остановка/etc/init.d/NAME;/etc/init.d/NAME запускаются;
"перезапуск/etc/init.d/NAME" мог бы быть недостаточно.