FreeBSD: su - Sorry
Часто встречалась ситуация, когда вы в FreeBSD путаетесь стать суперпользователем, запускаете команду su и вместо
@aldan ~> su -
Password:
@aldan ~>
получаете
$ su -
su: Sorry
$
Это происходит от того, что пользователь, запустивший команду su, не находится в группе wheel (gid=0). Достаточно сменить основную группу пользователя при помощи команды chsh или добавить его в группу wheel в файле /etc/group следующим образом
#aldan ~> head /etc/group
# $FreeBSD: src/etc/group,v 1.35 2007/06/11 18:36:39 ceri Exp $
#
wheel:*:0:root,nm
И после этого пользователь сумеет запускать команду su и становиться суперпользователем.
Вот как выглядит информация о пользователе, который не в группе wheel
$ id
uid=1002(nm1) gid=20(staff) groups=20(staff)
$
А вот так, если он в группе wheel:
@aldan ~> id
uid=1001(nm) gid=20(staff) groups=20(staff),0(wheel)
@aldan ~>
Ну и напоследок. Команда su без аргументов меняет UID/GID пользователя, но остановляет переменные окружения без изменения. Т.е. $HOME будет показывать на вашу домашнюю директорию, а не на директорию пользователя root и так далее.
Команда su - , наоборот, выполняет полный логин, с заменой всех переменных окружения. Я лично предпочитаю использовать именно ее, а не просто su.
Удачного вам суперпользования и никаких “su: Sorry” :)