4

Привет, я установил свой QNAP на диск на моей машине с Ubuntu, используя следующую запись fstab

//<ip-address>/Documents/Aly /home/aly/Documents cifs credentials=/root/.credentials,uid=1000,gid=1000,rw,hard,dir_mode=0777,file_mode=0777 0 0

это дает следующие разрешения:

drwxrwxrwx  1 aly aly    0 2011-12-03 12:18 .
drwxr-xr-x 13 aly aly 4096 2011-12-03 12:14 ..
-rwxrwxrwx  1 aly aly    5 2011-12-03 11:55 test.tst
drwxrwxrwx  1 aly aly    0 2011-11-26 17:54 VirtualBox VMs

У меня есть разрешения на удаление файлов и добавление файлов, однако при попытке записи в файл, например test.tst, я получаю следующую ошибку в vi:

"test.tst" E212: Can't open file for writing

Кто-нибудь видел это раньше, если я подключаю диск через nfs, это не проблема, однако nfs не хватает безопасности, которую я желаю.

РЕДАКТИРОВАТЬ

Решение, к которому я пришел, это:

<ip-address>:Documents/Aly/ /home/aly/Documents cifs hard,noperm,nouid,credentials=/root/.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs 0 0

2 ответа2

3

Вы можете попробовать параметр nodfs (если поддерживается), как описано в статье
Как обойти ошибку самбы DFS на NAS-сервере DNS323? :

Во-первых, вот краткое описание ошибки: невозможно изменить какие-либо существующие файлы. При попытке изменить файл возникает ошибка "Не каталог", "Нет такого файла или каталога" или «touch: setting time of…».

Если ваш linux-клиент cifs или smbfs поддерживает флаг nodfs (встроен в ядра> 2.6.27). Вам просто нужно добавить эту опцию в команду монтирования. Пример:

mount -t cifs -o credentials=/home/kerphi/.smb-zekra-credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs //zekra/Volume_1 /home/kerphi/zekra

Если вы не можете обновить свое ядро (как я, потому что я слежу за выпусками Debian), вы должны следовать этому обходному пути:

  • Подключитесь к DNS323 с помощью веб-интерфейса и выберите Инструменты → Система.
  • Сохраните конфигурацию на своей рабочей станции (в разделе "НАСТРОЙКИ КОНФИГУРАЦИИ").
  • После сохранения отредактируйте файл и просто под этой строкой:
    ;[ global ]
    добавьте следующую строку:
    msdfs root = no
    Затем загрузите этот файл через веб-интерфейс, ваш NAS перезагрузится, и вы сможете снова изменить существующий файл!

Это дополнительно объясняется в CIFS: добавить параметр монтирования nodfs :

Более старый сервер самбы (например, 3.0.24 из Debian etch) не работают правильно, если используются пути DFS. Такие серверы утверждают, что поддерживают DFS, но не обрабатывают некоторые запросы с путями DFS. Начиная с Linux 2.6.26, клиенты cifs начинают отправлять пути DFS в таких ситуациях, что делает его непригодным для использования на старых серверах samba.

Параметры монтирования nodfs заставляют использовать общий ресурс с не-DFS-путями, даже если сервер заявляет, что он его поддерживает.

0

при попытке записи в файл

Запись с корневыми privilidges, то он , скорее всего , работать (опции rw приведены)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .