УСТАНОВКА
bash
# RHEL-подобные sudo yum install autofs cifs-utils -y # Debian-подобные sudo apt install autofs cifs-utils -y
📂 СТРУКТУРА ФАЙЛОВ
| Файл | Назначение | Пример строки |
|---|---|---|
/etc/auto.master | Главный конфиг | /mnt/cifs /etc/auto.cifs --timeout=300 --ghost |
/etc/auto.cifs | Карта ресурсов | share -fstype=cifs,opts ://server/share |
/etc/smb.creds | Учетные данные | username=user\npassword=pass |
📝 ФОРМАТ ЗАПИСИ В /etc/auto.cifs
Базовый синтаксис:
text
имя_папки -fstype=cifs,опции ://сервер/шар
Полный формат:
text
share_name -fstype=cifs,credentials=/etc/smb.creds,uid=1000,gid=1000,file_mode=0755,dir_mode=0755,rw,nounix,iocharset=utf8,vers=3.0 ://192.168.1.100/share
⚙️ ОСНОВНЫЕ ОПЦИИ
| Опция | Значение | Пример |
|---|---|---|
username=user | Имя пользователя | username=admin |
password=pass | Пароль (небезопасно) | password=123 |
credentials=/path | Файл с учеткой (безопасно) | credentials=/etc/smb.creds |
uid=1000 | Владелец (локальный) | uid=1000 |
gid=1000 | Группа (локальная) | gid=1000 |
file_mode=0644 | Права для файлов | file_mode=0644 |
dir_mode=0755 | Права для папок | dir_mode=0755 |
rw / ro | Чтение-запись / только чтение | rw |
vers=3.0 | Протокол SMB | vers=2.0 или vers=3.0 |
iocharset=utf8 | Кодировка имен | iocharset=utf8 |
nounix | Отключить UNIX-расширения | nounix |
guest | Гостевой доступ | guest |
🔐 ФАЙЛ УЧЕТНЫХ ДАННЫХ
Создание:
bash
sudo nano /etc/smb.creds
Содержимое:
text
username=ivanov password=MySecret123 domain=WORKGROUP
Права:
bash
sudo chmod 600 /etc/smb.creds sudo chown root:root /etc/smb.creds
📋 ПРИМЕРЫ КОНФИГУРАЦИИ
Пример 1: Базовый с паролем в строке
text
docs -fstype=cifs,username=admin,password=12345,rw,vers=3.0 ://192.168.1.10/docs
Пример 2: С файлом учетных данных (рекомендуется)
text
backup -fstype=cifs,credentials=/etc/smb.creds,rw,uid=1000,gid=1000,vers=3.0 ://192.168.1.10/backup
Пример 3: Только чтение для публичного доступа
text
public -fstype=cifs,guest,ro,iocharset=utf8,vers=2.0 ://192.168.1.10/public
Пример 4: Группа шаров с одного сервера
text
share1 -fstype=cifs,credentials=/etc/smb.creds,vers=3.0 ://server.local/share1 share2 -fstype=cifs,credentials=/etc/smb.creds,vers=3.0 ://server.local/share2 share3 -fstype=cifs,credentials=/etc/smb.creds,vers=3.0 ://server.local/share3
Пример 5: Динамическое имя (подпапка = имя шара)
text
& -fstype=cifs,credentials=/etc/smb.creds ://server/&
🚀 ЗАПУСК И ПРОВЕРКА
Команды управления:
bash
# Запуск службы sudo systemctl start autofs sudo systemctl enable autofs # автозапуск # Статус sudo systemctl status autofs # Перезапуск после изменений sudo systemctl restart autofs
Проверка работы:
bash
# Проверка корневой папки ls -la /mnt/cifs # Автоматическое монтирование при входе cd /mnt/cifs/backup && ls -la # Просмотр смонтированных CIFS mount -t cifs # Проверка точки монтирования mountpoint /mnt/cifs/backup # Просмотр всех CIFS-монтирований findmnt -t cifs
🐛 ТИПИЧНЫЕ ОШИБКИ
| Ошибка | Причина | Решение |
|---|---|---|
Permission denied (13) | Неверный логин/пароль | Проверить credentials |
No such file or directory (2) | Неверный путь к шару | Проверить имя шара |
Host is down (112) | Сервер недоступен | Проверить сеть, ping |
Operation now in progress (115) | Таймаут | Проверить порт 445 |
mount error(2) с vers=3.0 | Нет поддержки SMB3 | Указать vers=2.0 |
???????? в именах файлов | Проблемы с кодировкой | Добавить iocharset=utf8,nounix |
| Не видно папки до входа | Нет опции —ghost | Добавить в auto.master |
🛠️ ДИАГНОСТИКА
Проверка синтаксиса:
bash
sudo automount -t
Логи в реальном времени:
bash
sudo journalctl -u autofs -f # ИЛИ для старых систем sudo tail -f /var/log/messages | grep -i autofs
Принудительный сброс монтирований:
bash
sudo systemctl stop autofs sudo umount -l /mnt/cifs/* 2>/dev/null sudo systemctl start autofs
📁 ПОЛНЫЙ ПРИМЕР КОНФИГУРАЦИИ
/etc/auto.master:
text
/mnt/cifs /etc/auto.cifs --timeout=300 --ghost
/etc/auto.cifs:
text
backup -fstype=cifs,credentials=/etc/smb.creds,rw,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,iocharset=utf8,nounix,vers=3.0 ://192.168.1.10/Backup docs -fstype=cifs,credentials=/etc/smb.creds,rw,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,iocharset=utf8,nounix,vers=3.0 ://192.168.1.10/Documents public -fstype=cifs,guest,ro,iocharset=utf8,vers=2.0 ://192.168.1.10/Public
/etc/smb.creds:
text
username=ivanov password=P@ssw0rd123 domain=WORKGROUP
Финальная проверка:
bash
sudo chmod 600 /etc/smb.creds sudo systemctl restart autofs cd /mnt/cifs/backup && ls -la
📌 КЛЮЧЕВЫЕ МОМЕНТЫ
Безопасность: всегда использовать
credentials=/path/fileвместоusername/passwordв строкеПрава: файл с учеткой должен иметь
600(chmod 600)Версия SMB: если не работает с
vers=3.0— пробоватьvers=2.0илиvers=1.0Кодировка: для кириллицы добавить
iocharset=utf8,nounixАвтозапуск: не забыть
sudo systemctl enable autofs—ghost: позволяет видеть папки до монтирования (удобно)
—timeout: авторазмонтирование через N секунд бездействия
✅ ПОЛЕЗНЫЕ КОМАНДЫ
bash
# Посмотреть текущие CIFS-монтирования mount -t cifs # Проверить доступность шары smbclient -L //192.168.1.10 -U username # Показать дерево дисков lsblk # Принудительно размонтировать всё sudo umount -a -t cifs -l # Проверить права на файл учетки ls -la /etc/smb.creds