Я еще не абсолютно уверен относительно этого, поэтому возьмите его с мелкой частицей соли и большего количества исследования.
Это запускается с подсистемы замены в горячем режиме ядра. После того, как устройство является установкой, это любой вызовы независимо от того, что программа пространства пользователя является установкой для обработки событий замены в горячем режиме (если Вы были установлены echo hotplug_handler > /proc/sys/kernel/hotplug
) или отправляет пакет данных по kobject_uevent netlink сокет. Когда ядро запускает обработчик замен в горячем режиме, оно настраивает некоторые переменные среды. Когда ядро отправляет datapacket, оно включает key=value пар. Если Вы хотите, можно установить сценарий, который просто регистрирует среду и настраивает ее как обработчик (не в производственной системе, конечно - тестовая установка).
Обычно, udev является установкой как обработчиком, и это будет иметь несколько установок правил о том, как обработать события. Оттуда, это может запустить другие программы, которые делают другие вещи (как проблема dbus сообщения). Эти правила udev очень зависят от конкретного распределения интереса.
Существует большая информация в этом потоке, где кто-то пытается записать, что некоторая документация - отмечает, что первое сообщение не точно; продолжайте читать.
Можно сделать .tcshrc
проверьте специальную переменную среды (как subuser
), и условно source .tcshrc_cust
. Когда Вы входите в систему, работаете subuser=nozimica tcsh
. Это получит это enironment переменная и выполнит Ваш пользовательский емкостно-резистивный сценарий. Кроме того, энергия :sh
команда будет работать. Можно даже заставить его полагать и source .tcshrc_$subuser
; тем путем все могли сделать это.
Можно пропустить часть, куда Вы работаете subuser=nozimica tcsh
когда Вы входите в систему при наличии ssh, выполняет его для Вас. Если Вы устанавливаете ssh ключевую аутентификацию, то в ~/.ssh/authorized_keys
на сервере можно снабдить префиксом ключ command="subuser=nozimica tcsh"
, и ssh выполнит ту команду для Вас.
Можно отправить вдоль переменных среды от локальной машины с помощью SSH.
Например, помещенный export FOO_USER="$USER"
(в tcsh
версия .bash_profile
) или FOO_USER=joe ssh remote-host
(на командной строке) на Вашей локальной машине. Отредактируйте Ваш ~/.ssh/config
включать это: SendEnv LANG LC_* FOO_USER
.
Затем на удаленном сервере можно проверить на ту переменную в .bash_profile
(или что имеет Вас в tcsh
), и выполните соответствующие меры:
if [ "$FOO_USER" = 'joe' ]; then
export PS1='--[ Joe rules ]-- \u@\h \w \$ ';
source tcsh.joe;
elif [ "$FOO_USER" = 'jane' ]; then
alias ll='ls -Al';
fi
По умолчанию сервер SSH только принимает LANG
и LC_*
, таким образом, если Вы не можете отредактировать /etc/ssh/sshd_config
на сервере для добавления AccceptEnv LANG LC_* FOO_USER
, Вы могли бездельничать он путем злоупотребления LC_*
переменные, например. LC_FOO_USER=joe
. Обновите Ваш .bash_profile
s (или скорее соответствующее локальное и удаленное tcsh
файлы) соответственно.
authorized_keys
подход, и поэтому это.:-) Однако это также работает на неключевую аутентификацию или даже когда — удушье — закрытый ключ является общим для несколько пользователей.
– janmoesen
19.10.2011, 23:26
Моя команда и я сталкивались с подобной проблемой с общей учетной записью. Мы предложили в основном то же решение, оптимизировав его крошечный бит.
Вот то, что мы делаем. (Мы используем ksh
, Я не знаю много о tcsh
но я предполагаю, что это довольно подобно).
Полоса вниз .tcshrc
к абсолютному минимуму, так, чтобы это больше было едва применимо.
Вынудите каждого пользователя использовать a .tcshrc_cust
И в оригинале tcshrc
добавьте что-то как этот:
alias u1='source .tcshrc_user1'
alias u2='source .tcshrc_user2'
alias u3='source .tcshrc_user3'
Идея состоит в том, что более удобно ввести всего 2 буквы, чем целая команда. Также, если целая команда делает его, это становится более принятым и легче поддержать.
Я не говорю, что это - идеальное решение, и я искал то же самое как Вы некоторое время теперь, лучше, чтобы я мог придумать. Давайте надеяться, что у кого-то еще есть лучшая идея :)
.tcshrc
. Спасибо так или иначе! :D
– nozimica
19.10.2011, 23:25