Документация по ОС FreeBSD
Вторник, 18.11.2025, 15:53
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
Samba
Файловый сервер Samba с авторизацией в домене NT
Тут просили опытом поделиться, как я создал файловый сервер Samba с авторизацией в домене Windows NT 4.0 и раздаю права на папки на уровне домена.
Что ж. Тогда сразу оговорюсь на чем делал я:
1. Домен Windows NT 4.0
2. FreeBSD 5.2.1
3. Samba (исходники, в пекеджах не годятся) 2.2.8a (пробовал на ветке 3.х, работало, но были проблемы с выводом списка доменных пользователей и груп).
И так приступим.
1. Установка
Распаковываем исходники Samba:
tar -zxvf samba-2.2.8a.tar.gz
Конфигурим (параметры для дальнейшей работы критичны!):
cd \samba-2.2.8a\source
configure --with-winbind --with-winbind-auth-challenge --with-acl-support --with-syslog
Если хотите создавать дисковые квоты, то можно добавить --with-quotas, но они не будут работать пока вы не перекомпилируете ядро с поддержкой дисковых квот.
Ждем завершения.
Компилируем.
make
make modules
и инсталлируем
make install
2. Конфигурирование.
Для простоты привожу свой файл smb.conf:
#=======================
[global]
workgroup = FC
netbios name = SVALKA
server string = Garbage
hosts allow = 192.168.14. 192.168.3. 192.168.17. 192.168.18. 127.
log file = /var/log/log.%m
max log size = 500
security = domain
password server = *
encrypt passwords = yes
socket options = TCP_NODELAY
local master = no
dns proxy = no
dos charset = CP866
display charset = CP866
delete readonly = yes
username map=/usr/local/samba/lib/smbusers
idmap uid=10000-20000
idmap gid=10000-20000
winbind enum users=yes
winbind enum groups=yes
#======== Share Definitions =======
[homes]
comment = Home Directories for %u
browseable = no
writeable = yes
valid users='@FC\Domain Users'
create mask = 0775
[DiskQ]
comment = DiskQ (%u)
path = /home/mounted/diskq
browseable = no
public = no
writeable = yes
printable = no
valid users='@FC\Domain Users'
create mask = 6777
directory mask = 6777
veto files = /*.avi/*.mp*/*.jpg/*.bmp/*.gif/*.wav/
[DiskK]
comment = DiskK (%u)
path = /home/diskk
browseable = no
public = no
writeable = yes
printable = no
valid users='@FC\Domain Admins','@FC\CB_Group','@FC\TipaAdmin'
create mask = 0777
directory mask = 0777
[ForAdmins]
comment = Admins Share (%u)
path = /home/mounted/diskx
public = no
browseable = no
writeable = yes
printable = no
valid users='@FC\Domain Admins','@FC\TipaAdmin'
create mask = 6775
directory mask = 6777
[odbarchive]
comment = CopyGarbage (%u)
path = /home/archive
public = no
browseable = yes
writeable = yes
printable = no
valid users='@FC\Domain Admins','@FC\TipaAdmin'
create mask = 0775
directory mask = 0777
[Users]
comment = User Dir's (%u)
path = /home/mounted/diskq/exchange/usersdir
public = yes
browseable = yes
writeable = yes
printable = no
valid users='@FC\Domain Users'
create mask = 6777
directory mask = 6777
veto files = /*.avi/*.mp*/
#=======================
После изменения smb.conf можно попробовать зарегистрироваться в домене Windows NT.
net join -U имя_администратора_домена
команда запросит у Вас пароль админа и должна ответить положительно.
Joined domain FC. (тут должен стоять Ваш домен)
Запускаем
winbind -d9
и контролируем его работу:
команда wbinfo -p должна вернуть:
'ping' to winbindd succeeded
команда wbinfo -t должна вернуть:
checking the trust secret via RPC calls succeeded
Если это не так, заглядываем в логи winbind и разбираемся в чем дело.
Копируем библиотеку libnss_winbind.so в каталог /lib:
cp nsswitch/libnss_winbind.so /lib
создаем символические ссылки на нее:
ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.1
ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2
Изменяем файл /etc/nsswitch.conf. Он должен содержать строки вида
passwd: files winbind
shadow: files
group: files winbind
Перезапустите winbindd.
Проверяем видимость доменных пользователей и груп:
winbind -u
winbind -g
Вы должны увидеть записи типа:
.....
FC\Username1
FC\User2
FC\Name3
....
Приставка домена с "\" обязательна
- иначе нормальная раздача прав Вам не светит!
3. Автозапуск файлового сервера
Теперь осталось настроить все для автоматического запуска сервера. Можно запускать демонов самбы при запуске, но разумней (а возможно и правильней) будет запускать сервисы по мере обращения к ним. Соответственно мы получим запуск сервисов под учетными записями пользователей в домене НТ.
Для это в /etc/inetd.conf добавляем (или исправляем):
netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd
netbios-ns dgram udp wait root /usr/local/samba/sbin/nmb
А в /etc/rc.local:
/usr/local/samba/sbin/winbindd -B
Кстати если запускать не от рута, то ничего не работает. Почему?
После чего соединяемся с ресурсом со станции Windows уже зашедшего пользователя домена НТ и делаем на Юниксе команду
top
Вот приблизительній результат:
last pid: 69416; load averages: 0.08, 0.03, 0.01 up 22+02:29:33 14:08:54
115 processes: 1 running, 114 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle
Mem: 125M Active, 232M Inact, 97M Wired, 28M Cache, 60M Buf, 15M Free
Swap: 1024M Total, 100K Used, 1024M Free
Order to sort: tal, 100K Used, 1024M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
390 root 96 0 23572K 20200K select 8:54 0.20% 0.20% winbin
54341 FC\JackSoft 96 0 13712K 9040K select 1:16 0.00% 0.00% smbd
397 root -8 0 7036K 3408K piperd 0:16 0.00% 0.00% winbin
68680 FC\SurgkoAN 96 0 8924K 4072K select 0:03 0.00% 0.00% smbd
Если есть такая картина и юзер зашел! Идем пить пиво!
4. Раздача прав на папки.
Тут все просто. Раздавайте себе права на уровне Юникса, но прописывайте сразу доменных юзеров и группы. Например,
chown FC\JackSoft DiskK
chown :FC\Domain Admins ForAdmins
и т.д.
5. Квотирование диска.
Квоты раздаются на уровне ОС FreeBSD в файле /etc/fstab:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1f /home ufs rw,userquota,groupquota
/dev/ad0s1e /usr ufs rw 2 2
/dev/ad0s1d /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad2s1d /home/mounted/diskq ufs rw,userquota,groupquota
/dev/ad2s1e /home/mounted/diskx ufs rw,userquota,groupquota
проверяем работает ли квота:
quota -v
, а уже потом создаются/меняются для группы и ли пользователя:
edquota FC\JackSoft
man edquota
редактируем тектстовый файл и записываем его.
Все квота изменена.
P.S. Установленная система так работает уже пол-года. Скорость файлового сервера на Юниксе на порядок выше чем тот же сервак на Винде. Дело стоит заморочек с переносом.
Автор:
JackSoft
Категория:
Samba
| Добавил:
oleg
(10.11.2007)
Просмотров:
1818
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025