Как автоматически смонтировать общий ресурс Windows SMB (блок сообщений сервера) с сетевого устройства на компьютер linux - PullRequest
0 голосов
/ 19 марта 2020

На этот вопрос много раз отвечали. Я пытался помочь другу сделать это в его сети, но либо я не передал правильную информацию, либо ссылки, которые я ему отправил, не объясняют должным образом, как делать сиськи постепенно и с тестами по пути, чтобы убедиться, что все хорошо и идет гладко. Итак, я недавно столкнулся с ситуацией, создав собственный NAS, где мне нужно смонтировать общий ресурс SMB на моем ноутбуке с Ubuntu, чтобы легко хранить мою информацию на моем NAS. Я только что понял это методом проб и ошибок, и я хотел объяснить, как я это сделал, чтобы помочь моему другу и другим ботаникам! :)

1 Ответ

0 голосов
/ 19 марта 2020

Убедитесь, что вы настроили общий ресурс c SMB с сетевым именем пользователя и паролем на удаленной машине. Сделайте это, используя пользовательский интерфейс вашего NAS, Samba, et c. и убедитесь, что брандмауэр настроен на разрешение входящих подключений. Для меня пользователь Rockstor позаботился обо всем этом автоматически, когда я создал свою долю. Убедитесь, что на локальном компьютере, с помощью которого вы sh монтируете удаленный общий ресурс, вы можете пропинговать IP / FQDN удаленного устройства.

ping 192.168.1.249

На локальном компьютере установите smbclient для проверки доступа к вашему mount, samba и cifs-utils, чтобы включить монтирование cifs на вашем p c с помощью диспетчера пакетов вашего дистрибутива. Возможно, вам придется зайти в Google или выполнить поиск с помощью диспетчера пакетов, чтобы узнать, какие пакеты содержат эти команды для установки. Обычно они имеют одинаковые имена.

Сначала попробуем составить список общих ресурсов на удаленном сервере p c из локального сервера p c. IPorFQDN - это IP-адрес или полное доменное имя вашего общего устройства. username и password - это имя пользователя и пароль, которые вы установили на удаленном общем ресурсе

smbclient -L // IPorFQDN / -U username% password

Если это успешно распечатывается список информации, включая доступные общие ресурсы на удаленном устройстве, после чего вы успешно вошли в систему и проверили себя. Это доказывает, что крепление возможно. Возможно, вы захотите удалить файл ~ / .bash_history или просто отредактировать его с помощью vi после следующего выхода из системы и повторного входа, потому что пароль, введенный вами в cli, будет в истории bash. Вы можете сделать это одним sw oop в конце, если хотите.

Теперь давайте проверим монтирование монтирования SMB на локальном компьютере. Создайте каталог для монтирования общего ресурса, dirsharename - это все, что вам нужно, чтобы имя папки было.

sudo mkdir / media / dirsharename

Запустите следующую команду, подставив ваш IP или полное доменное имя для IPorFQDN, sharename должно быть вашим общим именем, как на удаленном общем ресурсе, dirsharename должно быть папкой, которую вы только что создали, а после опции -o должны быть ваши имя пользователя и пароль для удаленного общего ресурса. Это еще один случай, когда вы можете захотеть войти и выйти снова, чтобы очистить историю bash пароля. Вы можете сделать это одним sw oop в конце.

sudo mount.cifs // IPorFQDN / имя_ресурса / media / dirsharename -o user = имя пользователя, пароль = пароль

Это даст вам сообщения об ошибках, или ничего, если это будет успешно. Если есть ошибка, исправьте ее или ответьте на это сообщение, если вам нужна помощь. Вы можете убедиться, что монтирование прошло успешно, запустив mount или используя ls, чтобы показать содержимое каталога.

mount

// IPorFQDN / sharename для / media / dirsharename типа cifs (rw , nosuid, nodev, noexe c, relatime, уегз = по умолчанию, кэш = строги, имя пользователя = имя пользователя, домен =, UID = 0, noforceuid, GID = 0, noforcegid, адр = IPorFQDN, file_mode = 0755, dir_mode = 0755 , soft, no unix, serverino, mapposix, rsize = 1048576, wsize = 1048576, echo_interval = 60, actimeo = 1, пользователь)

