В чем разница между .bash_profile и .bash_login?

Обычно, чтобы использовать VIP таким образом, вы должны использовать NAT, поэтому IP-адрес назначения пакета перезаписывается во внутренний IP-адрес сервера RADIUS, а исходный IP-адрес пакета перезаписывается в адрес маршрутизатора.

Если вы не можете настроить это на Juniper и нашли способ пересылки пакетов на сервер RADIUS с неповрежденным IP-адресом источника/назначения, то вы можете заставить FreeRADIUS использовать определенный адрес источника, когда отвечает.

Сначала вам нужно добавить VIP в качестве псевдонима IP, как описано здесь:https://support.kemptechnologies.com/hc/en-us/articles/203861685-Configuring-DSR

Затем вам нужно будет добавить следующий фрагмент в конфигурацию вашего виртуального сервера:

server {
    post-auth {
        update control {
            Packet-Src-IP-Address := 
        }
    }
}

Это гарантирует, что адрес src в пакетах, отправляемых из FreeRADIUS, соответствует VIP.

1
08.10.2018, 23:23
2 ответа

Одним из преимуществ использования необязательного имени сценария ~/.bash_login, вместо~/.profileявляется то, что существует параллельное имя для вашего сценария выхода ~/.bash_logout, если вы решите его использовать.

Таким образом, если вы используете Bash, а не Bourne, это упрощает сложность набора имен конфигурации по сравнению с этим:

/etc/profile         # system login       script
~/.bash_profile      # user   login       script
~/.bash_logout       # user   logout      script

/etc/bash.bashrc     # system interactive script
       ~/.bashrc     # user   interactive script

к этому:

/etc/profile         # system login       script
~/.bash_login        # user   login       script  <--sisters +
~/.bash_logout       # user   logout      script  <----------+

/etc/bash.bashrc     # system interactive script
       ~/.bashrc     # user   interactive script

Однако, если вы не собираетесь использовать сценарий выхода из системы, этот другой способ может оказаться для вас проще:

   /etc/profile      # system login       script
~/.bash_profile      # user   login       script

/etc/bash.bashrc     # system interactive script
       ~/.bashrc     # user   interactive script

Жаль, что в именах конфигов больше нет симметрии имен...

Но вы могли бы сделать это немного лучше с помощью этих символических ссылок:

/etc/bash   -->    /etc/profile   # system login       script
  ~/.bash   --> ~/.bash_profile   # user   login       script

/etc/bashrc --> /etc/bash.bashrc  # system interactive script
  ~/.bashrc                       # user   interactive script

Без -деструктивного создания с помощью:

sudo ln -sT    /etc/profile  /etc/bash
     ln -sT ~/.bash_profile    ~/.bash

sudo ln -sT /etc/bash.bashrc /etc/bashrc
#                              ~/.bashrc  (don't change)

Или вы можете действовать более агрессивно и отменить это и переместить файлы на новые имена, а вместо этого обратно -связать их:

sudo mv -f    /etc/profile       /etc/bash          && \
sudo ln -sT   /etc/bash          /etc/profile

sudo mv -f    /etc/bash.bashrc   /etc/bashrc        && \
sudo ln -sT   /etc/bashrc        /etc/bash.bashrc

     mv -f    ~/.bash_profile    ~/.bash            && \
     ln -sT   ~/.bash            ~/.bash_profile

#             ~/.bashrc              (don't change)

В любом случае, теперь у вас есть эти более унифицированные имена файлов конфигурации , которые легко найти, если вы забудете их по их ссылкам:

/etc/bash    # system login       config script
  ~/.bash    # user   login       config script

/etc/bashrc  # system interactive config script
  ~/.bashrc  # user   interactive config script

(Я не использую сценарий выхода из системы, но он, вероятно, будет называться:/etc/bash.logout.)

1
11.12.2020, 18:43

Оболочка csh, из которой bashполучила несколько функций, использует .loginв качестве имени файла запуска оболочки, запускаемого при запуске оболочки входа в систему, точно так же, как ksh, другая оболочка, которая сильно влияет на оболочка bashиспользует .profileв качестве файла запуска для оболочек входа в систему.

Таким образом, .bash_profileзаимствует свое имя из файла .profileоболочки ksh, а .bash_loginзаимствует свое имя из файла .loginоболочки csh.

Пользователь использует .bash_profileили .bash_loginв зависимости от того, из какого другого семейства оболочек(ksh-подобных оболочек илиcsh-подобных оболочек )он переходит на bash.

Очевидно, что в настоящее время многие пользователи Linux никогда не использовали другую оболочку, чем bash, так что какое бы имя файла они ни использовали, скорее всего, будет зависеть от предпочтений их системного администратора, их учителя, или это может быть случайностью.

Если существуют и ~/.bash_profile, и ~/.bash_login, файл ~/.bash_loginбудет проигнорирован.

5
11.12.2020, 20:18

Теги

Похожие вопросы