Пример установки и первичного конфигурирования 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.