При добавлении пользователя в новую группу, когда права доступа группы пользователей становятся активными, когда пользователь a / nologin?

У меня есть учетная запись уровня сервиса для запуска моего веб-сервера, и этот пользователь настраивается с помощью /sbin/nologin .

Обычно, когда вы добавляете пользователя в группу, вы должны выйти и войти в систему, чтобы использовать новые разрешения группы.

Я хотел бы добавить этого пользователя в другую группу, чтобы продлить некоторые его разрешения, но так как пользователь моего веб-сервера никогда не входит в систему, когда и как пользователь получит доступ к новым разрешениям группы?

Группы процессов устанавливаются программой, которая переходит от корня к целевому пользователю перед выполнением программы процесса. Когда пользователь входит в систему, программа, которая меняет пользователя, является программой входа ( login , su , sshd , …), а программа процесса является оболочкой пользователя. Для запуска демона под системным пользователем программа, которая меняет пользователя, может быть su или каким-либо другим инструментом, таким как start-stop-daemon Debian. Например, start-stop-daemon всегда добавляет дополнительные группы в процесс. Программа, меняющая пользователь, должна иметь логику для установки как основной группы из пользовательской базы данных, так и дополнительной группы из базы данных группы.

С CentOS 6 nscd может работать. Если вы не изменили владение группой с помощью команды usermod -level (например, usermod ), вам нужно выполнить grpconv чтобы также grpconv / etc / gshadow. Если nscd запущен, добавьте nscd -i group чтобы аннулировать кеш локальной группы. Если вы изменили основной запуск GID nscd -i passwd .

Проверьте результат с помощью id -a $ACCOUNT .

После этого перезапустите службу.

Я предлагаю su -; /etc/init.d/NAME stop; /etc/init.d/NAME start;

«/etc/init.d/NAME restart» может быть недостаточно.