Як я можу змонтувати загальну частину 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.