Difference between revisions of "Sharing Files Remotely (Русский)"

From ArchWiki
Jump to navigation Jump to search
(wikify some external links, use https for archlinux.org)
(use category with English base title, see Help:I18n#Article_titles)
Line 1: Line 1:
 
[[Category:Русский]]
 
[[Category:Русский]]
[[Category:Сеть (Русский)]]
+
[[Category:Networking (Русский)]]
 
[[en:Sharing Files Remotely]]
 
[[en:Sharing Files Remotely]]
 
{{stub}}
 
{{stub}}

Revision as of 20:38, 15 December 2013


Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Sharing Files Remotely (Русский)#)

NFS

Для использования NFS в Arch Linux требуются установленные пакеты portmap и nfs-utils, бОльшая часть функциональности NFS уже содержится в ядре. Как подозревал FUBAR, идентификатор пользователя robert различается на двух машинах: uid=1000 на Arch и uid=1001 на Xandros. В NFS, я обошел это вставляя 'no_root_squash' в директивы экспорта /etc/exports, например:

/        hostname_DT(rw,no_root_squash,subtree_check)
/home    hostname_DT(rw,no_root_squash,subtree_check)
/mnt/sda5    hostname_DT(rw,no_root_squash,subtree_check)
/mnt/sda7    hostname_DT(rw,no_root_squash,subtree_check)

Используя NFS, также необходимо добавить строки в /etc/hosts.allow для некоторых демонов и программ, используемых NFS, специфичных адреса допущенные к использованию этих сервисов, например, для portmap:

portmap: 192.168.0.5, 192.168.0.7            # здесь должны использоваться IP адреса!

и тоже самое для nsfd, nfslock, lockd, rquotad, mountd, statd, mount, umount. На Xandros, эти два имеют различные имена: rpc.nsfd и rpc.mountd.

FISH

Использовать FISH очень просто. Не требуется монтировать удаленные файловые системы, единственный момент, который требуется - чтобы на файл-сервере был запущен сервис sshd. То есть на Арче необходимо установить openssh и прописать сервис sshd в строку DAEMONS файла /etc/rc.conf. Необходимо остановить файервол для установления соединения, но после того, как соединение установлено, файервол можно перезапустить.

Также необходимо добавить строчку в /etc/hosts.allow с адресами машин, которым можно использовать sshd, т.е.:

sshd: 192.168.0.5, 192.168.0.7      (или  sshd: ALL )

и закомментировать строку "ALL: ALL: DENY" в Арчевом /etc/hosts.deny.

После этих действий, все, что необходимо сделать - ввести 'fish://root@сервер/' в адресную строку Konqueror'а для обыкновенного пользователя с запросом рутового пароля.

Недостаток FISH в периодических запросах пароля, но я предполагаю этого можно избежать, используя ключи SSH.

SHFS

SHFS устанавливается и настраивается только на клиентской машине. Единственное требование к серверу - это установленный и работающий sshd. Если Вы на клиентском Арче, установите shfs (pacman -S shfs) и убедитесь, что на сервере отключен файервол и запущен sshd.

После установки создаём точку монтирования:

# mkdir -p /mnt/shfs

Установите suid bit на /usr/bin/shfsmount и /usr/bin/shfsumount если вы хотите позволить всем пользователям монтировать/размонтировать удалённые разделы используя shfs. Можете сделать это через Konqueror или командами

# chmod u+s /usr/bin/shfsmount
# chmod u+s /usr/bin/shfsumount

Права получатся такие: -rwsr-xr-x root root.

Монтируем удалённую файловую систему:

# shfsmount root@сервер:/ /mnt/shfs -o uid=пользователь

(или # mount -t shfs root@remote_hostname:/ /mnt/shfs -o uid=пользователь)

Использование опции -o uid=robert нужно из-за возможного несоответствия uid'ов пользователей на разных компьютерах.

В приглашение 'root@remote_hostname's password:' введите рутовый пароль. Теперь вы имеете доступ к удаленной файловой системе в качестве пользователя robert в директории /mnt/shfs, даже после рестарта файервола на удаленном сервере.

Как в случае с использованием FISH, для SHFS необходимо добавление адресов компьютеров, использующих sshd, т.е.:

sshd: 192.168.0.5, 192.168.0.7      #(или  sshd: ALL )

и закомментировать или удалить строку "ALL: ALL: DENY" в файле /etc/hosts.deny

Автор статьи не имеет достаточного опыта в предоставлении удаленного доступа к файлам и просит профессионалов в этой области дополнить статью.

note by cheer: вынесено с ветки форума https://bbs.archlinux.org/viewtopic.php?id=26926