Как поднять файловый сервер на Ubuntu Precise

Posted by

Здесь и сейчас я хочу для своих целей разобрать шаги по организации файлового сервера на своем ноутбуке системы .5 Desktop amd64. Делается это чтобы иметь возможность обмена информацией с домашними системами на базе Windows, рабочими системами и организации удобного механизма к своим скриптам по удобному конфигурированию систем. Чтобы не забыть и в случае чего повторить.
Сперва настройки локали, настройки правильного часового пояса и синхронизации времени с сервером точного времени.

Где пакет установлен из дефолтных репозитариев:

ekzorchik@srv-server:~$ sudo rm -Rf /var/lib/apt/lists/
ekzorchik@srv-server:~$ sudo apt-get update && sudo apt-get upgrade -y
ekzorchik@srv-server:~$ apt-cache show samba | grep Version

Version: 2:3.6.25-0ubuntu0.12.04.4

Version: 2:3.6.3-2ubuntu2

Установку пакета samba буду производить из дефолтных репозитариев Ubuntu Precise:

ekzorchik@srv-server:~$ sudo apt-get install samba smbclient -y
ekzorchik@srv-server:~$ smbd --version

Version 3.6.25

ekzorchik@srv-server:~$ sudo cp /etc/samba/smb.conf{,.bak}
ekzorchik@srv-server:~$ sudo nano /etc/security/limits.conf

*<TAB><TAB>-<TAB>nofile<TAB><TAB>16384

После Logoff/Logon для активации внесенных изменений.

Доступ в каталог backup будут иметь доступ только определенные:

ekzorchik@srv-server:~$ sudo mkdir -p /media/backup

ekzorchik@srv-server:~$ sudo addgroup smbshare

ekzorchik@srv-server:~$ sudo useradd -M -s /bin/false ekz

ekzorchik@srv-server:~$ sudo smbpasswd -a ekz

New SMB password: Aa1234567

Retype new SMB password: Aa1234567

Added user ekz.

ekzorchik@srv-server:~$ sudo usermod -a ekz -G smbshare

ekzorchik@srv-server:~$ sudo chown -R nobody:smbshare /media/backup/

ekzorchik@srv-server:~$ sudo chmod -R 0770 /media/backup/

Доступ в каталог script будет иметь все на запуск, но не на изменение.

ekzorchik@srv-server:~$ sudo mkdir -p /media/script

ekzorchik@srv-server:~$ sudo chown -R nobody:nogroup /media/script/

Теперь настраиваю конфигурационный файл smb.conf под себя:

ekzorchik@srv-server:~$ sudo nano /etc/samba/smb.conf

[global]

workgroup = WORKGROUP

server string = %v server (Samba, Ubuntu)

dns proxy = no

interfaces = 127.0.0.0/8 eth0

log file = /var/log/samba/log.%m

max log size = 1000

syslog = 0

panic action = /usr/share/samba/panic-action %d
security = user

encrypt passwords = true

passdb backend = tdbsam

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

pam password change = yes

map to guest = bad user
[script]

comment = My work scripts

path = /media/script

read only = no

browseable = yes

guest ok = no

hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/

[backup]

comment = My backup folder

path = /media/backup

read only = no

browseable = no

guest ok = yes

create mask = 0700

valid users = ekz

hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/

По параметрам:

  • guest ok → если Yes, то при подключении к ресурсу не будет требоваться пароль
  • read only → если Yes, то пользователь не сможет создавать или изменять файлы в этой директории.
  • valid users = ekz → только пользователь ekz может получить доступ к данной шаре.
  • Valid users = @smbshare → только пользователи группы могут получить доступ к шаре
  • rwx → чтобы пользователь мог из шары запускать файлы (bat,exe) у файлов владельцем которых он является должны быть права на это дело, либо же обозначен параметр: acl allow execute always = True

Проверяю настройки файлового сервиса:

ekzorchik@srv-server:~$ sudo testparm

[sudo] password for ekzorchik:

Load smb config files from /etc/samba/smb.conf

Processing section «[script]»

Processing section «[backup]»

Loaded services file OK.

Server role: ROLE_STANDALONE

ekzorchik@srv-server:~$ sudo service smbd restart

После на Windows системе в той же подсети (к примеру) в меню «Выполнить», Пуск — «Выполнить» (клавиатурное сочетание клавиш Win+X) указываю либо IP&DNS имя системы Ubuntu Precise где развернут Samba Server:

Обращаюсь к файловому сервису развернутому на ноутбуке Lenovo E555 После нажимаем кнопку «ОК» и в проводнике открывается ресурс с доступными расшаренными каталогами, в моем случае это каталог: script

Видимые ресурсы на файловом сервисе

Проверяю, а действительно ли каталог backup не виден к примеру при сканировании:

ekzorchik@srv-server:~$ sudo smbclient -L 192.168.1.155

Enter root’s password: 712mbddr@

Domain=[WORKGROUP] OS=[Unix] Server=[.6.25]
Sharename Type Comment

——— —- ——-

IPC$ IPC IPC Service (3.6.25 server (Samba, Ubuntu))

script Disk My work scripts

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.25]
Server Comment

——— ——-

DESKTOP

SRV-SERVER srv-server server (Samba, Ubuntu)
Workgroup Master

——— ——-

WORKGROUP DESKTOP

Итак все что по первой мне было нужно я развернул, теперь я смогу перенести данные настройки на свой ноутбук под управлением Ubuntu Precise/Trusty так и на рабочем компьютере дабы управлять вверенной мне инфраструктурой со своего рабочего места.
Теперь когда я подключаюсь к Работе со своего ноутбука посредством настроенного VPN соединения и обратившись к своему адресу выданному из VPN диапазона с работы копирую файлы на личный ноутбук.
На этом я заканчиваю, задача выполнена, с уважением Олло Александр aka ekzorchik.