Samba е комплект от приложения, които комуникират със SMB (Server Message Block) протокола. Много операционни системи, включително Windows и ОС/2, използват SMB за изпълняване на клиент-сървър мрежата. С поддръжката на този протокол, Samba позволява на Unix сървърите да влизат в действие, да комуникират със същият мрежов протокол, който ползва и Windows
Samba пакета в Дебиан
Този пакет съдържа всички нужни компоненти за включването на вашият Debian GNU/Linux към мощният file and printer сървър.
Обикновено, Samba пакетите в Дебиан са:
- samba - като file and printer сървър в Unix
- samba-common – използва се и от сървъра и клиента
- smbclient – лесен клиент за Unix.
- swat - Samba Web Administration Tool
- samba-doc – документацията на Samba
- smbfs - Mount и umount команди за smbfs (kernels 2.2.x и нагоре).
- libpam-smbpass - pluggable модул за автентичност за SMB password database
- libsmbclient – Споделени библиотеки, които разрешават на приложенията да комуникират със SMB сървъра
- libsmbclient-dev - libsmbclient shared libraries
- winbind: Уаслуга за анализиране на потребите и групи от Windows NT сървъри
- python2.3-samba
Не е нужно да ги инсталирате всичките, а само тези, които отговарят на нуждите ви. Примерно, за да имате достъп до други SMB сървъри, вие може да инсталирате само smbclient и samba-common
Инсталиране на Samba в Дебиан
- Код за потвърждение: Избери целия код
apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient
Ще ви бъдат зададени някои основни въпроси свързани с конфигурацията на samba-та, като например за workgroup или domain и т.н.
Задаваме има на хоста и неговото IP
- редактираме /etc/hosts
- Код за потвърждение: Избери целия код
127.0.0.1 localhost.localdomain localhost aku
192.168.0.100 samba.example.com aku
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
- задаваме hostname
- Код за потвърждение: Избери целия код
echo samba.example.com > /etc/hostname
/bin/hostname -F /etc/hostname
Инсталиране на quota
- Код за потвърждение: Избери целия код
apt-get install quota
Променяте в /etc/fstab опциите при монтирането на / и /home, като добавите userquota и grpquota, т.е. трябва да ви изглежда така
- Код за потвърждение: Избери целия код
/dev/hdaX / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1
/dev/hdaX1 /home ext3 defaults,usrquota,grpquota 0 2
където:
-hdX e root дяла ви
-hdX1 е /home дяла ви
След това изпълняваме
- Код за потвърждение: Избери целия код
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
touch /home/quota.user /home/quota.group
chmod 600 /home/quota.*
mount -o remount /home
quotacheck -avugm
quotaon -avug
Подготовка на директориите и потребителите
- Код за потвърждение: Избери целия код
mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
mkdir /var/spool/samba
chmod 777 /var/spool/samba/
chown -R root:users /home/samba/
chmod -R 771 /home/samba/
Сега трябва да се създадем потребител, който да има достъп до тази директория, както и администратор
- Код за потвърждение: Избери целия код
useradd ngile -m -G users
Задаваме парола на този потребител
- Код за потвърждение: Избери целия код
smbpasswd –a ngile
smbpasswd –a root
echo "root = Administrator" >/etc/samba/smbusers
Създаване на споделение директории
- Код за потвърждение: Избери целия код
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Променяме реда hosts на /etc/nsswitch.conf да изглежда така
- Код за потвърждение: Избери целия код
hosts: files wins dns
Задаваме IP-та, които ще имат достъп до Samba във файла /etc/hosts
- Код за потвърждение: Избери целия код
192.168.0.10 aku
192.168.0.11 debian
Настройка на конфигурационният файл на samba
Конфигурационният файл се намира в /etc/samba/smb.conf. В този файл, главната секция е Global, в която се дефинират всички параметри. Примерно
- Код за потвърждение: Избери целия код
[global]
workgroup = DEBIAN
netbios name = AKU
server string = %h server (Samba, Debian)
passdb backend = tdbsam
security = user
username map = /etc/samba/smbusers
name resolve order = wins bcast hosts
domain logons = yes
preferred master = yes
wins support = yes
# Set CUPS for printing
printcap name = CUPS
printing = CUPS
# Default logon
logon drive = H:
# logon script = scripts/logon.bat
logon path = \\server1\profile\%U
# Useradd scripts
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usermod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
# sync smb passwords woth linux passwords
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
passwd chat debug = yes
unix password sync = yes
# set the loglevel
log level = 3
[homes]
comment = Home
valid users = %S
read only = no
browsable = no
[printers]
comment = All Printers
path = /var/spool/samba
printable = yes
guest ok = yes
browsable = no
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
За да проверим конфигурационият файл дали е правилен, трябва да изпълниме следната команда:
- Код за потвърждение: Избери целия код
testparm
За да влезнат промените в сила, трябва да рестартираме samba-та, т.е.
- Код за потвърждение: Избери целия код
/etc/init.d/samba restart
Ако искате да прибавите повече опции в конфигурационият файл, може да прочетете man page на smb.conf
Проверка на конфигурацията на samba
Ако искаме да проверим дали конфигурацията на samba-та с потребител ngile е правилна, трябва да изпълним
- Код за потвърждение: Избери целия код
smbclient -L //aku -U%
Трябва да видите нещо подобно на
- Код за потвърждение: Избери целия код
red@debian:~$ smbclient -L //aku -U kulu
Password:
Domain=[DEBIAN] OS=[Unix] Server=[Samba 3.0.14a-Debian]
Sharename Type Comment
--------- ---- -------
netlogon Disk Network Logon Service
allusers Disk All Users
IPC$ IPC IPC Service (samba server (Samba, Debian))
ADMIN$ IPC IPC Service (samba server (Samba, Debian))
kulu Disk Home
Domain=[DEBIAN] OS=[Unix] Server=[Samba 3.0.14a-Debian]
Server Comment
--------- -------
AKU samba server (Samba, Debian)
Workgroup Master
--------- -------
DEBIAN
Задаване на подразбиращата се домейн група за Windows
- Код за потвърждение: Избери целия код
net groupmap modify ntgroup="Domain Admins" unixgroup=root
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup
Настройка на Windows
Трябва да се автентикира всяка работна машина, т.е. всеки Windows, който ще се връзва към SMB. Това става като се логнете с всеки user, който има административни привилегии и
[Windows 2000] Start -> Settings -> Control Panel -> System -> Network Identification -> Properties -> Member of -> Domain ->тука пишем domain name, което сме записали в 'workgroup' секцията на smb.conf (в нашият случай debian)-> ok
Въведете root username и password за фаиловият Samba сървър.
Източник: Основен



