记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

ubuntu/debian/openwrt下开机自动挂载samba目录

ubuntu/debian/openwrt下开机自动挂载samba目录

方式一:
临时挂载:
XML/HTML代码
  1. mount -t cifs //192.168.1.100/Public /home/binaryhat/Public -o username=yourname,password=yourpwd,gid=0,uid=0
gid和uid可以通过输入命令id 用户名,比如查看root的,就是输入id root;如果是查看git的,就是输入id git
可以用命令行方式卸载:
XML/HTML代码
  1. umount:/home/binaryhat/Public
方式二:
开机自动挂载
1.需要新建立一个文件/etc/sambapassword
这个凭证的文件名可以不同,也可以为,相应的2中的文件名也修改(也可以为:/etc/smbpasswd或者其他)
该文件的内容为:
XML/HTML代码
  1. username=value
  2. password=value
  3. domain=value
2.在文件/etc/fstab文件中新加一行:
XML/HTML代码
  1. //192.168.1.100/Public /home/binaryhat/Public cifs credentials=/etc/sambapasswd 0 0
遇到权限问题,可能是你所在的用户组没有相应权限,在credentials=/etc/sambapasswd,gid=998,uid=998 0 0
id命令可以查看相应的组用户的gid和uid
3.以管理员身份运行(重新挂载):
mount -a
如果没有错误的话,就可以挂载了。
参考:https://ask.fedoraproject.org/en/question/44738/mount-error22-invalid-argument-on-f20-using-fstab/
简单挂载可以不适用sambapasswd文件,在fstab直接添加加载参数。
匿名共享
XML/HTML代码
  1. //192.168.1.100/share   /share   cifs    defaults,guest  0 0
需要账号密码共享
XML/HTML代码
  1. //192.168.1.100/share   /share   cifs    defaults,username=samba,password=samba
参考:https://blog.csdn.net/autumoonchina/article/details/117415291
         https://blog.csdn.net/weixin_39856709/article/details/116768056
Debian/Ubutnu需要安装samba组件
sudo apt-get install samba samba-common
sudo apt-get install smbclient
sudo apt-get install cifs-utils
 
简单示例:
匿名:mount -t cifs //192.168.1.100/share /share  -o  user=guest,pass=guest
用户:mount -t cifs //192.168.1.100/share /share  -o  user=user,pass=pass
卸载:umount  /share    mount -a
 
Openwrt挂载共享目录
安装相关组件,如缺少其他组件,可以自己安装。
XML/HTML代码
  1. opkg update
  2. opkg install kmod-fs-cifs
  3. opkg install kmod-nls-utf8 kmod-nls-base kmod-crypto-hmac kmod-crypto-md5 kmod-crypto-misc cifsmount
挂载网络共享
XML/HTML代码
  1. mount -t cifs -o username="user",password="pass",file_mode=0777,dir_mode=0777,vers=1.0,iocharset=utf8 -v  //192.168.1.100/share  /mnt/share
注意:samba4对旧版共享协议smb1已经不支持,需要加上vers=1.0,记得加iocharset=utf8 -v 不然中文的全乱码。如果不是smb1协议,可以按实际情况调整参数。
简单使用的示例:
mount -t cifs //cifs-server/share /localfolder -o user=username,password=password
匿名访问:
mount -t cifs //cifs-server/share /localfolder -o guest
 
OpenWrt自动挂载共享目录方法 
1、编写挂载命令保存成文件guazai
XML/HTML代码
  1. #!/bin/sh /etc/rc.common
  2. START=99
  3. STOP=15
  4.  
  5. enable() {
  6.  mount -t cifs -o vers=2.0,username=guest,iocharset=utf8 //192.168.31.210/nas /root/nas
  7.   echo start
  8.   #commands to launch application, such as above
  9. }
  10.  
  11. start() {
  12.  mount -t cifs -o vers=2.0,username=guest,iocharset=utf8 //192.168.31.210/nas /root/nas
  13.   echo start
  14.   #commands to launch application, such as above
  15. }
  16.  
  17. }
enable自启动运行
username=guest,是不需要权限。如果需要权限,username=用户名,password=密码就可以了。
start 执行guazai start的时候执行(在自动挂载失效时挂载的) 
前面为共享目录的原始地址,后面为需要挂载的地方//192.168.31.210/nas /root/nas
2、给文件执行权限
XML/HTML代码
  1. chmod +x guazai
3、软连接至/etc/rc.d文件夹下
XML/HTML代码
  1. ln -s /root/guazai /etc/rc.d/S99guazai
/root/guazai是我文件存放的位置,最好单独时放置一个文件夹内方便后期维护。
S99是执行优先级如果不是特别需要提前执行的命令S99就够了,不加的话有可能不会开机自启。
 
其他:
如果安装了 cifsmount 软件包 mount.cifs 可以代替 mount -t cifs,方法基本同mount命令。
简单使用的示例:
mount.cifs  //cifs-server/share /localfolder -o user=username,password=password,iocharset=utf8,file_mode=0777,dir_mode=0
777,nounix,noserverino
匿名访问:
mount.cifs //cifs-server/share /localfolder -o guest,iocharset=utf8,file_mode=0777,dir_mode=0
777,nounix,noserverino
fstab挂载
XML/HTML代码
  1. //cifs-server/share /localfolder  cifs userusername=user,passpassword=pass,sec=ntlm,file_mode=0777   0  0
IPV6网络SMB(Samba)连接方式
IPV6的服务器搭建了SMB服务,需要转换一下IPV6地址,才能直接连接SMB。
IPV6-SMB解决方案
一、绑定域名访问,
直接将IPV6地址绑定到你的域名AAAA记录,例如找个【smb.tools.cxthhhhh.com】绑定到【2001:41d0:1004:3298:0:ff:fec8:42a7】
然后通过【此电脑】-【添加网络位置】或【运行】直接添加你的域名地址即可。(同IPV4连接)
\\smb.tools.cxthhhhh.com
二、【运行】具体命令
例如我搭建好SMB的IPV6服务器IP是【2001:41d0:1004:3298:0:ff:fec8:42a7】
①将IPV6地址中的【:】(冒号)换成【-】(短横杠)
②在后面加上【.ipv6-literal.net】,完整地址如下
\\2001-41d0-1004-3298-0-ff-fec8-42a7.ipv6-literal.net
然后通过【此电脑】-【添加网络位置】或【运行】直接添加你的域名地址,,然后输入SMB账号密码,即可直接访问。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):