当网络重新连接时,使用 GVFS 和用户权限重新挂载 NAS 驱动器?

当网络重新连接时,使用 GVFS 和用户权限重新挂载 NAS 驱动器?

我在系统启动时使用 gvfs 脚本挂载 SAMBA 共享。我在自动启动时运行它。以下是脚本:

#!/bin/bash

sleep 4

   wifi="'$(/sbin/iwconfig eth1 | egrep ESSID | cut -d '"' -f 2)'"

      if [ $wifi = "'deckoff'" ]; then 

 gvfs-mount smb://192.168.1.106/public

      fi
end script

它运行良好,但当网络断线时,我必须手动重新连接。我将相同的脚本添加到/etc/network/ifup.d,正如我所料,我收到了警告

Could not change permissions for
/home/deckoff/MyBookLive/GVFS-mount

我怀疑原因是重新连接时重新挂载的脚本是以 sudo 身份运行的。因此,理想情况下,我想要一个解决方案,每次以用户身份连接网络时都运行该脚本。如果至少能摆脱警告,我会很高兴。

答案1

我是这样修复的:

步骤1

我决定使用 cifs

第2步

将此脚本添加到/etc/network/if-up.d

#!/bin/bash

WL=$(iwconfig wlan0 | grep wlan0 | cut -d':' -f2)

if [ $WL == '"yournetworkname"' ]
then
echo "deckoff"
sudo mount -t cifs //192.168.1.106/Public/ /media/MyBookLive -o username=user,password=pass,uid=1000,nobrl,iocharset=utf8,codepage=unicode,unicode

fi

在我的例子中,wifi 的名称和类型(wlan0)应该更改为你的。可以使用命令 iwconfig 查看类型

步骤 3

sudo visudo 

此命令将允许您修改哪些命令可以在没有 sudo 权限的情况下由哪些用户执行等等。

添加

deckoff ALL = NOPASSWD: /bin/mount
deckoff ALL = NOPASSWD: /bin/umount

这将允许 deckoff 在没有 sudo 权限的情况下挂载和卸载驱动器

重新开始

相关内容