# Пример установки и первичного конфигурирования Samba на примере релиза 3.2.4 и Solaris 10

Нурлан Мухамедьевич Тлеушев

Это практически пошаговая инструкция для тех, кто делает первые шаги в/к Самбе.

Пример установки и первичного конфигурирования Samba на примере релиза 3.2.4 и ОС Solaris 10


Тащить дистры отсюда: http://samba.org


Перед тем как тащить, необходимо проверить зависимости Самбы, и версию Солярис (8,9,10)


Для этого релиза, например, пришлось тащить следующие пакеты: libgcc-3.4.6, libiconv-1.11, popt-1.14, libintl-3.4.0, readline-5.2, ncurses-5.6


Также необходимо быть уверенным, что вы тащите пакеты под свою платформу (SPARC или x86/x64)


для солярис 10 ставим так (разница в установке от других версий Солярис в ключике -G)


pkgadd -G -d libgcc-3.4.6-sol10-sparc-local

pkgadd -G -d libiconv-1.11-sol10-sparc-local

pkgadd -G -d popt-1.14-sol10-sparc-local

pkgadd -G -d libintl-3.4.0-sol10-sparc-local

pkgadd -G -d readline-5.2-sol10-sparc-local

pkgadd -G -d ncurses-5.6-sol10-sparc-local

pkgadd -G -d samba-3.2.4-sol10-sparc-local


потом выполняем команды:

ln -s /usr/local/samba/lib/libtalloc.so /usr/lib/libtalloc.so

ln -s /usr/local/samba/lib/libtdb.so /usr/lib/libtdb.so

ln -s /usr/local/samba/lib/libwbclient.so /usr/lib/libwbclient.so

они нужны для правки бага


эти две строки добавляем в /etc/inetd.conf для того, чтобы потом Самбой можно было "рулить" по HTTP (Порт 901. Например, http://192.168.1.16:901)

# Samba SWAT

swat stream tcp nowait root /usr/local/samba/sbin/swat swat


потом выполнить команду inetconv


после этого необходимо создать конфигурационный файл /usr/local/samba/lib/smb.conf


Пример:

# Samba config file by TNM_2004@mail.ru


# Global parameters

[global]

unix charset = CP1251

display charset = CP1251

workgroup = My_DoMaIn_NaMe

netbios name = My_SeRvEr_NaMe

encrypt passwords = Yes

log file = /usr/local/samba/lib/samba.log

time server = Yes

logon script = smblogon.bat

logon path = \\%N\profiles\%U

logon drive = u:

logon home = \\%N\profiles\%U

domain logons = Yes

os level = 33

preferred master = Yes

domain master = Yes

ldap ssl = no

security = user


[common]

path = /export/profiles/common

read only = No

create mask = 0770

directory mask = 0770


[netlogon]

path = /export/profiles/netlogon

write list = root

read only = Yes

create mask = 0750

directory mask = 0750


[profiles]

path = /export/profiles

read only = No

create mask = 0700

directory mask = 0700


В данном примере кроме собственно основных настроек Самбы создаются следующие Shares: profiles, netlogon, common


Для того, чтобы ваша Самба заработала с ЭТИМ конфигом необходимо наличие следующих директорий:

/export/profiles - здесь будут жить ваши пользователи (пример: /export/profiles/sidorov)

/export/profiles/common - это будет общедоступный сетевой диск M:\

/export/profiles/netlogon - здесь должен лежать одни скрипт, который будет выполняться у пользователя во время логина (например для того, чтобы примонтировать его домашний каталог к диску U:\)


Пример создания двух групп:

groupadd -g 1000 smbuser - группа для пользователей

groupadd -g 3000 smbpc - группа для персоналок


mkdir -p /export/profiles/common/Distributiv

chmod 1770 /export/profiles

chmod 1770 /export/profiles/common

chmod 1700 /export/profiles/common/Distributiv

chgrp -R 1000 /export/profiles/

mkdir /export/profiles/netlogon

chmod 750 /export/profiles/netlogon


Создаем такой файл:

cat /etc/init.d/samba

#!/sbin/sh

#

# Copyright (c) 2007 by TNM_2004@mail.ru

# All rights reserved.

#

case "$1" in

start)

[ -f /usr/local/samba/lib/smb.conf ] || exit 0


/usr/local/samba/sbin/nmbd -D

/usr/local/samba/sbin/smbd -D

/usr/local/samba/sbin/winbindd -D

;;

stop)

pkill smbd

pkill nmbd

pkill winbindd

;;

*)

echo "Usage: $0 { start | stop }"

exit 1

;;

esac

exit 0


Делаем на него:

chmod +x /etc/init.d/samba


ln /etc/init.d/samba /etc/rc3.d/S90samba

ln /etc/init.d/samba /etc/rc2.d/K90samba

ln /etc/init.d/samba /etc/rc1.d/K90samba

ln /etc/init.d/samba /etc/rcS.d/K90samba

ln /etc/init.d/samba /etc/rc0.d/K90samba


теперь стартуем наше детище

/etc/init.d/samba start


smbpasswd -x root (это насильное удаление пользователя root из Самбы. Не помню зачем, но это стОит сделать)

а теперь уже добавляем

smbpasswd -s -a root

Эта команда создаст пользователя и заодно запросит для него пароль


Еще выйдет куча ругательств, что какой-то файл не существовал, но был успешно создан - это файл паролей Самбы - аналог /etc/passwd и /etc/shadow в одном флаконе


Плюс ко всему необходимо создать пользователей для Solaris и Samba, включая root и машины с виндами


Далее делаем маппинг групп

net groupmap cleanup

net groupmap add ntgroup="Domain Admins" unixgroup=root rid=512 type=d

net groupmap add ntgroup="Domain Users" unixgroup=smbuser rid=513 type=d

net groupmap add ntgroup="Domain Computers" unixgroup=smbpc rid=515 type=d


useradd -g 3000 -u 3001 pc01$

smbpasswd -a -m pc01$

useradd -g 3000 -u 3002 pc02$

smbpasswd -a -m pc02$

и т.д. (тут знак доллара в конце обязателен)


Создаем пользователей для людей:

useradd -g smbuser -u 1001 -d /export/profiles/sidorov sidorov

smbpasswd -a sidorov

useradd -g smbuser -u 1002 -d /export/profiles/petrov

smbpasswd -a petrov

и т.д.


вроде ВСЕ, остается "загнать" машины в домен и "запустить" юзеров


ДОПОЛНИТЕЛЬНО:

Что надо сделать на машинах с Windows XP при использовании пакета Samba версии ниже, чем 3

Configuring the Windows XP Client:


Notes : Only Windows XP-Professional Edition can join the Domain, it does not work for WindowsXP-Home Edition.


STEPS:


1) Make sure that the workstation belonged to the same workgroup as the server and have a fixed IP address and hostname assigned.


2) Change the registry entry, run the command regedt32 and do the below

a) RequireSignOrSeal Registry hack


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters

"RequireSignOrSeal"=dword:00000000


b) Use the Registry Editor and edit the

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System\CompatibleRUPSecurity to have the DWORD value of 1


3) Use the Group Policy Editor (gpedit.msc) and enable "Computer Configuration\Administrative Templates\System\User Profiles\Do not check for user ownership of Roaming Profile Folders".


4) Go to MyComputer right click Properties. Go to Change and click on Domain and enter the domain-name you want to join. When joining the domain for the First time enter userid as root and give the samba password. Make sure there is an entry for the root in the smbpasswd (samba password) file.


5) Reboot and then the changes will be effective.