Это на сервере CentOS 5.3.
Я вошел в систему как myUser.
myUser добавляется в новую группу при входе в систему. (root редактирует файл / etc / group в другом сеансе)
Как я могу заставить изменение вступить в силу без выхода из системы и повторного входа в систему?
Билл
Попросите пользователя запустить:
exec su $USER
Или:
exec sudo -u $USER -s
Это заменит их оболочку входа в систему новой оболочкой входа, которая была только что вошла в систему как они. su обязательно попросит их ввести пароль. sudo может и нет, но я считаю, что потребуется настроить / etc / sudoers, чтобы у пользователя было разрешение запускать оболочку от имени себя. Если вы не укажете «exec», пользователю придется «выйти» дважды.
В Unix, когда вы входите в систему, есть период, когда есть программное обеспечение, работающее с правами root, которое аутентифицирует пользователя, которое затем настраивает группы перед переключением на запуск оболочки от имени этого пользователя. После этого невозможно изменить разрешения без повторного запуска программного обеспечения с правами root.
Это практически невозможно, потому что сеанс входа в систему читает в начале файл группы. Если вы инициируете новый сеанс входа в систему, возможно, вы сможете это сделать, но я думаю, что это невозможно.