我在系统启动时使用 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 权限的情况下挂载和卸载驱动器
重新开始