Я столкнулся со странным поведением в одном из каталогов монтирования CIFS. Например, я копирую файл в каталог, cp /mnt/source/movie.mp4 /mnt/target/
. В первый раз все запускается успешно. Но когда я попытался перезаписать файл той же командой, cp /mnt/source/movie.mp4 /mnt/target/
, система вернула Permission Denied.
Я подозреваю, что это из-за проблемы с именем файла, по-видимому, если я переименовал файл, я могу затем перезаписать файл. Затем я переименовываю файл обратно в то же имя, и проблема исчезает. Я проверил и исходное имя файла, и новое имя с помощью file -bi movie.mp4
, и оба возвращают video/mp4; charset=binary
. Что могло быть не так в имени файла?
Я также провел еще один тест, после того как я скопировал файл в первый раз, я понял, что разрешение файла назначения стало 555. Я изменил его на 777, затем вернулся в исходную папку и сделал это cp
снова, после чего мне разрешили перезаписать его. Но если я сначала переименовал файл (или создал свой собственный новый файл), разрешение скопированного файла назначения будет 777, то же самое я получу для любого нового файла, созданного в папке назначения. Почему имя файла исходного файла влияет на разрешение файла в папке назначения?
Некоторая информация об окружающей среде
Разрешение папки назначения — drwxrwxrwx 2 root root 0 Apr 12 23:44 20180427031647
. Я использую root
пользователя для выполнения cp
команды.
- Версия ядра: 3.10.0-1062.9.1.el7.x86_64
- Версия CentOS: 7.7.1908 (Ядро)
- cifs-utils-6.2-10.el7.x86_64
Параметр монтирования fstab:
vers=2.0,credentials=/root/.credentials,file_mode=0777,dir_mode=0777,iocharset=utf8