Hi,
After spending a day, in vain, on this, I'll just post results of my testing below. In short, using a CIFS share from Linux or Mac is wildly inconsistent regarding unix permissions and more importantly file and directory timestamps.
I tested file and directory copying with different client OSes (debian, ubuntu, mac 10.5/6), file utilities (cp, mv, ditto, tar, desktop gui). A rather simple expectation from a file server would that it can preserve the timestamps of the copied files - even a FAT formatted USB stick can do this. Samba is also supposed to be able to interoperate with unix systems enough to preserve file (rwx) permissions in some cases.
As the lengthy testing "log" below shows, the handling of timestamps and permissions varies enough per situation to need checking every time you copy something over. Is it really supposed to behave like this? Or maybe misconfiguration/misunderstanding on my part?
Goal is to have shares that can be used primarily from linux/mac, but sometimes also from windows, hence the choice of CIFS and desire to preserve as much of the unix attributes as possible.
After spending a day, in vain, on this, I'll just post results of my testing below. In short, using a CIFS share from Linux or Mac is wildly inconsistent regarding unix permissions and more importantly file and directory timestamps.
I tested file and directory copying with different client OSes (debian, ubuntu, mac 10.5/6), file utilities (cp, mv, ditto, tar, desktop gui). A rather simple expectation from a file server would that it can preserve the timestamps of the copied files - even a FAT formatted USB stick can do this. Samba is also supposed to be able to interoperate with unix systems enough to preserve file (rwx) permissions in some cases.
As the lengthy testing "log" below shows, the handling of timestamps and permissions varies enough per situation to need checking every time you copy something over. Is it really supposed to behave like this? Or maybe misconfiguration/misunderstanding on my part?
Goal is to have shares that can be used primarily from linux/mac, but sometimes also from windows, hence the choice of CIFS and desire to preserve as much of the unix attributes as possible.
Code:
CIFS shares MYSHARE, dataset w/unix permissions GUESTSHARE, dataset w/windows permissions debian: samba 2:4.1.17+dfsg-2 gvfs 1.22.2-1 fuse 2.9.3-15+deb8u1 linux 3.16.7-ckt11-1+deb8u4 mount -t cifs //MYSHARE /mnt -o username=MYUSER single file cp -a : - timestamp preserved - permissions not preserved mv: - timestamp preserved - permissions preserved Thunar (cut or copy&paste): - timestamp preserved - permissions preserved copy a directory containing files and dirs cp -a : - timestamps preserved - permissions not preserved mv: - timestamps preserved - permissions preserved tar: - timestamps preserved - permissions preserved Thunar (cut or copy&paste): directories - timestamps not preserved - permissions not preserved files - timestamps preserved - permissions preserved mount -t cifs //GUESTSHARE /mnt -o username=guest single file cp -a : - timestamp preserved - permissions not preserved mv: - timestamp preserved - permissions not preserved Thunar (cut or copy&paste): - timestamp preserved - permissions not preserved copy a directory containing files and dirs cp -a : - timestamps preserved - permissions not preserved mv: - timestamps preserved - permissions not preserved tar: - timestamps preserved - permissions not preserved Thunar (cut or copy&paste): directories - timestamps not preserved - permissions not preserved files - timestamps preserved - permissions not preserved GVFS mount through Thunar smb://MYSHARE smb://GUESTSHARE single file cp -a : - timestamp preserved - permissions not preserved mv: - timestamp preserved - permissions not preserved Thunar (cut or copy&paste): - timestamp preserved - permissions not preserved copy a directory containing files and dirs cp -a : - timestamps preserved, except for some files - permissions not preserved mv: - timestamps preserved, except for some files - permissions not preserved tar: - timestamps preserved, except for some files - permissions not preserved Thunar (cut or copy&paste): directories - timestamps not preserved - permissions not preserved files - timestamps preserved - permissions not preserved ubuntu 14.04: samba 2:4.1.6+dfsg-1ubuntu2.14.04.9 gvfs 1.20.3-0ubuntu1.2 fuse 2.9.2-4ubuntu4.14.04.1 linux 3.16.0-50.67~14.04.1 mount -t cifs //MYSHARE /mnt -o username=MYUSER single file cp -a : - timestamp preserved - permissions not preserved mv: - timestamp preserved - permissions preserved nautilus (copy&paste or move): - timestamp preserved - permissions preserved copy a directory containing files and dirs cp -a : - timestamps preserved - permissions not preserved mv: - timestamps preserved - permissions preserved tar: - timestamps preserved - permissions preserved nautilus (copy&paste): directories / files - timestamps preserved - permissions preserved nautilus (move): directories - timestamps not preserved - permissions preserved files - timestamps preserved - permissions preserved GVFS mount through nautilus single file cp -a : - timestamp not preserved - permissions not preserved mv: - timestamp not preserved - permissions not preserved nautilus (copy&paste or move): - timestamp preserved - permissions not preserved copy a directory containing files and dirs cp -a : directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved mv: directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved tar: directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved nautilus (copy&paste): directories / files - timestamps preserved - permissions not preserved nautilus (move): directories / files - timestamps not preserved - permissions not preserved files - timestamps preserved - permissions not preserved Mac OS X 10.5 Finder smb://MYSHARE single file cp -pPR: - timestamp not preserved - permissions preserved mv: - timestamp not preserved - permissions preserved ditto: - timestamp preserved - permissions preserved Finder (drag/copy or finder drag/move): - timestamp preserved - permissions preserved copy a directory containing files and dirs cp -pPR: directories - timestamps preserved - permissions preserved files - timestamps not preserved - permissions preserved mv: directories - timestamps preserved - permissions preserved files - timestamps not preserved - permissions preserved ditto: - timestamps preserved - permissions preserved tar: - timestamps preserved - permissions preserved Finder (drag/copy): root of copied dir hierarchy - timestamps not preserved - permissions preserved files and contained directories - timestamps preserved - permissions preserved Finder smb://GUESTSHARE single file cp -pPR: - timestamp not preserved - permissions not preserved mv: - timestamp not preserved - permissions not preserved ditto: - does not copy at all (permission denied) Finder (drag/copy or finder drag/move): - does not copy at all (permission denied) copy a directory containing files and dirs cp -pPR: directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved mv: directories - timestamps preserved (except root dir) - permissions not preserved files - timestamps not preserved - permissions not preserved ditto: - creates root directory and quits tar: - timestamps preserved - permissions not preserved Finder (drag/copy): - quits midway with permission problem Mac OS X 10.6 Finder smb://MYSHARE single file cp -pPR: - timestamp not preserved - permissions preserved mv: - timestamp not preserved - permissions preserved ditto: - timestamp preserved - permissions preserved Finder (drag/copy or finder drag/move): - timestamp preserved - permissions preserved copy a directory containing files and dirs cp -pPR: directories - timestamps preserved - permissions preserved files - timestamps not preserved - permissions preserved mv: directories - timestamps preserved - permissions preserved files - timestamps not preserved - permissions preserved ditto: - timestamps preserved - permissions preserved tar (different from 10.5): directories - timestamps preserved - permissions preserved files - timestamps not preserved - permissions preserved Finder (drag/copy): (different from 10.5) files and contained directories - timestamps preserved - permissions preserved Finder smb://GUESTSHARE single file cp -pPR: - timestamp not preserved - permissions not preserved mv: - timestamp not preserved - permissions not preserved ditto: - does not copy at all (permission denied) Finder (drag/copy or finder drag/move) (different from 10.5): - timestamp preserved - permissions not preserved copy a directory containing files and dirs cp -pPR: directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved mv: directories - timestamps preserved (different from 10.5) - permissions not preserved files - timestamps not preserved - permissions not preserved ditto: - creates root directory and quits tar (different from 10.5): directories - timestamps preserved - permissions not preserved files - timestamps not preserved - permissions not preserved Finder (drag/copy or drag/move): - timestamps preserved - permissions not preserved