一、 Cifs 与 fstab
/etc/fstab 是一个用于配置在 Linux 系统启动时自动挂载的文件系统的文件。它支持多种类型的文件系统和协议,包括但不限于以下几种:
-
本地文件系统
例如 ext2, ext3, ext4, xfs, btrfs, jfs, vfat, ntfs 等。 -
网络文件系统
NFS (Network File System):一个由 Sun Microsystems 开发的分布式文件系统协议。
CIFS/SMB (Common Internet File System/Server Message Block):一个由 Microsoft 开发的网络文件共享协议,通常在 Windows 系统中使用。SSHFS (SSH File System):一个通过 SSH 协议提供文件访问、传输和管理能力的网络文件系统。 -
伪文件系统
例如 proc, sysfs, devpts, tmpfs, etc。
特殊的块设备和磁盘镜像:例如 iso9660 (用于 CD-ROMs), squashfs, udf 等。 -
虚拟文件系统
例如 aufs,overlay,used in Docker for layering images.在 /etc/fstab 文件中,可以为每种类型的文件系统指定不同的挂载选项。例如,NFS 文件系统可以使用 nfs 类型和特定的 NFS 挂载选项,CIFS/SMB 文件系统可以使用 cifs 类型和特定的 CIFS 挂载选项等。
二、挂载SMB文件系统
1、创建一个SMB文件系统
(1)详情参考~
(2)以下面的参数为例
创建一个SMB文件系统,记住地址、用户名、密码
IP或域名:192.168.1.100
username名:user
password:123456
2、通过命令挂载文件系统
用一下命令即可挂载SMB文件系统,但此方式为临时挂载立刻生效,重新系统丢失
mount -t cifs //192.168.1.100/nas /mnt/nas -o username=user,password=123456
解释:
mount
挂载命令
-t
指定协议
cifs
协议名称(支持CIFS/SMB)
//192.168.1.100/nas
SMB服务IP+共享名
/mnt/nas
本地挂载目录(本地必须存在)
username
用户名
password
密码
3、通过配置文件永久挂载文件系统
(1)编辑/etc/fstab文件,在 /etc/fstab 文件的最后,添加以下行
//192.168.1.100/nas /mnt/nas cifs username=user,password=123456,nofail,_netdev 0 0
解释:
nofail
选项允许系统在无法挂载某个文件系统时继续启动,避免系统停止而无法启动,进入紧急模式
-_netdev
告诉系统在网络服务启动后再尝试挂载这个文件系统,针对网络文件系统。
(2)配置独立用户名密码
在 /etc/fstab 文件中直接存储密码可能不安全。作为一个更安全的替代方案,可以将用户名和密码存储在一个只有 root 可读的单独文件中,然后在 /etc/fstab 文件中引用那个文件
username=user
password=123456
然后,修改这个文件的权限,使只有 root 用户可以读取它:
sudo chmod 600 /etc/cifs-credentials
在 /etc/fstab 文件中,将用户名和密码替换为 credentials 选项
//192.168.1.100/nas /mnt/nas cifs credentials=/etc/cifs-credentials 0 0
(3)应用配置
验证配置 mount -fav
应用配置 mount -a
检查是否挂载成功 mount | grep /mnt/nas
,也可以通过在挂载目录下检查是否有挂载的文件系统来验证。
重启系统验证是否生效 reboot