Skip to content

Как расшарить каталог между linux машинами

Постановка вопроса

Есть две linux-машины с адресами 192.168.1.101 и 192.168.1.102. Я хочу расшаривать каталог на машине с адресом 192.168.1.102, чтобы к нему был доступ с машины с адресом 192.168.1.101.

Реализация

Для того, чтобы машина A могла заходить в расшаренный каталог на машине B, нужно на машине A создать каталог который будет ассоциироваться с машиной B (назовем его remote) к нему будет при монтирован удаленный каталог, а на машине B нужно создать каталог, который и будет расшариваться в сети (назовем его share). Вот как это будет выглядеть:

 192.168.1.101                  192.168.1.102
┌──────────────┐               ┌──────────────┐
│ /┐           │               │ /┐           │
│  └home       │               │  └home       │
│    └user     │    access     │    └user     │
│      └remote─┼───────────────┼─────>└share  │
└──────────────┘               └──────────────┘

1. На машине 192.168.1.102 (там где предоставляется доступ к расшаренному каталогу)

Расшаривание каталога на одной linux машины для другой linux машины делается следующим образом.
Сначала нужно создать каталог который будет расшариваться:

mkdir share

Открыть на редактирование файл /etc/exports:

sudo vim /etc/exports

Добавляем в файл /etc/exports строку:

/home/zheka/share 192.168.1.101/255.255.255.0(rw,insecure,nohide,all_squash,anonuid=1001,anongid=1001,no_subtree_check)

где 192.168.1.101 — ip адрес для которого раздается доступ
Вернуться в командную строку и перезапустить nfs-kernel-server:

sudo /etc/init.d/nfs-kernel-server restart
 * Stopping NFS kernel daemon                                            [ OK ] 
 * Unexporting directories for NFS kernel daemon...                      [ OK ] 
 * Exporting directories for NFS kernel daemon...                        [ OK ] 
 * Starting NFS kernel daemon                                            [ OK ]

2. На машине с адресом 192.168.1.101 (которая осуществляет доступ к расшаренному каталогу)

Создать каталог, к которому будет примонтирован удаленный каталог:

mkdir remote

Ввести команду монтирования:

sudo mount -t nfs -O uid=1001,iocharset=utf-8 192.168.1.102:/home/user/share /home/user/remote

Траблы

Если после запуска команды будет такая ошибка:

sudo mount -t nfs -O uid=1001,iocharset=utf-8 192.168.0.102:/home/user/share /home/user/remote
mount: wrong fs type, bad option, bad superblock on 192.168.0.102:/home/user/share,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount. helper program)

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

то надо доустановить пакет nfs-common:

sudo apt-get install nfs-common

Samba ресурс

Есть еще один способ зайти на удаленный ресурс с линукс машины, это на самба ресурс. Для этого надо установить cifs-utils и smbclient:

sudo apt-get install cifs-utils
sudo apt-get install smbclient

Далее командой smbclient -L IP_АДРЕСС_РЕСУРСА узнаем, какие каталоги на этом ресурс открыты на общий доступ:

smbclient -L 192.168.1.1

Enter zheka's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.37]

	Sharename       Type      Comment
	---------       ----      -------
	asusware.mipsbig Disk      sda1's asusware.mipsbig in WD 1600BEV External
	Download2       Disk      sda1's Download2 in WD 1600BEV External
	lenovo          Disk      sda1's lenovo in WD 1600BEV External
	photo           Disk      sda1's photo in WD 1600BEV External
	video1          Disk      sda1's video1 in WD 1600BEV External
	26_TASM50       Disk      sda5's 26_TASM50 in WD 1600BEV External
	asm_learning    Disk      sda5's asm_learning in WD 1600BEV External
	english learning Disk      sda5's english learning in WD 1600BEV External
	from_lenovo     Disk      sda5's from_lenovo in WD 1600BEV External
	history         Disk      sda5's history in WD 1600BEV External
	image           Disk      sda5's image in WD 1600BEV External
	install         Disk      sda5's install in WD 1600BEV External
	Music           Disk      sda5's Music in WD 1600BEV External
	photos          Disk      sda5's photos in WD 1600BEV External
	Video           Disk      sda5's Video in WD 1600BEV External
	work            Disk      sda5's work in WD 1600BEV External
	Книги      Disk      sda5's Книги in WD 1600BEV External
	IPC$            IPC       IPC Service (RT-AC55U-DC10)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.37]

	Server               Comment
	---------            -------
	RT-AC55U-DC10        RT-AC55U-DC10

	Workgroup            Master
	---------            -------
	WORKGROUP            RT-AC55U-DC10

Это все расшаренные каталоги на жестком диске подключенном к роутеру RT-AC55U-DC10 через usb. Для того, чтобы примонтировать какой-нибудь из каталогов надо выполнить команду mount:

sudo mount -t cifs -o username=zheka,password=myPassword //192.168.1.1/video1 /home/zheka/remote

В результате этой команды удаленный каталог video1 примонтируется к каталогу /home/zheka/remote

Поделиться в социальных сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *