cifs-utils
cifs-utils已经包含了用于挂载SMB共享的工具。在终端中输入以下命令来安装:
apt update -y && apt install cifs-utils -y
临时挂载
创建挂载点
创建一个挂载点,例如在/mnt目录下创建一个名为smb 共享的目录netfile1和netfile2
mkdir -v /mnt/netfile1
mkdir -v /mnt/netfile2
mount挂载SMB共享
使用mount
命令挂载SMB共享。你需要提供SMB共享的IP地址、共享名称、用户名和密码。例如:
mount -t cifs //10.0.0.2/tikin_nasdisk1 /netfileone -o username=user,password=pass
mount -t cifs //10.0.0.2/tikin_nasdisk2 /netfiletwo -o username=user,password=pass
在这个例子中,10.0.0.2
是SMB共享的IP地址,sharedfolder
是共享的名称,user
和pass
分别是你的用户名和密码。
现在你可以在/mnt/netfile1
和/mnt/netfile2
目录下访问你的SMB共享了。
注意:这种方法挂载的SMB共享在重启后会消失,如果需要在开机时自动挂载,可以将其添加到/etc/fstab
文件中。
fstab
通过编辑/etc/fstab文件,可以实现在开机时自动挂载SMB共享。
简述
/etc/fstab是一个配置文件,用于定义哪些磁盘分区或其他类型的文件系统应该在系统启动时被挂载,以及挂载的具体选项。要实现开机自动挂载SMB共享,您需要在此文件中添加相应的条目,指定SMB共享的位置、本地挂载点以及其他挂载参数。
创建挂载点
例如,假设您要挂载的SMB共享位于10.0.0.4的sharedfolder,并且您的用户名是user,密码是pass。您可以在/mnt目录下创建一个名为/mnt/netfile1
和/mnt/netfile2
的目录作为挂载点。然后,在/etc/fstab中添加以下行:
mkdir -pv /mnt/netfile1 && mkdir -pv /mnt/netfile2
fstab 明文挂载smb 共享
在/etc/fstab文件中明文挂载SMB共享意味着直接在文件中指定用户名和密码,这样做虽然方便,但可能会带来安全风险,因为/etc/fstab文件通常对其他用户是可读的,这可能会导致敏感信息泄露。
vim /etc/fstab
#NAS auto mount 明文密码挂载
#挂载点netfile1
//10.0.0.2/tikin_nasdisk1 /mnt/netfile1 cifs username=your_username,password=your_password,iocharset=utf8,sec=ntlm 0 0
#挂载点netfile2
//10.0.0.2/tikin_nasdisk2 /mnt/netfile2 cifs username=your_username,password=your_password,iocharset=utf8,sec=ntlm 0 0
fstab 认证文件 挂载smb 共享
认证文件
创建文件
为了安全地存储Samba共享的用户名和密码,应创建一个单独的认证文件而不是直接在/etc/fstab中明文存储这些信息。
可以创建一个新文件,例如/etc/smbpasswd,在其中输入格式为username=value和password=value的认证信息,并将文件权限设置为600以保护敏感数据。
vim /etc/smbpasswd
username=value
password=value
文件权限(可忽略)
由于/etc/fstab文件中包含了敏感的挂载信息,因此应该对其权限加以限制,以防止普通用户读取。可以使用chmod命令调整文件的权限
参考:所有者添加可写权限
chmod u+w /etc/smbpasswd
通过这样的配置,可以确保文件的安全性,同时满足特定用户或用户组对文件的访问需求。
合理管理文件权限是维护系统安全的重要一环。
fstab配置
vim /etc/fstab
//10.0.0.2/tikin_nasdisk1 /mnt/netfile1 cifs rw,credentials=/etc/smbpasswd,gid=0,uid=0,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
//10.0.0.2/tikin_nasdisk2 /mnt/netfile2 cifs rw,credentials=/etc/smbpasswd,gid=0,uid=0,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
参数
参数 | 说明 |
---|---|
//10.0.0.2 | Samba网络硬盘的IP地址 |
/tikin_nasdisk1 | Samba网络硬盘的共享地址 |
/mnt/netfile2 | 刚刚创建的本地挂载目录 |
cifs | 挂载的文件类型 |
credentials=/etc/smbpasswd | 刚刚创建的帐号密码验证文件 |
gid=0,uid=0 | 用户的ID,输入指令ID可以查看当前用户的这两个ID编号 |
rw | 读写权限 |
iocharset=utf8 | 字符集为utf8,主要是防止中文乱码 |
file_mode=0777,dir_mode=0777 | 共享的目录和文件权限为777 |
测试
使用mount -a命令来测试SMB的挂载配置是否正确。
mount -a
如果没有错误消息,则表示挂载成功,并且会在系统重启后依然保持挂载状态
这样配置后,每次系统启动时都会尝试根据/etc/fstab中的设置自动挂载SMB共享。使用这种方法,您无需每次手动挂载,大大提高了便捷性和工作效率。但请确保网络在启动时就可用,否则挂载可能会失败。