通过在linux上部署samba服务,linux文件系统映射到windows或者linux。下文通过Ubuntu为例,具体方式如下
- samba安装
sudo apt-get install samba samba-common
- 添加samba用户,以及密码
sudo smbpasswd -a xx
会自动提示输入密码
3. samba配置文件新增用户配置
修改如下文件:`sudo vi /etc/samba/smb.conf
[SHARE]
comment = share home directory
path = /
create mask = 0755
directory mask = 0755
public = yes
writable = yes
valid users = root
browseable = yes
各字段含义如下:
[SHARE]:这是你的Samba共享的名字,这个名字会出现在网络邻居中。
comment = share home directory:这是对你的共享的描述,仅供参考,不影响共享的使用。
path = /:这是你的共享文件夹在服务器上的路径。这里配置为根目录,意味着使用者拥有对整个文件系统的访问权限,而这通常并不安全。你通常应该指定一个特定的目录作为共享目录。
create mask = 0755 和 directory mask = 0755:这些设置适用于新创建的文件和目录,它们定义了默认的文件和目录权限。在这里,权限被设置为755,这表示用户拥有读/写/执行权限,而组群和其他用户只有读和执行权限。
public = yes:这允许未经身份验证的用户访问该共享。
writable = yes:这允许用户具有对共享文件夹的写权限。
valid users = root:这意味着只有root用户可以访问这个共享。
browseable = yes:这意味着此共享可以在网络邻居或其他类似的网络浏览工具中被看到。
- 重启
smba
服务
sudo systemctl restart smbd
或者
/etc/init.d/smbd restart
- windows映射
5.1 我的电脑映射网络驱动器
5.2 输入linux设备地址:格式如下:\\192.168.0.79\Share
,其中Share
即为smb.conf
共享出的名字
5.3 输入samba
中增加的用户名以及密码
6.linux映射——通过挂载方式
6.1 创建挂在路径,推荐在/mnt
路径下挂载临时文件,其他位置可能存在挂载无法取消问题
sudo mkdir -p /mnt/share
6.2 挂载
sudo mount -t cifs //ip/share /mnt/share -o username=root,password=*
6.3 取消挂载
#!/bin/bash
# 获取正在使用 /mnt/share 的进程 ID
pids=$(sudo fuser -m /mnt/share 2>/dev/null | awk '{for (i=2; i<=NF; i++) printf "%s ", $i}')
# 检查是否有进程在使用挂载点,不杀死进程,可能有很多系统进程都在监视
if [ -n "$pids" ]; then
echo "Killing processes: $pids"
# 终止所有进程
#sudo kill -9 $pids
else
echo "No processes are using /mnt/share"
fi
# 强制取消挂载
sudo umount -f /mnt/share
# 检查取消挂载是否成功
status=$?
if [ $status -eq 0 ]; then
echo "/mnt/share is a mount point,Failed to unmount /mnt/share"
else
echo "/mnt/share successfully unmounted"
fi
FAQ
忘记了 Samba 账户密码
1.列出 Samba 用户:使用命令 sudo pdbedit -L
列出所有 Samba 用户。
2. 重置密码:使用命令 sudo smbpasswd -a
用户名`,然后按照提示输入新密码。
映射连接失败
- 查看smb服务是否正常
sudo systemctl status smbd
如果显示Loaded: Loaded(smbd.service;disabled;vendor preset: enabled)
,smbd 服务则是禁用状态。可以尝试启用并启动 smbd 服务
sudo systemctl enable smbd
sudo systemctl start smbd
再次查看smb服务是否正常
- windows
控制面板 程序 启用关闭Windows功能
中 选中SMB选项