Переход к предыдущей публикации Гугль в картинках - Жесть! Обновление системы FreeBSD 6.2 до версии 6.3 Переход к следущей публикации

Роемся в конфигах

Среда, 30 января, 2008 07:10:29 EET

Исправления от 23 марта, 2009 10:45:39

Выделенные сервера дешевле обычного хостинга

Роемся в конфигах Как продолжение предыдущей статьи приведу пример того, что можно еще сделать с FreeBSD после ее установки. Займемся основными конфигурационными файлами: /etc/rc.conf /etc/ssh/ssd_config и т.д.

/etc/rc.conf - в этом файле задаются начальные параметры загрузки системы. Точнее задаются они в дефолтовом файле /etc/defaults/rc.conf, однако дефолтовый файл править нерекомендуется. Если хотите что-то поменять в запуске системы, пишите это в /etc/rc.conf Директивы в /etc/rc.conf перекрывают аналогичные в /etc/defaults/rc.conf.

Пример:


Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].

Если Вы желаете, чтобы при входе в систему отображалось Ваш собственное сообщение вместо стандартного, отредактируйте файл /etc/motd. Кроме того, если Вы хотите, чтобы после передачи имени пользователя и до передачи пароля выдавалось еще какое-либо сообщение, раскомментируйте в конфиге /etc/ssh/sshd_config строку:

#Banner /some/path

А вместо /some/path укажите путь к Вашему текстовому файлу с “баннером”. После редактирования sshd_config следует дать демону ssh перечитать его. Сделать это можно, послав процессу сигнал HUP:

сrawler# killall -HUP sshd

Правда, в этом случае у Вас отвалятся все активные ssh сессии. Лучше сделать это так:

сrawler# /etc/rc.d/sshd restart

Теперь при входе в систему мы увидим:

login as: daemony
Well, tell me your password?

Password:
Last login: Tue Jan 29 23:51:51 2008 from somehost

Welcome to Crazy Crawler!
Here’s all for good job.
$ _

Мелочь, но красиво. Через /etc/motd я как-то вешал публичные объявления для пользователей на одном из серверов. Вполне юзабельно. Тем более, что motd для этого и задумывался. ;)

Кроме баннера, в /etc/ssh/sshd_config можно поправить еще несколько опций.

AllowGroups sshusers

При этом следует добавить соответсвующую группу в /etc/group. Например:

crawler# pw group add sshusers

И прописать в эту группу всех пользователей, которые могут иметь возможность входить на этот сервер удаленно по ssh. Достаточно просто изменить (добавить или удалить) список пользователей группы sshusers как эти изменения вступят в силу.

Замечание: если Вам вдруг взбредет в голову дать пользователю root возможность удаленно входить на сервер по ssh, Вам не только прийдется добавить его в группу sshusers, Вам также прийдется добавить в /etc/ssh/sshd_config строчку:

 PermitRootLogin yes

Но это конечно же не самое лучшее решение. … В /etc/ssh/sshd_config можно исправить еще несколько полезных опций.

# Здесь можно задать другой номер порта, указав нестандартный. Иногда спасает от брутфорса
  Port 22
# Можно sshd заставить слушать какой-то конкретный интерфейс
#  ListenAddress 0.0.0.0
# Максимальное количество попыток ввести пароль при входе
  MaxAuthTries 3
# Можно задать время (в секундах), в течении которого, если не ввели пароль,
# сеанс связи будет закрыт сервером.
  LoginGraceTime 20

Естественно, это опции далеко не все. Но это то, чем пользуюсь обычно я.

* * *

В предыдущей статье рассказывалось о том, как задать начальные параметры конфигурации (переменные окружения пользователя). Так вот, изначально, когда Вы создаете нового пользователя его профиль создается из набора файлов, находящихся в /usr/share/skel. В данном каталоге помещены файлы вида:

  dot.cshrc
  dot.login
  dot.login_conf
  dot.mail_aliases
  dot.mailrc
  dot.profile
  dot.rhosts
  dot.shrc

Все что Вы поместите в /usr/share/skel, будет скопировано по-умолчанию в домашний каталог каждого нового пользователя при его создании в системе. Естественно, имена файлов будут без приставки “dot.“. Она будет заменена на точку, то есть будет создан скрытый файл.

* * *

Обычно сразу после установки BSD нам приходится сталкиваться с вопросом коммуникации FreeBSD с машинами Windows. Обязательно найдется что-то, что нужно будет скопировать с одной машины на другую. И тут нам поможет открытие банального FTP сервера, но не на Windows, а в FreeBSD. Это очень просто и быстро. Для того, чтобы заставить FreeBSD запустить стандартного демона ftpd, нам всего лишь в файле /etc/inetd.conf нужно раскоментировать всего одну строку:

ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l

После запуска/перезапуска inetd сервера (killall -HUP inetd), он запустит FTP демона и посадит слушать его на порт 21. То, что это так легко проверить:

crawler# sockstat | grep 21
root     inetd      1135  5  tcp4   *:21                  *:*

Все работает. Прекрасно. К слову сказать, иногда для экономии ресурсов рекомендуется не только ftpd запускать из-под inetd сервера. Например, SSH. Если надумали запускать sshd через inetd, то прежде всего Вам
понадобится раскомментировать строку в /etc/inetd.conf

ssh     stream  tcp     nowait  root    /usr/sbin/sshd          sshd -i -4

А потом скоммандовать:

 crawler# /etc/rc.d/sshd stop ; killall -HUP inetd

При этом Ваши активные SSH сессии не отвалятся. При следущем входе в систему мы увидим:

crawler# sockstat | grep 22
root     inetd      1135  8  tcp4   *:22                  *:*

Не забудьте установить sshd_enable=”NO” в файле /etc/rc.conf. Иначе при следущем старте системы в логи посыпятся ошибки, мол “не могу слушать порт, поскольку порт уже занят.” Это будут одновременно inetd и “автономный” sshd пытаться слушать один и тот же порт.

Что ж, думаю, по данной теме говорить пока достаточно.

Похожие публикации

Выделенные сервера дешевле обычного хостинга

Комментариев 4

Kekyy 1 января, 2010 19:00:37 EET .:. ID #23647 .:.

А! Я понял… просто inetd надо было запустить.
И небыл прописан
с rc.config
inetd_enable=”YES”
по каким то причинам закоментировано было…
Спасибо за сайт! Очень помогает!

Kekyy 1 января, 2010 18:00:00 EET .:. ID #23645 .:.

Привет! Постоянно читаю этот блог, но вот сейчас решил зарегистрироваться! :)
Возникла некая проблема, в /etc/inetd.conf раскоментировал строку:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
но после перезапуска системы доступ по FTP пропал и в sockstat нет inetd
Как быть, и где почитать логи по этому поводу? Заранее благодарю!

Daemony 5 августа, 2008 08:08:39 EEST .:. ID #761 .:.

Спасибо. :)
Несмотря на временный творческий кризис, буду стараться…

Panove 5 августа, 2008 06:45:04 EEST .:. ID #760 .:.

Мужчина!
Не сплю уже вторые сутки - все читаю, читаю и читаю!!! И параллельно все повторяю - очень познавательный ресурс! А главное полезный и актуальный!
Так держать!!!

Возник вопрос по этой теме, или есть что добавить? Говорите!

  1. Зарегистрированным пользователям вводить защитный код (captcha) не приходится.
  2. Загрузить свою аватарку Вы сможете, зарегистрировавшись на сервисе www.gravatar.com
Публикуя комментарий Вы подтверждаете, что ознакомились c Правилами и принимаете их!
HOMOSAPIENS ONLY! :)