Linux: совместная сетевая работа вместе с компьютерами на Windows, быстрая настройка сервера Samba |
![]() |
Добавил(а) microsin |
Описана настройка сетевого доступа с машин Windows на общие каталоги (шары) компьютера под Red Hat Linux 4 (сервера Samba). Определимся с терминологией. Samba - это специальный сервер под Linux, который предоставляет те же сервисы, что и служба общих сетевых папок Windows (служба эта в Windows носит имя Server, системное имя lanmanserver). Тут для новичка может быть легкая путаница - понятие Server здесь используется в несколько другом контексте по сравнению с понятием разновидностей операционок Windows (например - Widnows 2003 Server, Windows 2000 Server, Windows 2000 Professional, Windows XP Home и т. д.). Т. е. сервером в контексте Samba (SMB) может быть ЛЮБАЯ машина под Windows, которая предоставила свои ресурсы (папки и файлы) в общее пользование. Иногда под Samba вообще подразумевают протокол сетевого обмена шар Windows, и иногда для этого понятия используют аббревиатуру SMB. Клиент Samba - любая программа, работающая на Windows, и которая пытается получить доступ к общим сетевым ресурсам сервера Samba. Клиентом Samba может выступать, например, проводник, если в строке адреса набрать \\10.50.c.d\public и нажать Enter. В этом примере 10.50.c.d - IP адрес сервера Samba, а public - расшаренный каталог на сервере Samba. Для того, чтобы клиенты Windows могли попасть через сеть на шары Linux, нужно выполнение следующих условий (то, что компьютеры должны друг друга видеть по протоколу IP, само собой разумеется): Процесс по шагам (все операции происходят на сервере Samba под управлением Red Hat Linux 4): 1. Добавляем пользователя, который сможет подключаться к серверу (логин fedor, пароль 123). Лучше всего, если логин и пароль будет совпадать с логином и паролем пользователя, который в настоящий момент работает на клиенте Samba. В этом случае при подключении клиента Samba к сетевым шарам Samba логин и пароль вводить не потребуется. После этой команды в файле /etc/passwd появится запись пользователя fedor, и появится папка /home/fedor. Если нам не нужно, чтобы пользователь fedor получил доступ к шеллу Linux, то нужно исправить строку в файле /etc/passwd у этого пользователя - поменять там имя интерпретатора шелла на /sbin/nologin: 2. Добавим пользователя fedor в базу данных пользователей Samba (ввод администратора показан жирным шрифтом. Введенные символы пароля на экране отображаться не будут): После этого в файле /etc/samba/smbpasswd появится строчка наподобие: Измените разрешения файла паролей Samba, чтобы разрешение на чтение и запись имел только root: 3. Редактируем файл /etc/samba/smb.conf. Предположим, что мы хотим, чтобы сервер Samba имел имя RHL (это необязательно), входил в рабочую группу MYGROUP (это тоже необязательно), имел дескрипшен "Samba Server" (необязательно), доступ к серверу разрешен с IP адресов 10.50.x.x и 192.168.1.x (если строку host allow закомментировать, то доступ будет разрешен со всех IP-адресов), настроены шары homes, printers, tmp, public (шары tmp и public настроены на полный доступ). Добавим или изменим следующие параметры (строки, начинающиеся с # или ; являются комментариями, жирным выделено именно то, что надо изменить или раскомментировать): Все вроде понятно по содержимому файла. Здесь настроено, что будет использоваться защищенный тип авторизации по базе данных Samba (security = user, smb passwd file = /etc/samba/smbpasswd), лог будет вестись для каждого клиента Samba отдельно (log file = /var/log/samba/%m.log, где переменная %m имеет значения либо IP, либо NetBIOS-имени компьютера). Протестируем нашу конфигурацию: # Global parameters [homes] [printers] [tmp] [public] 4. Запускаем сервер Samba: Если надо перезапустить Samba: Все! После этого можно заходить на шары сервера с клиента Samba, IP адрес которого начинается на 10.50. или 192.168.1. Если имя пользователя/пароль, который сейчас работает на клиенте Samba, равен fedor/123 (доменный это пользователь, или локальный - не имеет значения), то вводить логин ипароль не потребуется, иначе на запрос ввода пароля нужно вводить логин fedor и пароль 123. Файлы Samba (которые могут понадобиться): [Дополнительные настройки] Для синхронизации паролей пользователей Samba с их паролями в системе можно применить PAM-модуль pam_smbpass, используя команду passwd. Когда пользователь вызывает команду passwd, одновременно изменяется и пароль, с которым он входит в систему Red Hat Enterprise Linux, и пароль, с которым он подключается к ресурсу Samba. Чтобы включить эту возможность, добавьте в файл /etc/pam.d/system-auth ниже вызова pam_cracklib.so следующую строку: Определить службы, запускающиеся при загрузке системы, вы также можете с помощью chkconfig, ntsysv или средства Настройка служб (Services Configuration Tool). За подробностями обратитесь к главе 20 Управление доступа к службам. [Ссылки] 1. Настройка сервера Samba site:rhd.ru. |