无需root权限自动创建sshfs挂载目录的方法
问题
我希望通过sshfs访问服务器文件,sshfs需要一个目录作为挂载点。当我插入U盘并通过文件管理器Thunar打开时,/run/media/$USER目录下会自动生成对应目录且无需root权限,具体操作示例如下:
$ ll /run/media/slammer/ total 0 drwxr-x---+ 2 root root 40 Aug 8 12:37 ./ drwxr-xr-x 3 root root 60 Aug 8 12:17 ../ $ # 插入U盘 $ ll /run/media/slammer/ total 0 drwxr-x---+ 2 root root 40 Aug 8 12:37 ./ drwxr-xr-x 3 root root 60 Aug 8 12:17 ../ $ # 在文件管理器(Thunar)中点击"挂载并打开..." $ ll /run/media/slammer/ total 4 drwxr-x---+ 3 root root 60 Aug 8 12:38 ./ drwxr-xr-x 3 root root 60 Aug 8 12:17 ../ drwxrwxrwx 1 slammer slammer 4096 Jun 28 14:22 'TOSHIBA EXT'/ $ # 新文件夹'TOSHIBA EXT'已生成
请问如何无需root权限创建此类目录,以用作sshfs的挂载点?
更新1
由于暂未找到理想的实现方法,我编写了一个包装脚本,在~/.sshfs/<myserver>目录下创建挂载点(目前方案,暂不希望主目录新增文件夹,但未想到更好替代),脚本内容如下:
#!/bin/sh # 在执行sshfs命令前自动创建挂载点 MOUNT_DIR_PARENT="$HOME/.sshfs" SSHFS="sshfs" host=`echo $@ | sed -E 's/^([^:]+):.*$/\1/;t;q1'` status=$? if [ $status -ne 0 ]; then echo "无效主机" >&2 exit $status fi set -e mountpoint="$MOUNT_DIR_PARENT/$host" mkdir -m 700 -p "$mountpoint" echo $SSHFS $@ \"$mountpoint\" $SSHFS $@ "$mountpoint"
内容的提问来源于stack exchange,提问作者GitProphet
相关产品推荐
相关产品推荐

