четверг, 26 января 2012 г.

Установка и настройка NFS в Debian и Ubuntu

Настройка СЕРВЕРА


Устанавливаем NFS-сервер:

  $sudo apt-get install nfs-kernel-server nfs-common portmap

Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:

  $sudo nano -w /etc/exports

В приведенном ниже примере я выделил директорию /home/user (директория с данными на сервере) в совместное пользование компьютерам с IP – 192.168.24.1-255 правами чтения и записи:

/home/user 192.168.24.1/24(rw,subtree_check,async)

Опции:

ro – права только на чтение. Можно и не указывать, так как она установлена по умолчанию.

rw – дает клиентам право на запись.

no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.

noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.


Теперь нужно перезапустить дабы все заработало nfs-kernel-server:


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

В дальнейшем при изменении конфигурационного файла будет достаточно перечитать конфигурационный файл тут все просто

  $sudo exportfs -a



Настройка КЛИЕНТА


Установка и настройка NFS-клиента.
Установка:
  $sudo apt-get install portmap nfs-common

Монтирование:
Создаем точку монтирования (папку к которой будет монтирована папка с сервера)
я лично предпочитаю все монтировать в каталог /media/
  $cd /media
  $sudo mkdir server.name_user

Монтирование NFS ресурса автоматически, для этого отредактируем файл /etc/fstab
  $sudo nano -w /etc/fstab
  192.168.24.100:/home/user /media/server.name_user nfs rw,hard,intr 0
  $sudo mount /media/hard

понедельник, 23 января 2012 г.


vsftpd: включение пользовательских директорий

Задача: предоставить пользователям доступ к файлам в домашней директории по ftp

cat /etc/vsftpd.conf | grep -v '#'
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem



apache2: включение пользовательских директорий

В apache имеется удобная возможность публикации статических файлов прямо из домашней директории пользователей размещённых на вебсервер. Включить эту возможность по быстрому можно вот так:

sudo a2enmod userdir
sudo apache2ctl restart
mkdir ~/public_html
edit /etc/apache2/mods-available/php5.conf
comment lines 
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>


Вот и всё, по умолчанию модуль userdir публикует директории /home/*/public_html и это вполне достаточно чтобы выложить файлы для публикации

Чтобы получить доступ к опубликованным файлам необходимо пользоваться таким урлом

http://имя.сервера/~имя_юзера/