Монтирование общего ресурса Samba / CIFS в Linux «правильно»
Проблема в том, что я не могу получить файлы на общем ресурсе CIFS для отображения правильных разрешений на клиенте Linux без принудительной vers=1.0
установки параметров монтирования.
Сервер является системой FreeNAS под управлением Samba 4.7.0. Он в основном работает в автономном режиме / режиме рабочей группы; нет контроллера AD / домена, и я не хочу его, если я могу избежать этого.
Клиент представляет собой нестабильную систему Debian Sid с компонентами Samba v4.7.4 и cifs-utils
версией 6.8-1.
Текущее заклинание монтирования выглядит примерно так:
sudo mount.cifs -o 'vers=1.0,username=me,uid=me,gid=me,credentials=[[filename]]' //freenas/me $HOME/mnt
(Вышеуказанное обычно выполняется автоматическими, но это не имеет отношения к делу.)
После этого в mtab появится следующая запись:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=me,domain=,uid=1000,forceuid,gid=1000,forcegid,addr=X.X.X.X,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1)
... И наш тестовый каталог обнаруживается со следующими режимами / разрешениями:
me@linuxclient:~$ ls -al mnt/testdir/ total 3 drwxr-xr-x+ 2 me me 0 Apr 21 00:10 . drwxr-xr-x+ 5 me me 0 Apr 21 00:07 .. -r--r--r--+ 1 me me 0 Apr 21 00:09 R--R--R-- -rw-r--r--+ 1 me me 0 Apr 21 00:10 RW-R--R-- -rwx------+ 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x+ 1 me me 0 Apr 21 00:08 RWXR-XR-X -r-xr-xr-x+ 1 me me 0 Apr 21 00:09 R-XR-XR-X
Это именно то, чего я ожидаю и хочу. Тем не менее, монтирование форсирует SMB версии 1.0, которая является старой и поврежденной. Однако, если я не укажу явно vers=1.0
, то это произойдет:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=default,cache=strict,username=me,domain=,uid=1000,forceuid,gid=1000,forcegid,addr=X.X.X.X,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1) me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 me me 0 Apr 21 00:10 . drwxr-xr-x 2 me me 0 Apr 21 00:07 .. -rwxr-xr-x 1 me me 0 Apr 21 00:09 R--R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:10 RW-R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWXR-XR-X -rwxr-xr-x 1 me me 0 Apr 21 00:09 R-XR-XR-X
Что-то вставлено file_mode=0755,dir_mode=0755
в параметры монтирования, и получающиеся разрешения равны 0x755 для всех файлов, независимо от их фактических разрешений, что, очевидно, неверно. Я еще не выяснил, откуда появляются эти нежелательные варианты.
Поскольку моя конечная цель состоит в том, чтобы несколько одновременно работающих пользователей подключались к своим домашним каталогам со своими учетными данными, я начал экспериментировать с этим mount
заклинанием, а именно с multiuser
вариантом:
sudo mount.cifs -o "user=me,noperm,multiuser" //freenas/me $HOME/mnt me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 me me 0 Apr 21 00:10 . drwxr-xr-x 2 me me 0 Apr 21 00:07 .. -rwxr-xr-x 1 me me 0 Apr 21 00:09 R--R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:10 RW-R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWXR-XR-X -rwxr-xr-x 1 me me 0 Apr 21 00:09 R-XR-XR-X
Все еще не так. Однако, когда я добавляю опцию монтирования cifsacl
:
sudo mount.cifs -o "user=me,noperm,multiuser,cifsacl" //freenas/me $HOME/mnt
И введите мои учетные данные для сервера с помощью cifscreds
команды, я получаю эти результаты:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=default,cache=strict,multiuser,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=X.X.X.X,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,cifsacl,noperm,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1) me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 root root 0 Apr 21 00:10 . drwxr-xr-x 2 root root 0 Apr 21 00:07 .. -r--r--r-- 1 root root 0 Apr 21 00:09 R--R--R-- -rw-r--r-- 1 root root 0 Apr 21 00:10 RW-R--R-- -rwx------ 1 root root 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 root root 0 Apr 21 00:08 RWXR-XR-X -r-xr-xr-x 1 root root 0 Apr 21 00:09 R-XR-XR-X
Несмотря на то, что параметры file_mode=0755,dir_mode=0755
все еще вводятся, разрешения теперь отображаются правильно. Но теперь UID неверны, и все выглядит так, как будто он принадлежит root. На самом деле я могу создавать, изменять и удалять файлы в общем ресурсе, но они отображаются как корневые. Я знаю, что должно быть отображение, выполненное cifs.idmap
и winbindd
, но я не выяснил, как именно это делается или как его настроить.
Я бы предпочел не продолжать использовать vers=1.0
Kluge; Я бы предпочел сделать это правильно. Есть намеки на то, что мне не хватает?
0 ответов на вопрос
Похожие вопросы
-
2
Почему некоторые файлы на моем внешнем диске не могут быть удалены с помощью утилит Unix?
-
2
Как сделать ссылку на подпапку общего ресурса?
-
0
Есть ли хороший CIFS-прокси?
-
-
1
Ubuntu Automount по метке?
-
0
Автономные копии кэша в файлообменнике Windows
-
3
Автоматически монтируемый общий доступ к окнам в Fedora 12
-
1
Как смонтировать удаленный общий ресурс samba с локального хоста с несколькими группами?
-
0
Autofs висят процессы
-
1
Файл 'pagefile.sys' в CIFS-монтировании '// windowshost / C $' заставляет Наутилуса сдаваться с отвр...
-
0
Невозможно смонтировать общий ресурс cifs