Автор pefu
Перевод с английского
Доступ к Windows или Samba расшаренных ресурсов используя AutoFS
Вы установили Linux на Ваш сетевой настольный ПК и сейчас желаете работать с файлами, хранящимися на нескольких других ПК в Вашей сети. Именно здесь в игру вступает autofs. Этот учебник покажет,как настроить autofs используя CIFS для доступа Windows или Samba разделяемых ресурсов с настольного компьютера Linux. Он так же включает в себя конфигурационные файлы.
Если autofs версии 4.0 или новее установлен, Вы должны найти файлы
/etc/auto.master
и
/etc/auto.smb
на Вашей системе. В противном случае запустите менеджер пакетов Вашего дистрибутива (например YaST в SuSE, synaptic в Debian или Ubuntu) и установите. Когда Вы сделаете это, так же установите пакеты Samba client (поиск smbclient), так как мы в них нуждаемся тоже.
Конфигурация
Если autofs уже установлен, он вероятно не сконфигурирован и неработает. Если Ваш Linux-дистрибутив содержит ядро 2.6.х, я рекомендую использовать модуль common internet file system (cifs) для доступа к файлам по сети. Пожалуйста сохраните следующий файл как
/etc/auto.cifs
на Вашем компьютере. Вам необходимы права root (или sudo) для разрешения сделать это:
Код: Выделить всё
#!/bin/bash
# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
# which requires password authentification. The file should contain
# exactly two lines:
# username=user
# password=*****
# Please don't use blank spaces to separate the equal sign from the
# user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
mountopts=$mountopts",credentials=$credfile"
smbclientopts="-A "$credfile
else
smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 };
sub(/ /, "\\ ", $2);
print " \\\n\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'
Сделайте этот файл исполняемым используя команду:
chmod 755 /etc/auto.cifs
Этот файл слегка измененная версия файла auto.smb, который обычно является частью пакета autofs. Вам необходимо изменить строки, заданные mountopts выше и изменить имя пользователя на имя Вашего аккаунта. Сейчас Вы должны дать полномочия autofs для доступа к разделяемым ресурсам в сети. Для этого создается файл
/etc/auto.smb.FILESERVERNAME
для каждого компьютера, к которому необходим доступ. Конечно замените FILESERVERNAME на имя компьютера. Заполните эти поля аккаунтом и паролем пользователя, необходимым для доступа расшаренных ресурсов на компьютере. Содержание этих файлов должно быть таким, как в следующем примере:
username=user
password=secret
Используйте команду
chmod 600 /etc/auto.smb.*
для защиты парольной информации.
Теперь мы скажем autofs использовать нашу новую конфигурацию. Используйте команды:
echo "/cifs /etc/auto.cifs --timeout=60" >>/etc/auto.master
и
/etc/init.d/autofs restart
Это все!.
Проверка.
Используйте команду
ls -als /cifs/FILESERVERNAME/SHARENAME
проверте, если это работает. Если нет, посмотрите системные логфайлы (обычно /var/log/messages или /var/log/syslog) для проверки сообщений.
This file is licensed under a Creative Commons License. http://creativecommons.org/licenses/by/2.0/