centos
/etc/fstab文件的作用
磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。
系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。
详细参考
https://blog.csdn.net/youmatterhsp/article/details/83933158
服务端配置
- CIFS:Common Internet File System Windows 和 Unix 系统之间共享文件的一种协议
- CIFS:客户端主要是 Windows
- 支持多节点同时挂载以及并发写入
- 一、Samba 服务器 (存储端)
- yum -y install samba
- mkdir /data
- chmod 777 /data
- cp -rf /etc/hosts /data/
- useradd alice
- useradd jack
- smbpasswd -a alice
- smbpasswd -a jack
- 1. 安装软件
- [root@samba ~]# yum -y install samba
- 2. 建立共享所需要目录
- [root@samba ~]# mkdir /data
- [root@samba ~]# chmod 777 /data
- [root@samba ~]# cp -rf /etc/hosts /data/
- 3. 建立访问用户
- [root@samba ~]# useradd alice
- [root@samba ~]# useradd jack
- [root@samba ~]# smbpasswd -a alice
- [root@samba ~]# smbpasswd -a jack
- 4. 通过 Samba 共享
- [root@samba ~]# vim /etc/samba/smb.conf
- [data]
- path = /data
- ;valid users = alice jack
- ;hosts allow = 192.168.122.
- ;write list = jack
- writable = yes
- 5. 启动 Samba 服务
- [root@samba ~]# systemctl start nmb smb
- [root@samba ~]# systemctl enable nmb smb
- ##若开启防火墙,则使用下列配置
- firewall-cmd --permanent --add-service=samba
- firewall-cmd --permanent --add-service=samba-client
- firewall-cmd --permanent --add-service=mountd
- firewall-cmd --reload
复制代码
客户端配置
- Windows 端:
- 1 windows+r调出运行窗口,输入:
- \\192.168.1.16 #####服务端IP
- 2 可将文件,"映射网络驱动器".
- Linux 端: [了解]
- # yum -y install samba-client cifs-utils
- 1. 查看存储端共享 [可选]
- # smbclient -L 192.168.1.16 --user=alice%tianyu //查看服务器共享,("用户名%密码")
- 2. 手动挂载 [可选]
- # mkdir /mnt/cifs
- # mount -t cifs -o user=alice,pass=tianyu //192.168.1.16/data /mnt/cifs
- 3. 自动挂载到指定目录
- # vim /etc/fstab
- //192.168.1.16/data /mnt/cifs cifs user=alice,pass=tianyu 0 0
- # mount -a
- 4. 查看挂载
- #df -h
- #mount
- //192.168.1.16/data on /mnt/cifs type cifs (rw,relatime,vers=1.0,cache=strict,username=alice,domain=SAMBA,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.16,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1)
复制代码
注意777权限
mount -t cifs -o "rw,dir_mode=0777,file_mode=0777,username=wgpro.com,password=wgpro.com" \\\\192.168.42.3\\Web-DB\\ /www/wwwroot/nas
- vim /etc/fstab
- 增加以下内容
- //192.168.1.1/share /data cifs defaults,username='username',password='your password' 0 0
- 共享路径 挂载点 文件类型 挂载参数(共享的认证账号和认证账号的密码等参数)
- 查看挂载
- df -Th
复制代码
方法二:
通过开机自动加载rc.local的方式自动挂载
- echo "mount -t cifs //192.168.1.1/share/ /data -o username='uaername',password='your password'" >> /etc/rc.local
复制代码
这样在开机的时候系统会执行/etc/rc.local而自动挂载samba的共享文件夹
执行命令,让共享文件夹被挂载
当看到//开头 时就代表成功了
备注:折腾半天我发现我的 环境特殊。不适合以上 得写个脚本定时执行
nas vpn -->服务器 -->挂载vpn nasIP
当服务器重启好后,vpn还没拨入进来。。。
所以得写个简单的判断脚本来定时检测是否挂载
- 过滤下链接 多写点也行 比如//192.168
- df -Th | grep //
- if [ $? -ne 0 ]; then
- echo "failed"
- else
- echo "succeed"
- fi
- 另外shell中的比较符号如下:
- -eq 等于
- -ne 不等于
- -gt 大于
- -lt 小于
- -ge 大于等于
- -le 小于等于
复制代码
最终脚本
记得账号密码是要改下的。
- #!/bin/bash
- df -Th | grep //
- if [ $? -ne 0 ]; then
- mount -t cifs -o "rw,dir_mode=0777,file_mode=0777,username=wgpro.com,password=wgpro.com" \\\\192.168.42.3\\Web-DB\\ /www/wwwroot/nas
- fi
复制代码
|