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

From ArchWiki
Jump to navigation Jump to search
(SHFS)
Line 2: Line 2:
 
[[Category:Stub]]
 
[[Category:Stub]]
 
[[category:Сеть]]
 
[[category:Сеть]]
{{translateme}}
 
 
== NFS ==
 
== NFS ==
  
Line 37: Line 36:
 
== FISH ==
 
== FISH ==
  
 +
Использовать FISH очень просто. Не требуется монтировать удаленные файловые системы, единственный момент, который требуется - чтобы на файл-сервере был запущен сервис sshd. То есть на Арче необходимо установить openssh и прописать сервис sshd в строку DAEMONS файла /etc/rc.conf. Необходимо остановить файервол для установления соединения, но после того, как соединение установлено, файервол можно перезапустить.
 +
<!--
 
Using FISH is very simple.  Remote filesystems don't have to be mounted, and the only thing that's required is that the sshd service is running on the file server.  I.e. in Arch one has to install openssh and put the service sshd in the DAEMONS line in /etc/rc.conf.  Firewalls must be stopped to set up the connection but once the connection is established it looks as though one can restart the firewalls.
 
Using FISH is very simple.  Remote filesystems don't have to be mounted, and the only thing that's required is that the sshd service is running on the file server.  I.e. in Arch one has to install openssh and put the service sshd in the DAEMONS line in /etc/rc.conf.  Firewalls must be stopped to set up the connection but once the connection is established it looks as though one can restart the firewalls.
 +
-->
  
 +
Также необходимо добавить строчку в /etc/hosts.allow с адресами машин, которым можно использовать sshd, т.е.:
 +
 +
sshd: 192.168.0.5, 192.168.0.7      (или  sshd: ALL )
 +
 +
и закомментировать строку "ALL: ALL: DENY" в Арчевом /etc/hosts.deny.
 +
<!--
 
One should also add a line in /etc/hosts.allow for the hosts that are allowed to use sshd, i.e.
 
One should also add a line in /etc/hosts.allow for the hosts that are allowed to use sshd, i.e.
  
Line 44: Line 52:
  
 
and comment out the line ALL: ALL: DENY in Arch's /etc/hosts.deny.
 
and comment out the line ALL: ALL: DENY in Arch's /etc/hosts.deny.
 +
-->
 +
 +
После этих действий, все, что необходимо сделать - ввести 'fish://root@сервер/' в адресную строку Konqueror'а для обыкновенного пользователя с запросом рутового пароля.
  
 +
Недостаток FISH в периодических запросах пароля, но я предполагаю этого можно избежать, используя ключи SSH.
 +
<!--
 
Once this is done, all that's needed to access the root filesystem of the server is to enter 'fish://root@hostname/' in the URL field of Konqueror as an ordinary user, followed by the root password.
 
Once this is done, all that's needed to access the root filesystem of the server is to enter 'fish://root@hostname/' in the URL field of Konqueror as an ordinary user, followed by the root password.
  
 
The drawback of FISH is that one is frequently asked for the password but I suppose one can avoid that by using SSH keys.
 
The drawback of FISH is that one is frequently asked for the password but I suppose one can avoid that by using SSH keys.
 
+
-->
  
 
== SHFS ==
 
== SHFS ==
  
SHFS устанавливается и настраивается только на клиентской машине. Единственное требование к серверу - это установленный и работающий sshd. <!-- lol --~~~ If you run Arch as a client, install shfs in it (pacman -S shfs) and make sure sshd is running on the server and firewalls are stopped. -->
+
SHFS устанавливается и настраивается только на клиентской машине. Единственное требование к серверу - это установленный и работающий sshd. Если Вы на клиентском Арче, установите shfs (pacman -S shfs) и убедитесь, что на сервере отключен файервол и  запущен sshd.<!--If you run Arch as a client, install shfs in it (pacman -S shfs) and make sure sshd is running on the server and firewalls are stopped. -->
 
   
 
   
 
После установки создаём точку монтирования:
 
После установки создаём точку монтирования:
Line 58: Line 71:
 
  # mkdir -p /mnt/shfs
 
  # mkdir -p /mnt/shfs
  
Установите suid bit на /usr/bin/shfsmount и /usr/bin/shfsumount если вы хотите позволить всем пользователям монтировать/размонтировать удалённые разделы используя shfs. Можете сделать это через Konqueror или коммандами
+
Установите suid bit на /usr/bin/shfsmount и /usr/bin/shfsumount если вы хотите позволить всем пользователям монтировать/размонтировать удалённые разделы используя shfs. Можете сделать это через Konqueror или командами
  
 
  # chmod u+s /usr/bin/shfsmount
 
  # chmod u+s /usr/bin/shfsmount
Line 73: Line 86:
 
Использование опции -o uid=robert нужно из-за возможного несоответствия uid'ов пользователей на разных компьютерах.
 
Использование опции -o uid=robert нужно из-за возможного несоответствия uid'ов пользователей на разных компьютерах.
  
t the 'root@remote_hostname's password:' prompt enter root's password.  You're ready then to access the remote filesystem as user robert at /mnt/shfs, even after the remote firewall is restarted.
+
В приглашение 'root@remote_hostname's password:' введите рутовый пароль. Теперь вы имеете доступ к удаленной файловой системе в качестве пользователя robert в директории /mnt/shfs, даже после рестарта файервола на удаленном сервере.
 +
<!--At the 'root@remote_hostname's password:' prompt enter root's password.  You're ready then to access the remote filesystem as user robert at /mnt/shfs, even after the remote firewall is restarted.-->
  
As with FISH, so with SHFS, it seems to be necessary that a line is added in /etc/hosts.allow for the hosts that are allowed to use sshd, i.e.
+
Как в случае с использованием FISH, для SHFS необходимо добавление адресов компьютеров, использующих sshd, т.е.:
 +
<!--As with FISH, so with SHFS, it seems to be necessary that a line is added in /etc/hosts.allow for the hosts that are allowed to use sshd, i.e.-->
  
  sshd: 192.168.0.5, 192.168.0.7      #(or sshd: ALL )
+
  sshd: 192.168.0.5, 192.168.0.7      #(или sshd: ALL )
  
and that the line ALL: ALL: DENY in Arch's /etc/hosts.deny is commented out or removed.
+
и закомментировать или удалить строку "ALL: ALL: DENY" в файле /etc/hosts.deny
 +
<!--and that the line ALL: ALL: DENY in Arch's /etc/hosts.deny is commented out or removed.-->
  
 +
Автор статьи не имеет достаточного опыта в предоставлении удаленного доступа к файлам и просит профессионалов в этой области дополнить статью.
 +
 +
<!--
 
I'm still a newbie with file sharing on Arch (and non-Arch Linux).  Forgive me if the above comes across as somewhat amateurish.
 
I'm still a newbie with file sharing on Arch (and non-Arch Linux).  Forgive me if the above comes across as somewhat amateurish.
 
+
-->
 
note by cheer:
 
note by cheer:
 
вынесено с ветки форума http://bbs.archlinux.org/viewtopic.php?id=26926
 
вынесено с ветки форума http://bbs.archlinux.org/viewtopic.php?id=26926

Revision as of 19:41, 17 April 2008

NFS

Для использования NFS в Archlinux требуются установленные пакеты 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: вынесено с ветки форума http://bbs.archlinux.org/viewtopic.php?id=26926