mfsBSD Samba

Сборка проекта:

%mkdir mfsBSD
%git clone https://github.com/mmatuska/mfsbsd.git
%cd mfsBSD/conf
%cp rc.conf.sample rc.conf
%echo "ifconfig_em0=\"DHCP\"" >> rc.conf
%echo "samba_enable=\"YES\"" >> rc.conf
%echo "nfs_client_enable=\"YES\"" >> rc.conf
(по условиям задачи - максимально безопасим сервер = комментируем sshd)
%cp boot.loader.sample boot.loader
(меняем mfsbsd.rootpw="")
#cp /usr/local/sbin/pkg-static ${WORKDIR}/mfsBSD/tools

Как говорится в BUILD, можно воспользоваться iso готовой FreeBSD, что мы и сделаем

#mdconfig -a -t vnode -u 4 -f ~/download/Operating\ Systems/FreeBSD-10.0-RELEASE-i386-disc1.iso
#mkdir /mn/cd
#mount_cd9660 /dev/md4 /mnt/cd/

Далее нам нужно собрать все dependencies от samba36

%make -C /usr/ports/net/samba36 pretty-print-build-depends-list | cut -d \" -f 2
%mkdir ${WORKDIR}/mfsBSD/packages
#pkg create -o ${WORKDIR}/mfsBSD/packages все что выдало выше ^

P.S. т.к. python27 & python2 из зависимостей samba36 так же имеют общие компоненты, нужно подправить Makefile, приписат –forceключ в регионе .if{DPKG}

компилим mfsroot:

#make iso -DPKGNG ROOTHACK=1 BASE=/mnt/cd/usr/freebsd-dist/

P.S. если система не FreeBSD10 => нужно увеличить NKPT
P.S. если пакетов будет установлено силшком много нужно будет подправить Makefile MFSROOT_MAXSIZE?=94m, или же задать как параметр при компилировании mfsroot

Получившийся образ записываем на flash:

#dd if=${WORKDIR}/mfsBSD/mfsbsd-10.0-RELEASE-i386.iso of=/dev/da0 bs=64k

в нашем же случае он будет загружен в гипервизор vbox
P.S. minimal RAM = 512, иначе kernel panic (так написано в INSTALL, у меня же запускалось с 256)
Т.к. сей дистрибутив загружается в память, вписав конфиг однажды, он останется ровно до перезапуска системы, то есть еще один плюс в копилку безопасности – хищение флешки не принесет результатов.

Конфигурация сервера:

заходим под рутом, вписав пароль из boot.loader
добавляем samba пользователя:

#pw useradd -n kaldown -m
#passwd kaldown
New Password ****
#mkdir /usr/local/etc/samba <= сюда samba по дефлту кидает secrets.tdb
#cp /usr/local/share/examples/samba/smb.conf.default /usr/local/etc/smb.conf

Производим манипуляции с настройками samba…

%testparam

При отсутствии ошибок покажет конфиги. Того же можно добиться:

%less /usr/local/etc/smb.conf | grep -v '#' | grep -v ';'

Теперь можно добавить пользователя в базу samba

#smbpasswd -a kaldown
New Password **** <= Может быть отличен от пользователя в *nix
#service samba start

Проверяем:

#smbclient -U kaldown -L localhost

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.22]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server)
lj Printer lj
kaldown Disk Home Directories
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.22]

Server Comment
--------- -------
D610 Samba Server

Workgroup Master
--------- -------
MYGROUP

Проверка прошла успешно.

ifconfig em0, берем адрес = теперь это наш сервер.
Поздравляю.

В rc.conf в начале настроек, я добавил nfs_client, можно смонтировать его на сервер самбы, тем самым давая доступ из других машин.

Так же рассматривались системы:

Описаны в списке интересных статей

Благодарности:

  • Спасибо форуму Freebsd.org за помощь, в частности acheron за совет по добавлению pkg-static в tools/
  • Спасибо коммиттеру mmatuska за доработку проекта depenguinator и создание mfsBSD.

Интересные статьи:

Memory_File_SystemBSD_08_2011 (журнал BSDmag 08/2011)
https://forums.freebsd.org/viewtopic.php?&t=9777
http://freebsdguide.ru/_20/_6/
http://kossoff.ru/2010/4/27/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-freebsd-%D0%BD%D0%B0-usb-flash
https://www.freebsd.org/doc/en/articles/nanobsd/howto.html
https://www.freebsd.org/doc/en/articles/remote-install/preparation.html
http://mfsbsd.vx.sk/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s