ls / media / dirsharename

Теперь для автоматического монтирования в файл / etc / fstab! Это будет запись в одну строку внизу файла / etc / fstab, который вам нужно добавить. Во-первых, вам нужно добавить файл учетных данных в безопасную область вашей файловой системы, чтобы учетные данные автоматически были известны во время загрузки и монтирования. Я сделал файл .smbcredentials в каталоге / media / nas / auth, и я установил разрешения и владельцев: groups, как показано ниже с помощью команды tree ... пожалуйста, игнорируйте звездочки :) Монтирование будет выполнено как root во время загрузки (или mount -a!), которая с этой структурой разрешений, только суперпользователь сможет видеть файл .smbcredentials. Другим преимуществом является то, что с вашим файлом .smbcredentials, расположенным там, где будет монтироваться монтирование, при монтировании общего ресурса вы больше не сможете видеть файл .smbcredentials ... Я рассматриваю это как еще одну меру безопасности для этого: :)

Безопасная структура каталогов для .smbcredentials username@local: ~ $ sudo tree -alpug / media /
/ media /
└── [drwxrwx --- root sambashare] nas
***** └── [drwx ------ root sambashare] auth
****** **** └── [-rw ------- root root] .smbcredentials

3 каталога, 1 файл

This это содержимое файла .smbcredentials, содержащего ваше имя пользователя и пароль для удаленного общего ресурса. При настройке я прочитал, что вы можете указать домен AD в этом файле также после 'domain =' в третьей строке.

username = username пароль = пароль

На этом этапе вы можете использовать приведенную ниже команду монтирования, чтобы проверить, можете ли вы монтировать удаленный общий ресурс. Однако не забудьте запустить команду mount, чтобы убедиться, что у вас нет подключенного общего ресурса или каких-либо других конфликтов, и используйте команду umount, чтобы удалить монтирование, если оно уже подключено.

sudo mount.cifs -o cred = / media / nas / auth / .smbcredentials // IPorFQDN / имя_ресурса / media / nas /

Наконец, мы дойдем до однострочной записи / etc / fstab в конце файла. Отредактируйте этот файл в вашем любимом редакторе и добавьте строку, подобную приведенной ниже. Он начинается с удаленного общего ресурса IP / FQDN и sharename, dir для монтирования его, типа файловой системы (cifs / SMB - в основном имена для одной и той же вещи), параметров после -o в приведенной выше команде, таких как файл учетных данных, пользователь, так что пользователи могут смонтировать это, параметры монтирования по умолчанию, и цифры 0 означают, чтобы не выгружать файловую систему, и 2, чтобы обозначить порядок проверки файловых систем при загрузке, root равен 1, иначе должно быть 2.

// IPorFQDN / имя_ресурса / media / nas cifs cred = / media / nas / auth / .smbcredentials, пользователь, значения по умолчанию, rw 0 2


У вас должна быть удаленная файловая система, которая будет автоматически монтироваться при загрузке вашего p c. Однако есть еще один тест, который вы можете использовать для проверки без перезагрузки, что он будет успешно смонтирован с использованием записи в / etc / fstab без перезагрузки. Эта команда указывает p c автоматически монтировать все в / etc / fstab, которое должно быть автоматически смонтировано. Конечно, убедитесь, что он еще не смонтирован, с помощью команды «mount», чтобы показать, что смонтировано, и «размонтировать», чтобы отключить общий ресурс, если он смонтирован.

sudo mount -a

Перезагрузитесь! Если вы хотите проверить еще раз:)

Возможные дополнения позже для этого урока ... Возможно, я интегрирую это в systemd для большей гибкости и использования в качестве файла модуля монтирования systemd. Это позволит вам смонтировать этот общий ресурс, когда вы, например, подключитесь к определенной сети ... Это звучит забавно, поэтому я могу просто отключить go и исследовать это сейчас, когда я закончил написание этой записи!

Пожалуйста, прокомментируйте с обновлениями, вопросами и т. Д. c Спасибо за чтение и хорошего дня! :)

...