У меня есть сервер samba, работающий на хосте Debian, поэтому я могу поделиться определенным каталогом с клиентской машиной Ubuntu. В этом каталоге на хосте нет файлов.
Конфигурация Samba на хосте выглядит следующим образом:
sudo nano /etc/samba/smb.conf
[share_name]
browseable = yes
read only = no
hosts allow = 192.168.0.0/16
path = /tank/mail
create mask = 0775
force create mode = 0775
force directory mode = 2775
На клиенте Ubuntu я создал новый каталог следующим образом:
sudo chown -R 5000:5000 /opt/vmail-data
sudo chmod 0775 /opt/vmail-data
Затем создал постоянный ресурс Samba:
sudo nano /etc/fstab
//host_ip/share_name /opt/vmail-data cifs credentials=.smbpaswd,_netdev,file_mode=0644,dir_mode=0755,rw 0 0
после монтирования каталога sudo /opt/vmail-data.
Затем я создаю тестовый файл и тестирую каталог в этом каталоге:
root:/opt/vmail-data# mkdir testdir
root:/opt/vmail-data# ls -la
total 5
drwxr-xr-x 2 root root 0 Oct 16 18:23 .
drwxr-xr-x 5 root root 4096 Oct 13 09:33 ..
drwxr-xr-x 2 root root 0 Oct 16 18:23 testdir
-rw-r--r-- 1 root root 0 Oct 16 18:23 testfile
Проблема в том, что когда я копирую или rsync другой клиентский каталог в этот клиентский общий ресурс samba (тот же клиентский компьютер), право собственности и разрешения меняются следующим образом:
исходный (исходный) каталог на клиенте:
# ls -la
total 52
drwx------ 10 5000 5000 4096 Oct 13 10:33 .
drwx------ 3 5000 5000 4096 Oct 13 10:25 ..
drwx------ 5 5000 5000 4096 Oct 13 09:45 .Archive
drwx------ 2 5000 5000 4096 Oct 13 10:33 cur
-rw------- 1 5000 5000 0 Oct 13 09:32 dovecot-acl-list
-rw------- 1 5000 5000 608 Oct 13 10:25 dovecot-uidlist
-rw------- 1 5000 5000 8 Oct 13 09:45 dovecot-uidvalidity
-r--r--r-- 1 5000 5000 0 Oct 13 09:32 dovecot-uidvalidity.63480569
drwx------ 5 5000 5000 4096 Oct 13 09:45 .Drafts
drwx------ 5 5000 5000 4096 Oct 13 09:45 .Junk
drwx------ 2 5000 5000 4096 Oct 13 10:33 new
drwx------ 5 5000 5000 4096 Oct 16 16:46 .Sent
-rw------- 1 5000 5000 36 Oct 13 09:45 subscriptions
drwx------ 2 5000 5000 4096 Oct 13 10:25 tmp
drwx------ 5 5000 5000 4096 Oct 13 10:04 .Trash
Если я попробую любую из приведенных выше команд, результаты будут такими же:
mv /path_to_source /opt/vmail-data
или же
cp -a /path_to_source /opt/vmail-data
или же
rsync -avr /path_to_source /opt/vmail-data
после любой из этих команд результаты совпадают по пути назначения:
ls -la
total 11
drwxr-xr-x 2 root root 0 Oct 16 18:22 .
drwxr-xr-x 2 root root 0 Oct 13 10:25 ..
drwxr-xr-x 2 root root 0 Oct 13 09:45 .Archive
drwxr-xr-x 2 root root 0 Oct 13 10:33 cur
-rw-r--r-- 1 root root 0 Oct 13 09:32 dovecot-acl-list
-rw-r--r-- 1 root root 608 Oct 13 10:25 dovecot-uidlist
-rw-r--r-- 1 root root 8 Oct 13 09:45 dovecot-uidvalidity
-r--r--r-- 1 root root 0 Oct 13 09:32 dovecot-uidvalidity.63480569
drwxr-xr-x 2 root root 0 Oct 13 09:45 .Drafts
drwxr-xr-x 2 root root 0 Oct 13 09:45 .Junk
drwxr-xr-x 2 root root 0 Oct 13 10:33 new
drwxr-xr-x 2 root root 0 Oct 17 07:15 .Sent
-rw-r--r-- 1 root root 36 Oct 13 09:45 subscriptions
drwxr-xr-x 2 root root 0 Oct 13 10:25 tmp
drwxr-xr-x 2 root root 0 Oct 17 06:47 .Trash
Насколько я знаю, эти команды должны были сохранить права собственности и разрешения от исходного исходного каталога до места назначения, но это не то, что происходит. Перемещенные файлы принадлежат root:root, а не 5000:5000, а также права доступа не совпадают.
Если я добавлю «uid=5000,gid=5000,forceuid,forcegid» в файлы опций монтирования fstab, создадутся файлы с правами владельца 5000:5000, но это не то, что я ожидал. Сегодня файлы в исходном каталоге принадлежат 5000:5000, но в будущем это может измениться. Собственность должна быть сохранена во что бы то ни стало.
Кроме того, разрешения не синхронизируются, несмотря ни на что.
Что мне не хватает?
с уважением