Итак, как создать примитивный файловый сервер для десятка пользователей я уже знаю. Но создав его, я столкнулся с небольшой сложностью. Для того чтоб необученному юзверю попасть в расшаренный по сети каталог нужно каждый раз выполнять некоторые манипуляции. Заходить в «Переход», потом «Соединиться с сервером», выбирать из выпадающего меню «ресурс ос Windows» вводить имя сервера или ip адрес, потом выбрав папку-цель нужно еще вводить свой пароль… Долго и пользователям сложно. Поэтому, немного погуглив я нашел способ от этого всего избавить пользователей. Организую-ка я автоматическое монтирование расшаренных по сети папок.
Для этого захожу на компьютер каждого пользователя под учеткой админа, открываю терминал и в нем правлю файл /etc/fstab. Автоматическое монтирование сетевой папки пользователя Nika у меня выглядит так:
sudo vi /etc/fstab
//192.168.0.139/Nika /home/Nika/workdoc cifs _netdev,user=Nika,password=password,rw,user,fmask=777,dmask=777,iocharset=utf8 0 0
Все одной строкой с пробелами только там, где нужно!
Здесь
//192.168.0.139/Nika
– правильно расшаренная папка на сервере.
/home/Nika/workdoc
– локальная директория, куда примонтируется содержимое сетевой папки, если этой директории нет, то ее нужно создать в учетной записи пользователя.
Параметры fmask=777,dmask=777
можно написать и как file_mode=0777,dir_mode=0777
– опытно убедился что суть не меняется – это разрешения на файлы и папки внутри примонтированной директории – в данном случае полные права на все.
Параметры user=Nika,password=password
можно записать по-другому (вроде безопаснее): credentials=/path/securedir/fileshare
,
а в файле /path/securedir/fileshare
записать
username=Nika
password=Nika_password
Выставить на него права только для рута и пользователя, но я этим не морочился.
Теперь при входе пользователя Nika на рабочем столе появится каталог «workdoc», который по сути есть //192.168.0.139/Nika. Он же появится в меню «Переход», в диалоге на сохранение файла браузера (что удобно – можно сразу сохранять из интернета в сеть). Ну и не нужно будет выполнять все те манипуляции, что я описывал выше, для того чтобы попасть в свою сетевую папку.
P.S. В процессе тестирования обнаружилось, что при создании в папке типа Nika-Andy пользователем Nika каталога или файла, этот каталог или файл не доступен для изменения для пользователя Andy не смотря ни на разрешения сервера Samba (create mask = 0777 directory mask = 0777), ни на опции монтирования в файле fstab (fmask=777,dmask=777), потому что по-умолчанию для пользователей маска создания файлов и каталогов umask = 0022. Чтобы дать возможность пользователю Andy, в нашем случае, редактировать созданное пользователем Nika в общей для них папке, нужно поменять маску создания файлов и каталогов для пользователя Nika в файле /home/nika/.profile — найти, раскоментировать и изменить строку umask = 0022 на umask = 0000. В Ubuntu 11.04 это нужно проделать в файле /etc/profile.
Все настроил как у вас. При старте все монтируется, захожу нормально, но файлы доступны только для чтения 🙁
Да, действительно, дописал пост с исправлением)
//192.168.1.1/users /media/Пользователи smbfs credentials=/root/.smbcredentials,gid=1000,uid=1000,file_mode=0666,dir_mode=0777,_netdev 0 0
Вот скрипт для действительно автоматического монтирования всех найденных в сети шар:
smbtree -N | grep ‘\\\\.*\\’ | grep -v ‘\$’ | grep -v ‘ebox’ | sed ‘s/^\s\+//;s/\s.*//;s%\\%/%g’ | while read s; do gvfs-mount — «smb:$s»; done
В grep загнал имена шар, к которым у меня нет доступа.
Использую вместо smbnetfs, которая начинает тормозить, если файл сервер перезагрузили.
Тоже столкнулся с тем, что шары монтируются хорошо, но права только на чтение, что только не пробовал, пока не прочитал ваш P.S., поменял маску создания файлов в /home/user/.profile и все как бы ничего, работает, но возникает вопрос безопасности пользователя, ведь с такой маской создаваемые им файлы будь то в шаре, или просто в своей папке доступны все, на любые действия?
Для пользователей собственно самого сервера — да, доступны на любые действия. Но к каждой конкретной шаре подключатся только пользователи прописанные в /etc/samba/smb.conf в строке «valid users = alex, andy, anna, root» для этой шары.
Спасибо за ответ, но у меня сетевые ресурсы без пользователей на сервере, т.е. есть samba, security=share, на клиенте через smb://ip/папка монтируется нормально, и с правами доступа которые выставил я для шары. Для автомонтиорования на клиенте прописал в fstab:
//10.0.0.1/sfiles /home/user/Sharing/ cifs _netdev,username=user,password=пароль,rw,file_mode=0777,dir_mode=0777,iocharset=utf8 0 0
и шара монтриуется, но с ограничением на файлы-(((. Поэтому если для user я в /home/user/.profile делаю маску 000, то созданные им на своем пк, не на сервере, файлы будут иметь права полного доступа для всех. Вот я о чем.
А, понял) Да, все файлы созданные пользователем доступны всем с полными правами. Я, к сожалению, не нашел как выборочно расставить права — на шарах одни, а локально другие. Если есть решение -пишите, дополню статью!)
Я уже очень долго не могу решения для казалось бы, такого простого вопроса, и на форумах молчат. В принципе мне это вариант подходит, т.к. на компьютерах по одному пользователю, но вопрос остается, и не дает покоя. Еще раз спасибо, буду искать, если что отпишусь. Ну и вдруг у вас что появится, опубликуйте, пожалуйста.