2010-07-08

Файлообменник на samba. Часть 2

До сих пор не была решена проблема с установкой дисковых квот для пользователей. Сколько ни копался в гугле, так и не понял, как же использовать директивы в конфиге самбы: set quota command и get quota command. В итоге обошелся директивой root preexec, запускающей от root мой скрипт назначения квоты на пользователя:

[homes]
valid users = YOUDOMAIN+%S
browseable = no
writable = yes
create mode = 0400
directory mode = 0700
root preexec = /usr/sbin/set_quota %S
; admin users = %S
read list = YOUDOMAIN+%S
write list = YOUDOMAIN+%S


Для работы с квотами надо установить пакет:

# pacman -S quota-utils


и настроить раздел в /etc/fstab на использование квот:

/dev/sdc1 /home ext4 defaults,usrquota 0 1


После перемонтировать раздел с квотированием и выполнить команды:

quotacheck /dev/sdс1
quotaon /dev/sdс1


Скриптик set_quota для установки квот тоже прост, как три копейки:

#!/bin/sh
/usr/sbin/setquota -u $1 400000 500000 400 500 /dev/sdс1

По команде:

# pacman -Ql quota-utils


можно получить список всех утилит пакета, но меня заинтересовали только edquota (ручное редактирование квот), repquota (сведения о квотах) и quota (информация о квоте на пользователя). Некоторые примеры использования:

Выдать информацию по квоте, только если она превышена:

# quota -q maotm


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

# repquota -s /dev/sdс1 | grep -v "#"

2010-07-05

Файлообменник на samba. Часть 1

Возникла необходимость создать файлообменник из одной сети в другую, с запретом удаления передаваемых файлов, чтобы контролировать, что гуляет из сети в сеть. В последнее время в деле создания критически важных сервисов мой выбор падает на Arch. Вот и в этот раз мой выбор пал не него :)
После некоторых экспериментов со схемами передачи файлов, остановился на следующей: вводим Samba-сервер в домен, после чего доступ будет организовываться только через доменные учетные записи. Каждому пользователю при входе создается домашняя папка по его логину в домене. Попутно можно создать общие папки для всех пользователей.
Процедура настройки линуксового сервера с samba в домен Windows расписана достаточно подробно в журналах (LXF200910) и сети Интернет, поэтому смысла перетирать все это заново нет. Технология создания домашних папок пользователей описана здесь.
В процессе настройки доступа к домашней папке наступил на грабли. Прописав в smb.conf заменитель (separator) обратного слэша, я безуспешно пытался войти в созданную папку. Оказалось, заменитель надо ставить везде в конфиге (например, YOUDOMAIN+%S). После этого все заработало.
Ниже привожу свой smb.conf:
#======================= Global Settings =====
[global]

workgroup = YOUDOMAIN

server string = Samba Server

security = ads

netbios name = SHARE

log file = /var/log/samba/%m.log

max log size = 50

realm = YOUDOMAIN.LOCAL

auth methods = winbind

idmap uid = 10000-20000
idmap gid = 10000-20000

winbind separator = +

winbind enum users = Yes
winbind enum groups = Yes

winbind use default domain = Yes

;winbind offline logon = Yes

preferred master = No

panic action =

log file = /var/log/samba/log.%m
debug level = 0
syslog = 0

interfaces = 10.10.0.0/24 10.11.0.0/16

obey pam restrictions = Yes

#======================= Share Definitions ===
[homes]
valid users = YOUDOMAIN+%S
browseable = no
writable = yes
create mode = 0400
directory mode = 0700
read list = YOUDOMAIN+%S
write list = YOUDOMAIN+%S

;[data]
; path = /media/data
; valid users = Administrator, @"Domain Users"
; admin users = Administrator
; write list = @"Domain Users"
;; read list = @"Domain Users"
; inherit permissions = yes
; inherit owner = yes

2010-01-07

Подключение к Fidonet

Недавно, нарвавшись на новость о выходе новой версии пакета программ fidoip для подключения к сети Fidonet, решил установить сей пакет и заодно получить пойнта.

Установка прошла гладко, но после запуска и последующего выхода из читалки GoldED-NSF обнаружил, что процессор начинает сильно загружаться. Поковыряв, откуда у этой беды растут руки, обнаружил, что в скрипте запуска используется перекодировщик luit, который и начинает после выхода из ge бесконтрольно жрать процессорное время. А все потому, что забыли добавить ключ -x, который завершает его работу после завершения работы запускаемой им программы:
/usr/bin/luit -x -encoding koi8-r /usr/local/bin/ge

После этого все пришло в норму. На этом заморочки не закончились. После запуска gl (ge через luit) при входе в любую область (так называются папки) сначала выскакивает сообщение:
"Индексы нодлиста недоступны"

Решение проблемы в том, чтобы запустить скрипт:
/usr/local/bin/nodelist.sh

Теперь golded не ругается. Последняя найденная заморочка в том, как написать из golded в конфу, область для которой еще не создана. Для этого оказалось достаточным прописать соответствующую строчку в конфиге fidoip:
/usr/local/etc/fido/config

по аналогии с другими, существующими, областями и снова запустить gl. Вуаля, область конфы появилась в списке!

Ноду в Махачкале не нашел ( а когда-то были), получил пойнта по IP у Виталия Гейдеко из Ставрополя. Так что теперь написать мне можно и по адресу 2:5064/54.44 :) Увы, пока лишь убедился в том, что в Fidonet по нынешним временам жизнь не бурлит, среди подписанных мной, наблюдаю относительную активность только в эхо-конфах RU.ANEKDOT и RU.BINKD. Есть ли жизнь на Марсе, покажет время. В сети я всего лишь 3-4 дня, так что выводы пока делать рано...