< [ на главную ]

Samba-сервер в одноранговой сети. Персональные общие папки.

Содержание:
1. Особенности данного примера
2. Начальные допущения
3. Создаем пользователей файл-сервера
4. Создание общих ресурсов и назначение прав
5. Конфигурирование сервера Samba, запуск и проверка в работе
6. Подключение windows-клиентов
7. Полезные команды для администрирования файл-сервера Samba

1. Особенности данного примера

Этот пример будет удобен, если вы администрируете одноранговую сеть, где клиентами являются компьютеры с установленной на них ос Windows, файловым сервером будет выступать сервер Samba. Если в вашей сети до 15-20 компьютеров, это решение вполне может вам пригодиться.

Особенности данного случая в следующем:
- для каждого пользователя будет заведена личная папка на файл-сервере;
- данная папка будет подключаться как сетевой диск, пользователи не могут иметь доступ в папки других пользователей;
- один пользователь, это может быть директор, либо руководитель подразделения, может просматривать папки всех пользователей.

2. Начальные допущения

Начальные условия для нашей сети:
- в сети нет сервера dhcp, все адреса статические;
- имя рабочей группы firma;
- имя NetBIOS имя компьютера с установленным на нем ALD5 altfileserver.

Сотрудники фирмы:

Пользователь
Учетная запись
Пароль
Имя личной папки
Каталог на файл-сервере
Рабочая станция
 Иван Иваныч  director
 dirIvan1  director
 /firmafiles
 win7boss
 Петр Авдеич  finansist
 finPetr2  finansist  /firmafiles/finansist  win7fin
 Зоя Федоровна  buhgalter  buhZoya3  buhgalter  /firmafiles/buhgalter
 winXPbuh


3. Создаем пользователей файл-сервера

Создадим группу на файл-сервере, куда потом поместим всех наших сотрудников
Код:
#groupadd firmastaff

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

Код:
# useradd -m -G firmastaff -c "Иван Иваныч" director
# passwd director
Enter new password:
Re-type new password:

# smbpasswd -a director
New SMB password:
Retype new SMB password:
Added user director.

Повторяем эту операцию для всех пользователей.

4. Создание общих ресурсов и назначение прав

Теперь создадим папки и раздадим права следующим образом:

Код:
# mkdir -p /firmafiles
# chown director /firmafiles
# for i in finansist buhgalter
> do
> mkdir -p /firmafiles/$i
> chown $i /firmafiles/$i
> done
# chgrp -R firmastaff /firmafiles
# chmod -R ug+rwx,o-r+x /firmafiles

В итоге получили такие разрешения и владельцев:
Код:
# ls -l / | grep firmafiles
drwxrwx--x   5 director firmastaff  4096 Jul  3 11:24 firmafiles
#cd firmafiles
ls -l
drwxrwx--x 2 buhgalter firmastaff  4096 Jul  3 11:24 buhgalter
drwxrwx--x 2 finansist firmastaff  4096 Jul  3 11:24 finansist

5. Конфигурирование сервера Samba, запуск и проверка в работе

Файл /etc/samba/smb.conf заполняем примерно таким содержимым:

Код:
[global]
workgroup = firma
netbios name = altfileserver
server string = files on %h
log file = /var/log/samba/log.%m
max log size = 50

[files]
comment = мои данные
path = /firmafiles/%U
read only = No

[director]
comment = для руководства
path = /firmafiles
valid users = director
read only = No

Теперь говорим Samba быть запущеной при старте системы и запускаем ее:

Код:
# chkconfig --level 35 smb on
# service smb start

Проверим, можем ли мы подключиться к общему ресурсу пользователем director:
Код:
# smbclient -L //altfileserver/director -Udirector
Password:
Domain=[ALTFILESERVER] OS=[Unix] Server=[Samba 3.0.37]

        Sharename       Type      Comment
        ---------       ----      -------
        my files        Disk      мои данные
        director        Disk      для руководства
        IPC$            IPC       IPC Service (files on altserver)
Domain=[ALTFILESERVER] OS=[Unix] Server=[Samba 3.0.37]

        Server             Comment
        ---------            -------

        Workgroup     Master
        ---------            -------
        FIRMA

А также попробуем войти в общий ресурс и посмотреть, что у нас там есть:
Код:
# smbclient //altfileserver/director -Udirector
Password:
Domain=[ALTFILESERVER] OS=[Unix] Server=[Samba 3.0.37]
smb: \> dir
  .                                   D        0  Sat Jul  3 11:24:34 2010
  ..                                  D        0  Sat Jul  3 11:21:14 2010
  buhgalter                     D        0  Sat Jul  3 12:41:42 2010
  finansist                       D        0  Sat Jul  3 12:08:27 2010

Так вы можете подключиться как локально, так и из из другой linux-системы.

6. Подключение windows-клиентов

Создаем пользователей на windows-машинах обычными средствами windows, назначаем такой же пароль, как в нашей таблице и изменяем рабочую группу (Win+Pause-->Свойства Системы-->Имя компьютера-->Изменить) на FIRMA и перезагружаем компьютер.

После этого в сетевом окружении мы видим компьютер Altfileserver, а в нем две общие папки - director и my files

