Блог пользователя df-nix

Изменение разрешений на вновь создаваемые файлы для пользователей

Понадобилось изменить стандартные разрешения при создании файлов, копируемых на сервер по sftp.
Для этого воспользовался параметром login class пользователя.

pw usermod user1 -L ftpusers
- установил login class для user1 - ftpusers, затем в конец /etc/login.conf для ftpusers прописал:
ftpusers:\
    :umask=002:
это устанавливает разрешения 775 и 664 для вновь создаваемых файлов. Чтобы возымело действие, пересобрал файл бд
cap_mkdb /etc/login.conf

sftp chroot

Для ограничения пользователей при работе по sftp через ssh можно использовать chroot.
В /etc/ssh/sshd_config добавить

Subsystem   sftp   /usr/libexec/sftp-server
AllowUsers user1
Match user user1
ChrootDirectory /home/user1
X11Forwarding no
AllowTcpForwarding no    
ForceCommand internal-sftp

Все каталоги от корня до домашнего каталога пользователя включительно должны быть доступны для записи только руту, иначе chroot не будет работать, в нашем случае каталог /home/user1 должен быть
drwxr-xr-x  5 root       wheel      512  3 apr 07:54 user1

Отключение вывода информации о hostname при подключении по ssh

Оригинал - http://lists.freebsd.org/pipermail/freebsd-security/2013-October/007237....
Цитата:
===================================
Andrei writes:
> In /etc/pam.d/sshd from:
> auth required pam_unix.so no_warn try_first_pass
> to:
> auth required pam_unix.so no_warn try_first_pass authtok_prompt
>
> Right?

auth required pam_unix.so no_warn try_first_pass authtok_prompt="Password:"
........
====================================

Мониторинг с помощью Monit

Monit - утилита для мониторинга и управления процесами, программами, файлами, каталогами и файловыми системами под Unix. Может контролировать загрузку системы, работу различных демонов, контролировать сетевые соединения к удаленным хостам по различным протоколам, контролировать состояние файловой системы, целостность файлов и каталогов. В зависимости от состояния контролируемого объекта Monit может оповещать по email, перезапускать ( останавливать )процессы, если они не выполняются, не отвечают или потребляют много ресурсов, запускать различные программы при заданных событиях. См.

Настройка samba с пользователями

Важно:
Usernames and passwords must match exactly between the client Windows machines and the Samba server.( Имена пользователей и пароли должны полностью совпадать между клиентами Windows машин и пользователями Samba сервера. На Samba сервере должны быть учетные записи этих пользователей, пароль для которых устанавливается с помощью smbpasswd. Для большей безопасности я добавляю пользователей так:
pw useradd userN -s /usr/sbin/nologin -d /nonexistent -g smb -с "User for connect to samba server"

Изменение timezone

В связи с переходом Крыма на московское время обновил на крымских серверах timezone:
(Сервера на FreeBSD)
Для этого

# cd /usr/ports/misc/zoneinfo
# make install clean
После этого наблюдаю изменившийся файл /usr/share/zoneinfo/Europe/Simferopol
# tzsetup
где выбираем 8 Europe - 39 Russian Federation - 5 Moscow+00 - Crimea

На всякий случай проверяю настройку timezone для PHP и MySQL

# php -i | grep timezone
Default timezone => Europe/Simferopol
date.timezone => Europe/Simferopol => Europe/Simferopol

Перенос системы FreeBSD с одного сервера на другой.

Имеется сервер под FreeBSD-9.2 на котором установлена и работает хостинг панель.
Требуется перенести систему на новое железо.

Основы процедуры описаны в http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/disks.html#idp67483184
Это:
1. Размечаем диск на новом сервере(сервер2).
2. Монтируем его во временный каталог.
3. Используем dump - restore для переноса файловой системы со старого сервера (сервер1) на новый.

Опишу подробнее последовательность в моем случае и подводные камни с которыми столкнулся.

На сервере2 грузимся с live-cd (live-usb) и размечаем дисковое пространство:

pkg_cutleaves - удобное удаление неиспользуемых портов под FreeBSD

Решил попробовать под FreeBSD работу порта pdftohtml, установил его в систему, попробовал, затем понадобилось его удалить. Оказалось что при установке он потянул за собой установку большого количества зависимостей. Можно их удалять вручную по одному. Но это долго и муторно. На помощь приходит утилита pkg_cutleaves которая проверяет порты/пакеты на зависимости и выдает в интерактивном режиме список портов/пакетов, от которых не зависит ни один порт/пакет в системе с предложением оставить - k, удалить - d, сбросить помеченные - f или отменить выполнение команды -a.
Фрагмент вывода:
 

Ленты новостей