Файловый сервер

В общем решил сделать файловый сервер на Ubuntu 10.10. Остановился на nfs и samba, так как в сети находятся компьютеры под управлением как Linux, так и Windows. Для этого создал в домашней директории сервера папку

# mkdir /home/user/Files

которую и сделал общей.

Настройки nfs

# apt-get install nfs-kernel-server nfs-common portmap
nano /etc/exports

В /etc/exports добавляю строку

/home/user/Files 192.168.1.1/255.255.255.0(rw,no_root_squash,async,subtree_check)

Перезагружаем nfs сервер

/etc/init.d/nfs-kernel-server restart

На клиентах под управлением ОС Linux делаем

# apt-get install portmap nfs-common
# nano /etc/fstab

И дописываем в /etc/fstab строку

192.168.1.1:/home/user/Files /home/user/Files nfs proto=udp,rsize=32768,wsize=32768,intr,noatime 0 0

Теперь необходимо расшарить эту же папку для компьютеров под управлением Windows. Тут используем samba. Мой конфигурационный файл

[global]
netbios name = fileserver
server string = Ubuntu Linux
workgroup = MSHOME
security = user
interfaces = 192.168.1.1/24 eth1
bind interfaces only = yes
log file = /var/log/samba/samba.log
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
domain master = no
preferred master = no
os level = 0
usershare owner only = false
guest ok = yes
available = yes
browseable = yes
public = yes
writable = no
path = /home/user/Files

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

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

Создаем пользователя samba и добавляем его в группу users

# useradd samba -m -G users
# passwd samba

Пароль ставим любой, так как данная учетная запись нам не понадобится больше. Далее создаем пароль samba-пользователя

# smbpasswd -a samba

Данный пароль понадобится нам для доступа в файловому серверу.

Перезапускаем сервис samba

# service smbd restart

Настраиваем Windows-клиенты, где указываем путь до сервера как

192.168.1.1/Files

Затем вводим логин и пароль. Файлообменная сеть настроена.

Но тут возникла проблема. При создании или копировании документа на сервер с Windows-клиента все проходило прекрасно, но Linux-клиенты не могли данный кокумент даже просмотреть, хотя и подключены с правами суперпользователя. Приходилось вручную менять права. Временно решил проблему так. Создал скрипт /bin/prava

#!/bin/bash
cd /home/user
chmod 777 -R Files

Сделал его исполняемым

# cd /bin
# chmod a+x prava

И прописал в cron запуск скрипта каждую минуту. Для этого выполнил

# crontab -e -u root

и дописал в конце файла следующую строку.

0-59 * * * * /bin/prava

Сохраняем файл и перезапускаем cron

# /etc/init.d/cron restart

2 thoughts on “Файловый сервер

  • Posted on 06.06.2011 at 11:06

    Настроил nfs по приведенной здесь инструкции. Всё работает, кроме того, что файлы нельзя изменять. Создавать, читать и удалять можно.
    В /etc/exports добавлена строка
    /home/user/Files 192.168.1.1/255.255.255.0(rw,no_root_squash,async,subtree_check)
    Здесь видим право rw.
    Nfs-сервер на Ubuntu 10.04 LTS (является прокси-сервером), nfs-клиенты на Alt Linux Junior 5.0.1.

    • Posted on 01.08.2011 at 01:45

      Вроде, заработало.
      В /etc/exports изменил немного:
      /home/user/Files 192.168.1.1/255.255.255.0(rw,all_squash,anonuid=1000,anongid=1000,async,subtree_check).

Добавить комментарий