On 19/10/15 13:49, Sam Kuper wrote: > On a system where `df -T` shows the file system to be "cifs" > (presumably the Common Internet File System from Microsoft: > https://technet.microsoft.com/en-us/library/cc939973.aspx ), running > `mv` causes unexpected behaviour. Essentially, `mv` behaves as though > `mv -f` had been used. > > Example, using GNU Coreutils 8.21 on Ubuntu 14.04.3 LTS: > > $ which mv > /bin/mv > $ ls -l > total 0 > $ echo foo > 1; chmod -w 1; cp 1 2; ls -l | cut -d' ' -f 1-5,9 > -r-x------ 1 me me 4 1 > -r-x------ 1 me me 4 2 > $ echo bar > 2 > -bash: 2: Permission denied > $ mv 1 2 > $ ls -l | cut -d' ' -f 1-5,9 > -r-x------ 1 me me 4 2 > > I would have expected the `mv 1 2` command to have prompted the user > before overwriting file 2. It would be helpful to the user if mv could > be improved so that it behaves as expected, even on a "cifs" file > system. > > For comparison, running the same commands on a machine with an ext4 > file system and a recent version of Coreutils yielded: > > $ mv 1 2 > mv: replace ‘2’, overriding mode 0444 (r--r--r--)? > > as expected. > > N.B. I first mentioned this issue at > http://unix.stackexchange.com/q/237123/6860 and am grateful for the > helpful feedback from the people who commented there, which helped me > identify the file system as the likely confounding factor. > > Thank you for maintaining Coreutils!
I guess that's the write bits being ignored or mapped to another meaning on cifs? I.E. access(..., W_OK) is returning OK (0) for you? You can check this like: strace -e access mv 1 2 thanks, Pádraig
