Як я можу змонтувати загальну частину SMB з командного рядка?


78

Я хотів би встановити мережеву частку SMB з командного рядка (терміналу); як би я пішов про це?

Я використовую Mac OS X 10.6.4.

Відповіді:


71

Ви можете легко досягти цього, використовуючи mount_smbfs(що насправді є обгорткою для mount -t smbfs):

mount_smbfs //user@SERVER/folder ./mntpoint

За бажанням додайте робочу групу:

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

Можна, звичайно, змінити ./mntpoint(на щось подібне /Volumes/smb).

Після цього просто перейдіть ./mntpointдо перегляду своїх даних.

Щоб відключити, скористайтеся такою командою:

umount ./mntpoint

2
Я отримую: `mount_smbfs: помилка монтажу: шлях: помилка вводу / виводу ', в той час як він встановлюється через Finder-> Connect to Server?
— Ian Vaughan

Як мені це зробити, якщо в моєму імені користувача є знак "char"? Наприклад, коли я використовую обліковий запис Microsoft, наприклад xyz@microsoft.com? Я спробував вказати ім’я користувача в одиночних і подвійних лапках, але працюйте з
— фарбами

2
Я отримую цю помилку:mount_smbfs: could not find mount point /Volumes/Share: No such file or directory
— Юліан Онофрей

11
Цитата man mountна OS X Yosemite:Note: You should always use the system mount command and never call mount_smbfs directly.
— ssc

3
@Yashvit: Змініть значення "@" на "% 40"
— WGroleau

69

Скористайтеся open(1)командою та URL-адресою:

open 'smb://username:password@server/share'

Плюси: створює точку кріплення /Volumesдля вас.

Мінуси: Потрібен запуск Finder.


4
Я віддаю перевагу цій версії для швидкого з'єднання в моїй локальній мережі, там всі користувачі відомі, тому це більш проста команда, а потім використання mount_smbfs - де я насправді мав проблеми щодо неіснуючих шляхів - тоді як, якщо мені потрібно буде підключитися до якогось нового сервера з спеціальна файлова система, або мені потрібно спробувати іншого користувача або хотів іншу точку монтажу - нормально - але як часто це відбувається ... так що великий палець піднімається для цього більш простого рішення! Ну Готово! Гаразд, я термінальний виродник, у якого ще працює Finder, але це приблизно 90% з нас, правда?
— програмне забезпечення hexerei

Не Finderзавжди відкривається, принаймні як процес?
— Юліан Онофрей

1
@Iulian Onofrei: Якщо тільки користувач не ввійшов у систему інтерактивно. Мені потрібно було використовувати пряму mountкоманду в cronзавданнях. Використовуючи openкоманду, вони не зможуть, якщо інтерактивного сеансу не було, наприклад, після відключення живлення.
— Джордж

Також зауважте, що openзавжди виходить так, ніби це було успішно, якщо він передав команду разом із Finder, навіть якщо команда пізніше не змогла підключитися до мережевого накопичувача.
— Джонатан Врен

23

Спробуйте ознайомитись з допомогою програми монтажу:

man mount

При більш детальному огляді ви побачите, що тип файлової системи:

mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

Пароль (і теоретично ім'я користувача) необов’язковий.

Результатом вищевказаної команди буде не вихід (якщо все пішло нормально), але a cd /SomeLocalFolderOfChoice, повинен давати віддалені результати. Зверніть увагу, що SomeLocalFolderofChoice повинен існувати.

Ви також можете використовувати mount_smbfs для заміни mount -t smbfs.


5

Що для мене працювало, щоб змусити їх під час завантаження:

==> /etc/auto_master <==
#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_smb          # add this line <**********

==> /etc/auto_smb <==         # Create this if it doesn't exist <****
/(not Volumes)/Public   -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Public
/(not Volumes)/ WGroleau -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Students/wes_groleau

Чомусь ні коротке ім'я, ні FQDN сервера не працювали, тому я використовував 'ping (ім'я) для отримання IP-адреси. Іншими словами, DNS вирішив би ім'я, але mount_smbfs не зміг.

І я не міг поставити точку монтування в / Volumes, тому що завантаження видалило б її.

Один химер: Після цього спрацювало чудово протягом декількох днів, протягом двох-трьох днів, LibreOffice, Adobe Reader та Finder не змогли знайти ОДНО з двох спільних ресурсів, але оболонка та TextEdit не мали проблем. Після двох-трьох днів того, вона загадково знову почала працювати.

Якщо ви робите ці зміни, і не хочете перезавантажувати їх, ви можете встановити їх за допомогою "auto mount -vc"

Оновлення: більше примх. (1) Тут є дві системи WiFi, і одна з них не має доступу до серверів Windows. Пару разів на тиждень один або обидва маршрутизатора виходять з ладу. Якщо "хороший" знижується, а MacBook автоматично підключається до іншого, замість того, щоб сказати мені, що диск не працює, драйвери SMB кажуть "Забагато користувачів". (2) Пару разів на тиждень мені стає "відмовлено у дозволі", коли я намагаюся отримати доступ до своїх файлів Windows. Зазвичай це триває близько півгодини, протягом якого я можу зайти до панелі вікон та увійти та переглянути файли з тим самим ідентифікатором та паролем.


Оскільки на цьому тижні це було оскаржено двічі, я мушу зазначити, що це було написано кілька версій MacOS тому.
— WGroleau

4

Використовувати AppleScript зручно, оскільки він зберігає ваші паролі в брелок. Функція Bash:

function mymount
{
    osascript <<EOF
mount volume "smb://user@fqdn1/volume1"
mount volume "smb://user@fqdn2/volume2"
EOF
}

Викликати "mymount" з bash, вводити паролі через стандартне спливаюче вікно Keychain, і якщо все піде добре, запитувані томи будуть встановлені в / Volumes.


Це теж ідеальний підхід. Мені не подобається схвалений відповідь, оскільки він працює як користувач root. На мою думку, ці однолінійки повинні бути найкращими варіантами: /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"'абоopen /Volumes; open 'smb://username:password@server/share'
— laimison

3

Я додам, що якщо у вас є ім’я форми "workgroup \ username", слід встановити його так:

mount -t smbfs "//WORKGROUP;username:password@MACHINENAME/SHARENAME" /SomeLocalFolderOfChoice

Джерело: адаптування прикладу звідси


-1

старий пост, але що робити з таким монтажем:

smb://no_username:password@MACHINENAME 

як приводи машин часу?


1
"з командного рядка (терміналу)" ... це не допустима команда bash. Я припускаю, що ви маєте на увазі за допомогою Finder + ⌘K підключитися до сервера, що не те, що запитувала ОП.
— mattmc3
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.