Как получить доступ к Apple Time Capsule в Ubuntu 18.04.1
7 ответов
На Ubuntu 18.04 я видел тот же экран, что и у вас. Попробовав различные поиски, я нашел решение для командной строки. Это не полностью автоматизированное решение с графическим интерфейсом, но это правильно для Linux.
Сначала подготовьте точку монтирования (только один раз)
$ sudo /media/$USER/capsule
Затем каждый раз, когда вы хотите смонтировать капсулу:
Если у вас, как и у меня, одно и то же имя пользователя на вашем Mac и Linux,
$ sudo mount -t cifs //10.0.1.1/Data /media/$USER/capsule -o username=$USER,sec=ntlm,uid=$USER,vers=1.0
еще
$ sudo mount -t cifs //10.0.1.1/Data /media/$USER/capsule -o username=MyCapsuleUsername,sec=ntlm,uid=MyCapsuleUsername,vers=1.0
Вам будет предложено ввести два пароля: первый от sudo, т.е. ваш пароль Linux, второй от капсулы.
Обратите внимание, я создал псевдоним в моем файле.bashrc для удобства.
Заметка, //10.0.1.1
является локальным IP-адресом вашей капсулы по умолчанию, при условии, что вы ничего особенного не сделали при его настройке.
Добавьте это в глобальный раздел /etc/samba/smb.conf:
[global]
...
client use spnego = no
...
Вы можете смонтировать его по команде
gio mount smb://10.0.1.1/Data/
Или CTRL + L в наутилусе и напиши полный адрес
smb://10.0.1.1/Data/
Во всех ответах здесь, к сожалению, отсутствует следующая очень важная информация. Имя, которое вы дали своей капсуле времени , не совпадает с именем .
Имя капсулы времени соответствует NetBIOS или имени хоста. Таким образом, его можно использовать в качестве альтернативы IP-адресу. Допустим, это «ТЦ Питер». Это будет переведено утилитой Apple Airport в
TC-PETER
.
Значение
/Data
соответствует названию тома капсулы времени . В этом случае это будет теперь "AirPort-Laufwerk Peter", что равно
/AirPort-Laufwerk Peter
. В других языках это, конечно, по-другому, поэтому в английском это было бы
/AirPort-Drive Peter
или же
/AirPort-Volume Peter
Однако в моем примере это даст следующие две возможные команды:
sudo mount.cifs //TC-PETER/'Airport-Laufwerk Peter' /mnt/timecapsule/ -o password='yourpassword',sec=ntlm,uid=1000,vers=1.0
sudo mount.cifs //x.x.x.x/'Airport-Laufwerk Peter' /mnt/timecapsule/ -o password='yourpassword',sec=ntlm,uid=1000,vers=1.0
Обратите внимание: апострофы необходимы, если имя тома капсулы времени содержит пробел !
Значение uid
1000
правильно в моем случае для Kubuntu 18.04. Это может отличаться от других дистрибутивов Linux и других пользователей. Проверьте это с помощью команды
id -u <username>
.
Эта команда монтирования отлично работает, когда Time Capsule настроен с одним паролем (администратор устройства или сетевой пароль). Это не работает, когда учетные записи пользователей настроены как режим доступа в Time Capsule.
Итак, это все. Подтверждаю, работает ОТЛИЧНО. Мне потребовалось почти несколько дней, чтобы понять этот правильный синтаксис. ;-)
Дополнительная полезная информация:
Установите необходимые пакеты:
sudo apt-get install cifs-utils
sudo apt-get install keyutils
Определите свою рабочую группу и включите поддержку NTLMv1 в файле smb.conf:
sudo nano /etc/samba/smb.conf
workgroup = <yourworkgroup>
ntlm auth = ntlmv1-permitted
Дополнительное дополнение, связанное с fstab :
sudo nano /etc/fstab
Ниже приведены два примера конфигурации fstab для автоматического монтирования при каждой перезагрузке. Я проверил это, и они работают ОТЛИЧНО.
//TC-PETER/Airport-Laufwerk\040Peter /mnt/timecapsule cifs _netdev,users,vers=1.0,sec=ntlm,password=yourpassword,rw,uid=1000,gid=1000,iocharset=utf8 0 0
//x.x.x.x/Airport-Laufwerk\040Peter /mnt/timecapsule cifs _netdev,users,vers=1.0,sec=ntlm,password=yourpassword,rw,uid=1000,gid=1000,iocharset=utf8 0 0
Следует отметить, что странное
\040
требуется, когда имя общего ресурса содержит пробел. Используемые ранее апострофы не работают в синтаксической схеме fstab!
Интересно, что часто предлагаемый параметр
auto
не работает и ломает всю команду монтирования в моем случае. Я понятия не имею, почему это так. Это может быть из-за параметра . Этот связан с общим сетевым ресурсом и задерживает монтирование до тех пор, пока сеть не будет запущена и активна. Тем не менее, я также нашел информацию о том, что
_netdev
флаг не работает в более новых дистрибутивах Linux на основе systemd . Так что его тоже можно опустить. Как бы то ни было, общий ресурс монтируется сразу после его выбора. (Сообщения об ошибках в dmesg отсутствуют.)
Дополнительные параметры
rw
, который разрешает доступ для чтения и записи. (Ну, не все примеры конфигурации общих ресурсов SMB включают его, так что один из них может быть необязательным).
iocharset=utf8
сообщает Linux о совместимости с UTF (Windows?). Также здесь это может быть (настоятельно?) рекомендовано, но не обязательно. Параметр
vers=1.0
а также
sec=ntlm
довольно небезопасны, но, к сожалению, абсолютно необходимы, потому что Apple использует в своих капсулах времени очень древний стандарт SMB.
Особенность
users
разрешает монтирование/размонтирование всем доступным пользователям Linux при установленном флаге
user
разрешает это только учетной записи владельца root / fstab. Этот принцип следует рассматривать как несколько непоследовательный, и он может не работать должным образом на акциях малого и среднего бизнеса. Обратите внимание, что все файлы и папки, созданные (пользователями Linux) на общем ресурсе SMB, будут содержать
uid=1000
а также
gid=1000
пользовательские ценности.
В некоторых примерах SMB fstab также используется
nounix
флаг,- он четко определяет, что общий ресурс несовместим с Linux. Ну, в моем случае я не заметил никакой разницы, поставил я его или нет.
Наконец, действительно единственная неприятная вещь заключается в том, что у меня в
dmesg
несколько уведомлений, вызванных
CIFS VFS: bogus file nlink value 0
. Некоторые предлагают установить флаг
noserverino
чтобы исправить это. Однако в моем случае с общим ресурсом Apple Time Capsule SMB1 это ничего не помогло, уведомления остались. Как бы то ни было, поскольку все работает как надо, я просто игнорирую это. ;-)
Я использую Ubuntu 21, и моя Time Capsule работает в режиме мостового маршрутизатора, и на нем есть пользовательские диски, защищенные именем пользователя и паролем, а также общий диск. Вот как я заработал благодаря ответам выше.
Диск = имя диска. Пользователь = имя моего пользователя Linux. IP = IP-адрес Time Capsule. Я использовал Airport Utility на своем iPhone, чтобы увидеть это. TCUser = имя пользователя в Time Capsule.
sudo apt-get install cifs-utils keyutils
sudo mkdir /media/User/Drive
sudo mount.cifs //IP/'Drive' /media/User/Drive/ -o username=TCUser,sec=ntlm,vers=1.0
Работает отлично, для доступа к другим дискам в Capsule просто используйте другие имена для диска.
Мне удалось настроить Ubuntu на автоматическое монтирование диска через 5 минут после загрузки, выполнив следующие действия:
Сценарий:
#!/bin/bash
#
echo "mount -t cifs //YOUR TIME CAPSULE IP/Data /media/$USER/capsule -o username=Time Capsule user,pass=Time Capsule Password,sec=ntlm,uid=$USER,vers=1.0" | /bin/bash
Сохраните сценарий на рабочем столе, внесите изменения и сохраните его без расширения.
Подготовка точек монтирования:
sudo mkdir /media/$USER/capsule
Скопируйте сценарий: скопируйте "капсулу" сценария в папку /root и / usr / local / bin
$USER - это локальный пользователь компьютера, необходимо изменить в скрипте.
вам может потребоваться запустить наутилус с правами root, для этого из терминала sudo nautilus
Установить услуги;
sudo apt update
Установите cifs-utils, samba и cron.
sudo apt-get install cifs-utils
sudo apt install samba
sudo apt-get install cron
Включите поддержку SMB1 в Ubuntu:
открыто /etc/samba/smb.conf
файл на вашем сервере Ubuntu
Добавьте следующий оператор в раздел глобальных настроек файла:
[global]
ntlm auth = ntlmv1-permitted
Перезагрузите сервер SAMBA
sudo service smbd restart
Добавьте задание CRONTAB, диск будет смонтирован через 5 минут после загрузки:
В терминальном запуске:
crontab -e
(в первый раз вас попросят выбрать текстовый редактор для использования, нажмите 1) В конце файла добавьте:
@reboot sleep 300 && /usr/local/bin/capsule
@reboot sleep 300 && /root/capsule
Теперь включите службу crontab
sudo systemctl enable cron.service
Запустите службу crontab
sudo systemctl start cron.service
Проверить статус
sudo systemctl status cron.service
вы должны увидеть что-то вроде:
cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: >
Active: active (running) since Mon 2020-08-03 19:10:06 EEST; 26min ago
Docs: man:cron(8)
Main PID: 827 (cron)
Tasks: 1 (limit: 9446)
Memory: 2.7M
CGroup: /system.slice/cron.service
└─827 /usr/sbin/cron -f
aug 03 19:15:30 koszty CRON[867]: (CRON) info (No MTA installed, discarding out>
aug 03 19:15:30 koszty CRON[868]: (CRON) info (No MTA installed, discarding out>
aug 03 19:15:30 koszty CRON[867]: pam_unix(cron:session): session closed for us>
aug 03 19:15:30 koszty CRON[868]: pam_unix(cron:session): session closed for us>
aug 03 19:17:01 koszty CRON[3586]: pam_unix(cron:session): session opened for u>
aug 03 19:17:01 koszty CRON[3587]: (root) CMD ( cd / && run-parts --report /e*
В более поздних версиях Ubuntu Samba требует, чтобы вы указали, что хотите использовать старую версию с
vers=1.0
(ранее это было по умолчанию, но больше не так). Без указания этого попытка подключения через Nautlius приведет к
kFPAuthContinue
ошибка.
Я написал полное руководство по Ubuntu 20.04 в этом посте на AskUbuntu .
Я хотел бы автоматически смонтировать мою сетевую капсулу.
ШАГ 1: Установите cifs-utils
$ sudo apt-get install cifs-utils
ШАГ 2: Добавить строку в файл fstab
$ sudo nano /etc/fstab
и добавьте строку ниже
//192.168.1.17/Data /media/capsule cifs user=John\040Doe,pass=this.is.capsule.pass,rw,uid=johndoe.from.other.pc.id,iocharset=utf8,sec=ntlm,vers=1.0 0 0
и 'user=John\040Doe'
\040
это пространство. Это все.