Resulta que el llavero gnomo almacenó la frase de contraseña para mi llavero predeterminado en un llavero especial llamado "Iniciar sesión" y desbloqueó ese llavero con mi contraseña de inicio de sesión. Los archivos de configuración PAM para iniciar sesión en la consola y SDDM utilizan el módulo PAM gnome keyring . Se puede deshabilitar comentando las líneas que contienen pam_gnome_keyring.so
de todos los archivos que contienen esa cadena en el directorio /etc/pam.d
; esto debería hacer que tenga que ingresar manualmente la frase de contraseña para desbloquear su llavero.
Во-первых, примечание к $PATH
. У вас есть JAVA_HOME
установленный в каталог jdk
, но для PATH
вам нужно сделать это $JAVA_HOME/bin
.
Во-вторых, если вам нужно, чтобы эти переменные были доступны для не -интерактивных сценариев, вы можете поместить их в ~/.bashrc
, так как ~/.bash_profile
читаются только интерактивными входами в систему.
На самом деле, фактический порядок, в котором (считываются профили )оболочки входа в систему,:
/etc/profile
, затем:
~/.bash_profile
(В CentOS, если -f ~/.bashrc
, источники~/.bashrc
)~/.bash_login
~/.profile
(В Ubuntu, если -n $BASH_VERSION
, источники~/.bashrc
)РЕДАКТИРОВАТЬ :Если один из этих файлов найден, дальнейшие файлы не обрабатываются, если они не указаны явно
Оболочки входа без -(по умолчанию )ищут только ~/.bashrc
.
Таким образом, в зависимости от того, как вы выполняете bash
, вы можете даже не читать профиль, в который добавили эти строки. Выполняете ли вы sudo -u grid bash
, или su grid
, или su - grid
, или инициируете новый сеанс ssh каждый раз при тестировании? Некоторые из этих параметров могут не запускать интерактивную оболочку bash для входа в систему.
Поэтому проверьте каждый из файлов, перечисленных выше, и посмотрите, не сбрасывает ли какой-либо из них значение переменной JAVA_HOME
или сбрасывает ее. Затем попробуйте добавить строки в конец ~/.profile
, который является последним файлом, полученным оболочкой входа в систему.
В целях отладки вы можете добавить сообщения в профиль, чтобы убедиться, что он также настроен правильно.
~/.profile
:
export JAVA_HOME=/home/grid/jdk
echo "DEBUG:.profile: JAVA_HOME is [$JAVA_HOME]"
export HADOOP_HOME=/home/grid/hadoop
echo "DEBUG:.profile: HADOOP_HOME is [$HADOOP_HOME]"
PATH=$HADOOP_HOME:$JAVA_HOME/bin:$PATH
echo "DEBUG:.profile: PATH is [$PATH]"
export PATH
Это вызовет 3 строки вывода при входе в интерактивную оболочку входа,а значения в скобках позволяют легко увидеть, устанавливаются ли значения с самого начала. Если вы видите, чтоJAVA_HOME
устанавливается как при получении ~/.profile
, но не устанавливается, когда оболочка становится интерактивной, то вы знаете, что вам нужно продолжать следовать процессу входа в систему, чтобы определить, где значение изменяется.