На работе у меня есть несколько устаревших серверов, на которые я вхожу как root, а затем su
вплоть до пользователя. Я продолжаю сталкиваться с проблемой, из-за которой после этого я не могу запустить screen
как этот пользователь.
Я не хочу открываться screen
как root, потому что тогда я должен сознательно su
вниз пользователя каждую новую оболочку, и я часто забываю.
Вопрос в том, есть ли более легкое решение этой проблемы, чем я знаю сейчас? Мое текущее решение - найти номер точки моего терминала, а затем установить его chmod 666.
Я ищу что-нибудь похожее на X11 xhost
Управление ACL, если такое существует для этой ситуации.
Использовать команду chmod root для TTY на 666 - плохая идея по причинам, которые, надеюсь, очевидны. Вместо этого передайте право собственности целевому пользователю и верните его позже.
Функция bash, которая упрощает все это:
screenas() { chown $* ``tty`` && su - $* -c screen && chown root `tty` }
Вставьте это в свой .bashrc файл и, чтобы запустить screen как пользователь, screenas username
.