Директор Иван Иваныч не может войти в папку my files по той причине, что она ведет в папку /firmafiles/имя_пользователя, а для Иван Иваныча мы такой личной папки не создавали. Зато из папки director он может попасть в личные папки своих сотрудников.

Сотрудники же, finansist Петр Авдеич и buhgalter Зоя Федоровна попадают в папку my files, она является папками соответственно /firmafiles/finansist и /firmafiles/buhgalter на файл-сервере.Подробно останавливаюсь на этом моменте, так как сначала сам не очень понял, что и как. В папку director сотрудники могут попасть, только если им станет известен пароль Иван Иваныча.

Ну и соответственно такой общий личный ресурс разумнее будет присоединить как сетевой диск каждому сотруднику.

7. Полезные команды для администрирования файл-сервера Samba

Утилита pdbedit отличный инструмент для просмотра и управления учетными записями Samba.
Так вы можете просмотреть список пользователей
Код:
# pdbedit -L
director:501:Иван Иваныч
finansist:502:Петр Авдеич
buhgalter:503:Зоя Федоровна

С ключом -v вы получите более полную информацию по всем пользователям.

Так вы можете получить исчерпывающую информацию по конкретному пользователю:
Код:
# pdbedit finansist -v
Unix username:        finansist
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-527598915-2164087957-3919656602-2004
Primary Group SID:    S-1-5-21-527598915-2164087957-3919656602-513
Full Name:            Петр Авдеич
Home Directory:       \\altfileserver\finansist
HomeDir Drive:
Logon Script:
Profile Path:         \\altfileserver\finansist\profile
Domain:               ALTFILESERVER
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    Sat, 03 Jul 2010 11:17:17 YAKST
Password can change:  Sat, 03 Jul 2010 11:17:17 YAKST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Мы можем отключить учетную запись finansist
Код:
# pdbedit -c "[D]" -u finansist
Unix username:        finansist
NT username:
Account Flags:        [DU         ]
User SID:             S-1-5-21-527598915-2164087957-3919656602-2004
Primary Group SID:    S-1-5-21-527598915-2164087957-3919656602-513
...
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

При этом в строке Account Flags: появилось значение D

Или включить:
Код:
# pdbedit -c "[E]" -u finansist

Так вы можете создать пользоватлея Samba (не забудьте предварительно создать его в самой системе):
Код:
# pdbedit -a -u ekonomist
new password:
retype new password:

А так обратно его удалить
Код:
# pdbedit -x -u ekonomist

Следующей командой вы можете просмотреть все smb-ресурсы вашей сети:
Код:
# smbtree
Password:
FIRMA
        \\WINXPBUHG                     íÒÕúá½ÔÑÓ
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine WINXPBUHG.  Error was NT_STATUS_ACCESS_DENIED
        \\WIN7FIN                       õ¿¡á¡ß¿ßÔ
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine WIN7FIN.  Error was NT_STATUS_ACCESS_DENIED
        \\WIN7BOSS                      í«ßß
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine WIN7BOSS.  Error was NT_STATUS_ACCESS_DENIED
        \\ALTFILESERVER                 files on altserver
                \\ALTFILESERVER\IPC$            IPC Service (files on altserver)
                \\ALTFILESERVER\director        для руководства
                \\ALTFILESERVER\my files        мои данные

Очевидно, что Samba не понимает комментарии к вашим компьютерам на кириллице, это же кстати относится и к секции файла smb.conf
Код:
server string = files on %h

Не пишите сюда что-либо по русски

Команда smbstatus покажет вам текущие соединения к общим ресурсам сервера
Код:
# smbstatus

Samba version 3.0.37
PID     Username      Group         Machine
-------------------------------------------------------------------
29876   director      director      win7boss     (192.168.1.8)
29557   buhgalter     buhgalter     winxpbuhg    (192.168.1.3)

Service      pid     machine       Connected at
-------------------------------------------------------
director     29876   win7boss      Sat Jul  3 12:40:41 2010
my files     29557   winxpbuhg    Sat Jul  3 12:31:46 2010

Locked files:
Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
29876        501        DENY_NONE  0x100001    RDONLY     NONE             /firmafiles   .   Sat Jul  3 12:40:43 2010
29557        503        DENY_NONE  0x81            RDONLY     NONE             /firmafiles/buhgalter   папки для бухгалтерии   Sat Jul  3 12:42:00 2010

Мы видим полную картину

С ключом -b мы увидим краткую картину
с ключом -S только список общих файлов
с ключом -u имя_пользователя, увидим, куда подключен конкретный пользователь:
Код:
# smbstatus -u director

Samba version 3.0.37
PID     Username      Group         Machine
-------------------------------------------------------------------
29876   director      director      win7boss     (192.168.1.8)

Service      pid     machine       Connected at
-------------------------------------------------------
director     29876   win7boss      Sat Jul  3 12:40:41 2010

Locked files:
Pid          Uid        DenyMode       Access         R/W           Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
29876    501        DENY_NONE   0x100001    RDONLY     NONE              /firmafiles   .           Sat Jul  3 12:40:43 2010


Тренин Сергей , aka greyzy
03.07.2010

< [ на главную ]




Hosted by uCoz