Настройке Samba-шары с автоочисткой, пользователем и монтированием диска
Добавлено: 27 апр 2025, 13:52
1. Подготовка и форматирование диска
2. Настройка Samba-шары на весь диск
3. Настройка UFW (firewall)
4. Автоочистка файлов старше 30 дней и пустых папок
Код: Выделить всё
Узнайте имя диска:
sudo lsblk
Отформатируйте диск (пример для ext4):
sudo mkfs.ext4 /dev/sdX1
Найдите UUID:
sudo blkid
Создайте точку монтирования и примонтируйте диск:
sudo mkdir -p /mnt/share_disk
sudo mount UUID=ВАШ_UUID /mnt/share_disk
Чтобы монтировался автоматически:
sudo nano /etc/fstab
Добавьте строку:
UUID=ВАШ_UUID /mnt/share_disk ext4 defaults 0 2
Код: Выделить всё
Установите Samba:
sudo apt install samba
Создайте директорию, если ещё нет:
sudo mkdir -p /mnt/share_disk
Назначьте владельца (пользователь user):
sudo chown user:user /mnt/share_disk
sudo chmod 775 /mnt/share_disk
Добавьте в /etc/samba/smb.conf:
[share_disk]
path = /mnt/share_disk
browseable = yes
writable = yes
guest ok = no
valid users = user
Создайте пользователя Samba (если ещё не создан):
sudo smbpasswd -a user
Перезапустите Samba:
sudo systemctl restart smbd
Код: Выделить всё
Откройте порты:
sudo ufw allow 137,138/udp
sudo ufw allow 139,445/tcp
Проверьте:
sudo ufw status verbose
4. Автоочистка файлов старше 30 дней и пустых папок
Код: Выделить всё
Создайте скрипт /usr/local/bin/clear-recycle.sh:
#!/bin/bash
find /mnt/share_disk/.recycle -type f -mtime +30 -exec rm -f {} \;
find /mnt/share_disk/.recycle -type d -empty -delete
Сделайте его исполняемым:
sudo chmod +x /usr/local/bin/clear-recycle.sh
Добавьте в crontab от root:
sudo crontab -e
Строка для автозапуска:
0 3 * * * /usr/local/bin/clear-recycle.sh