Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Как подключаться к виндовым шарам с правами на запись? (http://forum.oszone.net/showthread.php?t=229597)

Juiceee 05-03-2012 17:54 1872959

Как подключаться к виндовым шарам с правами на запись?
 
Добрый день, уважаемые форумчане.
Прошу помощи в понимании мироустройства :-)
Вначале вводная.
Под Windows 7 Ent 64 установлена VMWare 7.1.4 build-385536, в которой установлена Ubuntu
$ uname -a
Linux juice-vm-nout 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC 2011 i686 i686 i386 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.04
Release: 11.04
Codename: natty
На хозяйской винде с адресом 192.168.0.51 разшарена для всех в полный доступ папка share и заведён пользователь ururu с административными правами. Периодически цеплялся к этой папке командой sudo mount.cifs //192.168.0.51/share /mnt/share -o user=ururu и считывал какие нужны файлы. Тут решил забэкапить скрипты и результаты работы в линухе, для чего на эту шару решил слить оное. Но не тут-то было!!!
mkdir /mnt/share/333
mkdir: невозможно создать каталог «/mnt/share/333»: Отказано в доступе
Размонтировал /mnt/share и повтороно попытался примонтировать шару, добавив опцию rw
mount.cifs //192.168.0.51/share /mnt/share -o user=ururu,rw
Результат такой же - монтируется в режиме "read only" :-(
Вспоминаю аналоги вышеуказанной команды: mount -t smbfs и smbmount. Вроде эти команды даже не аналоги, а синонимы или даже символические ссылки и алиасы. Но, тем не менее, решил для чистоты эксперимента попробовать.
sudo mount -t smbfs //192.168.0.51/share /mnt/share -o user=ururu,rw
sudo smbmount //192.168.0.51/share /mnt/share -o user=ururu,rw
Результат нулевой.
Решил попробовать немного не такой удобный способ, как монтирование - smbclient
smbclient //192.168.0.51/share -U ururu
О, чудо! Доступ на запись разрешён. Ладно, забэкапился я, но вопрос с монтированием на запись всё равно непонятен. Решил поразбираться. Цепляюсь к шаре каким-либо из трёх вышеописанных способов монтирования, например smbmount. Делаю sudo mkdir /mnt/share/333 и всё ОК. Отмонтировал и сделал chmod 777 /mnt/share. Опять цепляюсь - неа, не получается писАть в шару :-(
Попробовал через Nautilus (Основное меню "Переход" - подменю "Соединиться с сервером" - тип сервиса "Ресурс ОС Windows") - тоже всё замечательно.
Помогите понять в части чего туплю, что не учитываю?
Кстати, после получения доступа к шаре с помощью Nautilus, я заглянул в /etc/mtab, где увидел вроде бы стандартную строку //192.168.0.51/share/ /mnt/share cifs rw,mand 0 0
В этой строке оказалась неизвестная мне опция "mand". Решил подставить её в команду монтирования - результат не изменился.

Juiceee 06-03-2012 15:24 1873533

Вроде получилось получить доступ к шаре на запись с помощью опции uid. Общий набор опций для команд sudo mount.cifs, sudo mount -t smbfs, sudo smbmount выглядит так:
sudo mount.cifs //192.168.0.51/share /mnt/share -o user=ururu,uid=juiceee
Сразу же посмотрел в какой я группе, что бы получить доступ на запись к шаре не одному пользователю, а их группе
sudo mount.cifs //192.168.0.51/share /mnt/share -o user=ururu,gid=adm
Фиаско!!! Доступ на запись отсутствует.
Ну да ладно, при примонтированной шаре делаю ls -l /mnt
и вижу
drwxr-xr-x 1 root root 4096 2012-03-06 15:07 share
при отмонтированной шаре та же команда даёт
drwxrwxrwx 2 root root 4096 2012-03-05 17:13 share

Почему на примонтированную шару 755 даётся? Как получить 777? Как в эту шару писать не пользователю, указанному в uid, а пользователям, указанным в gid?

Juiceee 07-03-2012 12:10 1874139

Сам себе и отвечу. В конце концов, приятно же пообщаться с умным и образованным человеком :-)

Цитата:

Цитата Juiceee
Почему на примонтированную шару 755 даётся?

Дефолтные права.

Цитата:

Цитата Juiceee
Как получить 777?

Если права на диру 777, то необходимо добавить параметр dir_mode, если права на файл, то параметр file_mode. Обращаю внимание, что права в указанных параметрах указываются в виде группы из 4-х (!!!) цифр.

Цитата:

Цитата Juiceee
Как в эту шару писать не пользователю, указанному в uid, а пользователям, указанным в gid?

Подключать шару, например, следующей командой:
$ sudo mount -t cifs //192.168.0.92/share /mnt/share -o user=ururu,dir_mode=0770,gid=adm
Ключевой опцией в данном случае является dir_mode=0770, означающей, что пользователь владелец (в данной команде не указан - значит root) и группа-владелец имеют полные права на эту папку, а все остальные не имеют никаких прав.
Вот что выдаёт команда ls -l /mnt
>> drwxrwx--- 1 root adm 4096 2012-03-07 11:55 share
Проверим. Создадим папку 555
$ mkdir /mnt/share/555
$ ls -l /mnt/share
>> drwxrwx--- 0 root adm 0 2012-03-07 12:01 555
Те же самые права на созданную папку - 770.
Если создавать файлы, например командой touch /mnt/share/555.txt
то получим следущее
>> -rwxr-xr-x 1 root adm 0 2012-03-07 12:06 555.txt
Ведь в команде монтирования не указывали опцию file_mode, следовательно к файлам предоставляются дефолтные 755 права.
Всё, тему можно закрывать.


Время: 22:58.

Время: 22:58.
© OSzone.net 2001-