Понадобилось по самбе примонтировать шару с одного сервера на другой. Самба сервер должен быть установлен на Ubuntu, шара монтируется на RHEL.
На сервере samba
Устанавливаем:
apt-get install -y samba
Редактируем конфиг /etc/samba/smb.conf
[global]
workgroup = MY_WORK_GROUP
server string = %h server (Samba, Ubuntu)
security = user
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
debug level = 2
usershare max shares = 0
usershare allow guests = no
[samba-share]
path = /u01/mysamba/sambashare1
valid users = sambauser1
read list = sambauser1
write list = sambauser1
read only = no
Пояснения:
- [global] - основной раздел конфигурации samba.
- workgroup - рабочая группа, укажите свою.
- server string - название сервера, можно изменить на своё.
- security = user - доступ к серверу устанавливаем по логину-паролю.
- log file - куда пишем логи, создайте папку /var/log/samba/.
- max log size - размер лога.
- passdb backend = tdbsam - механизм для хранения информации о пользователях.
- unix password sync = yes - заставляет синхронизировать пароль UNIX с паролем SMB при изменении зашифрованного пароля SMB в файле smbpasswd.
- passwd program - имя программы, которую можно использовать для смены паролей UNIX.
- passwd chat - тоже надо. Эта строка управляет обменом “chat” между демоном smbd и локальной программой смены паролей.
- debug level - для дебага. Для полного дебага установите в 10 и добавьте строку log level = 10.
- usershare max shares - этот параметр определяет число домашних директорий пользователей, которые могут быть созданными пользователями, принадлежащими группе владельцев папки с домашними директориями. Если установлено в ноль (по умолчанию) общие ресурсы пользователей не создаются.
- usershare allow guests - гостевой доступ отключаем.
- [samba-share] - имя шары
- path - физический путь к папке с шарой.
- valid users - кому дать доступ к шаре.
- read list - кому дать права на чтение.
- write list - кому дать права на запись.
- read only = no - разрешаем запись в шару
Перезапускаем самбу:
service smbd restart
Создаём папку для шары /u01/mysamba/sambashare1.
Создаем пользователя:
useradd sambauser1 -M -G users -s /sbin/nologin
Я, на всякий случай, потом изменил ему домашнюю директорию на /u01/mysamba/sambashare1.
Импортируем этого пользователя в самбу и задаем пароль:
smbpasswd -a sambauser1
Дальше делаем этого юзера владельцем папки:
chown -R sambauser1\: /u01/mysamba/sambashare1/
Права на папку /u01/mysamba/sambashare1/ - drwxr-x---.
Права на папку /u01/mysamba/ и /u01/ - drwxr-xr-x.
Дальше настраиваем клиента.
На клиенте samba
У нас сервер клиента RHEL. Устанавливаем cifs-utils.
yum install cifs-utils
Создаём файл /root/.cifs_samba с содержимым:
username=sambauser1
password=пароль_юзера
Права на файл - -rw-r-----.
Создаём папку для шары, например, /my_share/
Добавляем в /etc/fstab строку:
//10.10.10.14/samba-share /my_share cifs defaults,user,uid=oracle,gid=oinstall,credentials=/root/.cifs_samba,file_mode=0600,dir_mode=0700,rw,nounix 0 0
Где 10.10.10.14 IP адрес или DNS имя сервера samba.
samba-share - имя шары, указанное в /etc/samba/smb.conf в квадратных скобках - [samba-share].
uid=oracle,gid=oinstall - юзер и группа, владельцем которой будут отображаться содержимое шары.
/root/.cifs_samba - путь к файлику с логином и паролем юзера.
Осталось примонтировать шару:
mount -a