-
-
Save dgraziotin/4487187 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# | |
# This program is free software. It comes without any warranty, to | |
# the extent permitted by applicable law. You can redistribute it | |
# and/or modify it under the terms of the Do What The Fuck You Want | |
# To Public License, Version 2, as published by Sam Hocevar. See | |
# http://sam.zoy.org/wtfpl/COPYING for more details. | |
# | |
# Version 3, enhanced for Ubuntu 13.X+, Fedora 19+, and similar distros. | |
# Runs on all GNU/Linux distros (install cifs-utils) | |
# Author: Daniel Graziotin <dgraziotin AT task3 DOT cc> - http://task3.cc | |
# Purpose: Check if there is a TimeCapsule in your network and mount it | |
# for use it under Gnu/Linux. Unmount it if it is already mounted. | |
# The mount point is created and destroyed after use (for prevent | |
# automatic backup software to backup in the directory if the device | |
# is not mounted) | |
# Instructions: | |
# 1) Install cifs-utils (sudo apt-get install cifs-utils) | |
# 1) Change the first four variables according to your configuration. | |
# 2) Run this program at boot when your network is already | |
# set up. Also, run it on logoff to umount Time Capsule. | |
TIMECAPSULE_IP="" # e.g. "192.168.1.100" | |
TIMECAPSULE_VOLUME="/Time\ Capsule" # also try "/Data" | |
TIMECAPSULE_PASSWORD="YOURPASSWORDHERE" # prefix special characters, e.g. \! | |
MOUNT_POINT=/mnt/timecapsule # no need to create the directory | |
IS_MOUNTED=`mount 2> /dev/null | grep "$MOUNT_POINT" | cut -d' ' -f3` | |
TIMECAPSULE_PATH="//$TIMECAPSULE_IP$TIMECAPSULE_VOLUME" | |
if [[ "$IS_MOUNTED" ]] ;then | |
umount $MOUNT_POINT | |
rmdir $MOUNT_POINT | |
else | |
CHECK_TIMECAPSULE=`smbclient --no-pass -L $TIMECAPSULE_IP 2>&1 > /dev/null | grep -m1 -i apple` | |
if [[ "$CHECK_TIMECAPSULE" =~ "Apple" ]] ;then | |
mkdir $MOUNT_POINT | |
echo "mount.cifs $TIMECAPSULE_PATH $MOUNT_POINT -o pass=$TIMECAPSULE_PASSWORD,file_mode=0777,dir_mode=0777,sec=ntlm" | /bin/bash | |
fi | |
fi |
I made a simple change on the script, I removed the smbclient check, because the security is different in TimeCapsule now, and also added parameters to mount command, with sudo. I also created a daemon script to run it on startup.
UID=1000 #User ID
if [[ "$IS_MOUNTED" ]] ;then
echo "unmounting TimeCapsule"
sudo umount $MOUNT_POINT
sudo rmdir $MOUNT_POINT
echo "unmounted"
else
echo "mounting TimeCapsule"
sudo mkdir $MOUNT_POINT
echo "sudo mount.cifs $TIMECAPSULE_PATH $MOUNT_POINT -o password=$TIMECAPSULE_PASSWORD,file_mode=0777,dir_mode=0777,sec=ntlm,uid=$UID,vers=1.0" | /bin/bash
echo "mounted"
fi
any reason you chose to use mount.cifs
over mount -t smbfs
?
I remember´ reading somewhere that calling one of these commands directly from a CLI is suppose to be a no no 👎
i run macOS nevermind
linux has removed ntld https://www.linuxadictos.com/en/linux-5-15-took-over-the-support-for-the-airport-extreme-disk.html Any fix to this?
@brolal I hope that someone can help you here. My TimeCapsule has long been dead.
not working on ubuntu 22.04 or parrot linux, I simple need to emulate windows just for my time capsule. Please help
This worked for me on Linux 4.14.74-1-MANJARO: