newgrp — переход в новую группу.
newgrp [-] [группа]
Команда newgrp изменяет идентификацию группы для пользователя. Пользователь остается в системе и текущий каталог не изменяется, но права доступа к файлам вычисляются в соответствии с новыми реальным и действующим идентификаторами группы. По команде newgrp пользователь вместо старого всегда получает новый shell независимо от того, закончилось выполнение newgrp успешно или с ошибкой (из-за неизвестной группы).
Экспортируемые переменные окружения сохраняют свои значения после выполнения команды newgrp; однако всем неэкспортируемым переменным присваиваются подразумеваемые или пустые значения. Системным переменным (таким как PS1
, PS2
, PATH
, MAIL
и HOME
), если они не экспортируются системой или явно пользователем, устанавливаются подразумеваемые значения. Например, если основное приглашение (PS1
) отличается от «$» (значение по умолчанию), и переменная PS1
не экспортируется, то после выполнения команды newgrp, успешного или нет, значение переменной PS1
будет установлено равным «$». Следует отметить, что команда shell'а export [см. SH(1)] является тем средством, с помощью которого переменные окружения сохраняют свои значения при запуске новых shell'ов.
Если не заданы аргументы, команда newgrp изменяет идентификатор группы обратно на группу, определенную в соответствующей строке файла /etc/passwd
.
Если первым аргументом команды newgrp является -
, то окружение становится таким, которым оно было бы, если пользователь вошел в систему заново, как член новой группы.
Запрашивается пароль, если группа имеет пароль, а пользователь нет, или если группа имеет пароль, а пользователь не указан в файле /etc/group
как член новой группы.
/etc/group
— Системный файл групп.
/etc/passwd
— Системный файл паролей.
Не существует удобного способа занесения паролей в файл /etc/group
. Использование паролей групп не поддерживается, так как по своей сути они плохо обеспечивают секретность. В будущем пароли групп, видимо, отомрут.