Я работаю над системой, недавно перенесенной на CentOS 6 с CentOS 4.9. Существует подключение CIFS с сервера Windows 2008, существовавшего в старой системе. Необработанная точка монтирования имеет 777 прав доступа к каталогам.
[root@Bootylicious ~]# ls -ld /images/
drwxrwxrwx 2 root root 4096 Jul 23 22:49 /images/
Когда монтирование активно, разрешения следующие:
[root@Bootylicious ~]# ls -ld /images/
drwxr-xr-x 1 root root 327680 Aug 16 08:45 /images/
Пользователи, отличные от root, не могут писать в общий ресурс или создавать файлы. Если посмотреть на старый сервер, то права доступа к файлам и подкаталогам в одном общем ресурсе имеют бит setuid. В новой системе этого нет. В /etc/fstab
выглядит как:
//172.16.30.32/images /images cifs username=blah,password=blah,domain=abc123.net 0 0
Какие изменения произошли между версиями 4/5 и 6 CentOS, чтобы повлиять на это? Это явно связано с setuid, но я не уверен, какое исправление лучше всего.
Это было решено с помощью подсказки по адресу: Установленный диск CIFS устанавливает "бит-бит" для всех файлов, не может изменять права доступа или файлы
Мне пришлось изменить /etc/fstab
и добавить file_mode=0666,dir_mode=0777
варианты крепления. Я также могу принудительно указать UID и GID владельцев файлов. Мне просто интересно, почему это изменилось между версиями CentOS / Red Hat.
В моем случае я решил использовать noperm
опция в записи fstab
У меня была такая же проблема с wordpress wp-content и системой автоверсии. две папки, в которые монтируется cifs на CentOS 6.3, которые, очевидно, работали безупречно на centos 5.8.
У меня уже были настроены липкие биты в параметрах монтирования двух общих ресурсов, уловка для меня заключалась в том, чтобы добавить (довольно случайно, я должен признать) параметр Носерверино
//sharesrv/dir1/dir2/dir3/ /mnt_dir cifs credentials=/etc/samba/.credential2,dir_mode=0777,file_mode=0777,noserverino 0 0
Я размонтировал и перемонтировал, и теперь автоматическая версия работает!
Надеюсь вам поможет.