Показаны сообщения с ярлыком Samba. Показать все сообщения
Показаны сообщения с ярлыком Samba. Показать все сообщения

вторник, 18 декабря 2007 г.

SAMBA (Domain controller) Server For Small Workgroups With Ubuntu 7.10

Вольный перевод статьи из HowtoForge.
Оригинал...

В статье описывается один из вариантов установки file- и print-сервера для малого и среднего предприятия до 250 пользователей. Для хранения паролей и информации об аккаунтах пользователей используется Samba с поддержкой tdb.

Что будем ставить:
1. Samba как доменконтроллер

Войдем в режим root командой:
sudo -s -H

Настройка сети.

(K)ubuntu 7.10 при установке настраивает сеть на использование DHCP, т.е присваивает компьютеру динамический адрес. Серверу нужно иметь постоянный (static) адрес, поэтому нам нужно исправить сетевые настройки. Допустим, что наш сервер будет иметь адрес 192.168.0.100. Редактируем файл /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
mapping hotplug
script grep
map eth0

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

Чтобы изменения вступили в силу необходимо перегрузить сетевую подсистему:
/etc/init.d/networking restart

Теперь нужно изменить /etc/hosts, чтобы имя сервера соответствовало реальному IP, т.е. добавляем строчку типа:
192.168.0.100    server1.example.com    server1

Настраиваем Hostname:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh
echo '192.168.0.100 server1.example.com' >> /etc/hosts

Для ограничения дискового пространства пользователей установим пакет quota:
aptitude install quita
Добавим в /etc/fstab параметры usrquota и grpquota в описание нужного раздела, например:

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sda1
UUID=226d9304-88ca-44c0-a3e3-d1ad26cfc084 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1
# /dev/sda5
UUID=d824ce36-04b8-4870-83f4-f1a5037c2de4 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/ /media/floppy0 auto rw,user,noauto 0 0

Теперь нужно создать файлы quota.user и quota.group
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Команда quotacheck выведет ошибку:
quotacheck: WARNING - Quotafile //quota.user was probably truncated. Cannot save quota settings...
quotacheck: WARNING - Quotafile //quota.group was probably truncated. Cannot save quota settings...
Это нормально для первого запуска, не обращайте внимания.

Установка Samba.
aptitude install libcupsys2 samba samba-common samba-doc smbclient winbind cupsys-common
Отредактируем файл /etc/samba/smb.conf. Должно получиться что-то вроде этого:

[global]
workgroup = MYWORKGROUP
netbios name = SERVER1
server string = %h server (Samba, Ubuntu)


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
load printers = yes
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/adduser --quiet --disabled-password --gecos "" %u
add user script = /usr/sbin/useradd -m '%u' -g users -G users
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/usernod -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
template shell = /bin/bash


# 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 *password\supdated\ssuccessfully* .
passwd chat debug = yes
unix password sync = yes

# set the loglevel
log level = 3

[public]
browseable = yes
public = yes


[homes]
comment = Home
valid users = %S
read only = no
browsable = no


[printers]
comment = All Printers
path = /var/spool/samba
printable = yes
public = no
writable = no
create mode = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
write list = root, @smbadmin


[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
guest ok = yes
writable = no
share modes = no


[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
guest ok = no


Создадим директории для domain logons и profiles:
mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
chmod 777 /var/spool/samba/
chown -R root:users /home/samba/
chmod -R 771 /home/samba/

Перезапустим сервис Samba:
/etc/init.d/samba restart
В файле /etc/nsswitch.conf нужно изменить строку:
hosts: files dns
на
hosts: files wins dns
Добавить все компьютеры группы в /etc/hosts:
192.168.0.100 server1 server1.example.com
192.168.0.110 workstation1
192.168.0.111 workstation2
192.168.0.112 workstation3
192.168.0.113 workstation4
Теперь добавим пользователя root (alias: Administrator), он будет domain-адиминистратором для добавления новых машин в Samba domain.
smbpasswd -a root
Создадим файл /etc/samba/smbusers и добавим в него такую запись:
echo "root = Administrator" > /etc/samba/smbusers
Создадим дефолтные доменные группы для виндов:
net groupmap add ntgroup="Domain Admins" unixgroup="root" type=domain -U root
net groupmap add ntgroup="Domain Users" unixgroup="users" type=domain -U root
net groupmap add ntgroup="Domain Guests" unixgroup="nogroup" type=domain -U root
Для примера добавим в наш домен пользователя tom с паролем secret:
net rpc user add tom -U root
net rpc user password tom "secret" -U root
smbpasswd -e tom
Создадим общий для всех пользователей домена каталог:
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Добавим его в конфигурационный файл Samba /etc/samba/smb.conf:
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
Перезапустим сервис Samba:
/etc/init.d/samba restart

вторник, 13 ноября 2007 г.

Ubuntu 7.10 (Gutsy Gibbon) Samba Standalone Server With tdbsam Backend

Вольный перевод статьи из HowtoForge.

источник...

В этой статье объясняется как установить Samba файл-сервер на Ubuntu 7.10, как настроить раздачу файлов по SMB протоколу и как добавить пользователей.

Для установки я буду использовать дистрибутив Ubuntu Server,
но все те же действия можно выполнить и в обычном (K)ubuntu desktop дистрибутиве.
По окончании установки каждый пользователь будет иметь свой домашний каталог, доступный через SMB протокол и все пользователи будут имет доступ на чтение/запись в общий каталог.

Установка Самбы.

Откройте консоль, введите команду:
sudo su
и введите пароль пользователя, созданного в процессе установки Ubuntu.

Установите пакеты для Samba:
apt-get install libcupsys2 samba samba-common

Отредактируйте файл конфигурации smb.config:
vi /etc/samba/smb.conf

В секции [Global] уберите символ комментария перед строкой
security = user
чтобы пользователи системы могли логинится к Samba серверу.

Сохраните файл и перегрузите Samba:
/etc/init.d/samba restart

Добавляем общий каталог в Samba.

Теперь добавим расшаренный каталог, доступный всем пользователям.
Создадим директорию для общих файлов и дадим ей нужные права:

mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers
chmod -R ug+rwx,o+rx-w /home/shares/allusers

В конец файла конфигурации Samba /etc/samba/smb.conf добавим секцию для этого каталога:

[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes

Чтобы все пользователи могли читать и писать в свои домашние каталоги через самбу, нужно изменить секцию [homes]:

[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700

Рестартуем самбу:
/etc/init.d/samba restart

Добавление пользователей.

Для примера, добавим пользователя tom. Вы можете добавить еще пользователей, просто изменив имя tom, на нужное в следующей комманде:

useradd tom -m -G users


Установим пароль для пользователя tom. Если пользователь не должен логинится в Linux, этот шаг можно пропустить:

passwd tom

(введите пароль)

Добавим пользователя в самбу:

smbpasswd -a tom

(введите пароль пользователя)

Теперь Вы можете зайти на Linux машину через SMB со своей Windows машины, используя имя пользователя tom и работать с файлами как в домашнем каталоге пользователя tom, так и в общем каталоге.