Простая настройка "шаринга" на основе Ubuntu Server 14.04.4


Рассмотрим настройку общедоступных сетевых ресурсов на основе сервера Ubuntu. В этой теме хочу описать как делал это я сам, когда только начал изучать шаринг на основе Linux. Чего я хотел добиться - cтабильный, надёжный, нетормозной общедоступный шаринг на основе бесплатного софта. Как начинающему, мне приглянулся метод настройки через webmin. Ну, то есть, ваш девайс превращается в этакий NAS сторэдж с вебинтрефейсом, но фактически это обычный комп с Ubuntu server и установленным пакетом Samba и Webmin. Нормальный насик удовольствие не дешовое и поэтому нас тут очередной раз спасает Linux. Хотя в моём случае комп был уж очень неплох - RAID 5 из 5 дисков и 16ти ядерный проц. Но можно использовать и любой комп в принципе, хотя наличие нескольких винтов объединённых в raid массив очень даже рекомендовано в плане надёжности и сохранности информации. Такой вот самодельный насик в принципе и дома не помешает для файлохранилища вроде фото, документов важных и тд. И так приступим:

Для начала немного настроек безопасности, чтобы шаловливые ручки некотрых инициативных людей в офисе и не только, не нарушили гармонию нашего "насика".


ВОТ ЭТО ДЕЛАЕМ ОБЯЗАТЕЛЬНО:
редактируем /etc/shells
в конце ставим
/bin/false
######

Установка webmin
сначала установим зависимости
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libdigest-md5-perl

Добавляем репозиторий Webmin
sudo nano /etc/apt/sources.list:
В самом конце добавляем строку:
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Сохраняем изменения!
Устанавливаем GPG ключ:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

sudo apt-get update
sudo apt-get install webmin

Запустить Webmin можно через браузер для этого введите следующий адресу в строку url:

https://localhost:10000

Обратите внимание, что именно протокол https, а не http.
Примите сертификат и авторизируйтесь, используя учётную запись пользователя имеющего права на sudo.

==========================================================
Первым делом полезно проставить все галочки в User Synchronisation.

Надо знать:
Чтобы доступ на запись точно был нужно убедиться чтобы доступ был прописан и в самбе и в unix системе!
Это происходит сразу если самба САМА создаёт директорию. Но!!! Если мы сначала создали директорию например в File Manager и потом добавляем шару до неё, то доступ на запись в unix системе скорей всего будет только для root а для нашего юзера только чтение сколько бы мы не прописывали запись в настройках самбы!

Немного о пермиссиях:

Пермисии (атрибуты) например 755 - означает первая цифра 7 - для владельца файла разрешены все 3 действия (чтение, запись, выполнение), вторая цифра 5 действует на группу этого владельца, те все юзеры которые в этой же группе могут только read, было бы 6 то могли читать и писать но не выполнять. третья цифра - разрешение для всех остальных.

****************************
Шара для конкретного юзера!!!
****************************

Создаём юзера, не забываем про "/bin/false", присваиваем ему новую группу или выбираем из имеющихся (не важно). Прежде чем начать создание шары, нужно сделать некоторые настройки. Идём в Windows Networking:
Если сервер должен быть членом уже существующей рабочей группы, то в поле Workgroup(Рабочая группа) нужно установить переключатель во второе положение и вписать в поле справа имя группы. Если хотите оставить значение по умолчанию, то установите этот переключатель в значение Default(По умолчанию).
В поле Server Name(Имя сервера) впишите желаемое имя Samba сервера, по которому Samba будет доступна. Можно оставить пустым и тогда общие ресурсы будут доступны по имени сервера. А если введете какое-нибудь имя, то Samba будет доступна по обоим именам (Настоящему имени сервера и имени Samba сервера).

В поле Security ставим user level. Это означает, что доступ к шаре будет осуществлятся только при вводе логина и пароля пользователя. Если поставить в поле Security значение share level, то доступ к шаре определяет сама шара!!!
Например, если собственник шары пользователь root, и права на неё установлены 755, то полный доступ к ней(чтение/запись), будет иметь только root. А остальные будут иметь право только на чтение. Но если изменить права на шару 757, то все остальные смогут в неё и записывать. Далее жмем Save (Сохранить). Нас вернуло снова на главную страницу.

Идем в пункт Authentication(Аутентификация).
В открывшейся форме меняем значение поля Password program (Программа аутентификации). Устанавливаем переключатель во второе положение и пишем smbpasswd так как Webmin умеет работать только с smbpasswd. Остальное оставляем без изменений. Жмем Save(Сохранить). И снова вернулись на главную страницу модуля.

Ну вот теперь всё, можно приступать к созданию шары. Жмем на ссылку Create a new file share (Создать новый файловый ресурс). В открывшейся форме заполняем нужные поля.

Share name - имя шары, по которому ресурс будет доступен. Например, obmennik.
Directory to share - директория, где наша шара будет физически распологатся. Пишем, например, /var/obmennik. Если эта директория уже существует, то даже если установлена опция Automatically create directory?(Автоматически создать директорию?) в значение Yes(Да), никаких изменений с существующей директорией не произойдет! Хотя для успокоения души выберите значени No(Нет). Если директория не существует, то Webmin её создаст.

Раз мы хотим дать доступ только для конкретного юзера, то в поле Create with owner (Создать от имени владельца) выбираем заранее созданного юзера, поле Create with permissions (Создать с правами) оставляем как есть с 755, и Create with group (Создать от имени группы) соответсвенно выбираем группу этого юзера.

Available? - доступность. То есть будет ли доступен ресурс сейчас или нет. Это бывает полезно, когда вы хотите сделать ещё некоторые настройки, прежде чем выставить в пользование этот ресурс. Оставляем значение Yes(Да).
Browsable? - видим ли будет ресурс для пользователей. Если установить значение No(Нет), то ресурс, из систем Windows например, будет доступен только по прямому обращению вида \\имя_сервера\obmennik. Если же установлено Yes(Да), то он будет виден пользователям, которые просто обратятся к \\имя_сервера.
Share Comment - комментарий к шаре. Например, obmennik failov.
Заполнив, жмем Create (Создать). Нас снова вернуло к главной странице модуля.
Шара создана. Но нужно сделать ещё некоторые настройки, Жмите на название шары.
Жмем Security and Access Control(Контроль безопасности и доступа).
Установите значение поля Writable?(Можно ли писать в неё?) в Yes(Да) а значение поля Guest Access?(Разрешены ли гости?) в переключатель - None(нет). Жмем Save(Сохранить). Шара готова. Теперь стартурем сервис Start Samba Servers(Запуск Samba), либо Restart Samba Servers(Перезапуск Samba), если он уже был запущен.
Проверяем с Windows машины. \\имя_сервера\obmennik . При первом запросе вводим логин и пароль пользователя, которого заводили.

Вот и всё! Так как пользуем файловую систему ext4 под управлением Linux, то можно сказать - создан надёжный, быстрый обменный каталог, хоть для дома, хоть для работы.




------------------------------------------------------- --------------------------------------------------------------------------
счетчик посещений