Я использую RHEL 7.3, однако процедура может быть аналогичной в других системах Linux.
Я вошел в систему как root. У меня есть файл под названием openrc
который полон строк вроде export OS_IDENTITY_API_VERSION=3
. Я бы хотел переместить этот файл куда-нибудь, чтобы он автоматически загружался, когда другой пользователь входит в систему по SSH. Прочитав связанные темы, я попытался добавить это, используя это как пользователь root, но это, похоже, добавляет эти значения только для пользователя root. Когда я вхожу в систему как другой пользователь, скажите «admin01», значения не загружаются.
echo source /home/admin01/openrc>>~/.bash_profile
Я также попытался переместить этот файл в /etc/profile.d, но он, похоже, загружается только для root, а не для любого другого пользователя, входящего в систему. Может кто-нибудь, ПОЖАЛУЙСТА, объяснить, что происходит.
cp /home/admin01/openrc /etc/profile.d/openrc.sh
В /etc/profile
есть такое предупреждение;
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
Обратите внимание, что все изменения, внесенные в / etc / profile и /etc/profile.d, будут применены к каждому пользователю, который входит в систему. Поскольку у меня есть подозрение, что этот файл openrc имеет учетные данные для аутентификации, вы должны быть уверены, что действительно хотите, чтобы это применялось к каждому пользователю. Если вы хотите, чтобы он применялся только к определенным пользователям, вы можете скопировать файл в их домашнюю папку и включить его в их ~ / .profile, указав строку source ~/openrc
Назови это /etc/profile.d/openrc.sh
или используйте /etc/environment
если вам нужно, чтобы переменные были определены и для демонов.
Вот пример (CentOS 7):
# ls -lhaZ /etc/profile.d/
[...]
-rw-r--r--. root root unconfined_u:object_r:bin_t:s0 /etc/profile.d/foo.sh
Содержание:
export HISTSIZE=10000
export HISTFILE=~/.bash_history
export HISTCONTROL=ignoredups:ignorespace:erasedups
export HISTTIMEFORMAT="%y-%m-%d %H:%M "
Вы вошли как пользователь без полномочий root:
$ set | grep HIST
HISTCONTROL=ignoredups:ignorespace:erasedups
HISTFILE=/home/user/.bash_history
HISTFILESIZE=10000
HISTSIZE=10000
HISTTIMEFORMAT='%y-%m-%d %H:%M '
С помощью /etc/environment
, поместите строки в / etc / environment без export
.
Имейте в виду, что вам, возможно, придется придерживаться /etc/environment
когда вы не используете bash или не используете bash в качестве оболочки входа: