windows需要通过samba来访问debian,所以需要再debian上安装samba服务
一、安装Samba服务
在Debian系统中,可以使用以下命令安装Samba服务:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba
二、创建共享文件夹
使用以下命令创建一个共享文件夹:
sudo mkdir -p /srv/samba/share
sudo chmod 777 /srv/samba/share
其中,/srv/samba/share是共享文件夹的路径,可以根据需要修改。
三、配置Samba服务
使用以下命令编辑Samba配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容:
[share]
comment = Shared folder
path = /srv/samba/share
browseable = yes
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
其中,[share]是共享文件夹的名称,可以根据需要修改。comment是注释,可以不修改。path是共享文件夹的路径,应与第二步中创建的文件夹路径一致。browseable设置为yes表示该共享文件夹可以在网络上被浏览。guest ok设置为yes表示访问该共享文件夹不需要认证。read only设置为no表示该共享文件夹可以被写入。create mask和directory mask是文件和文件夹的权限掩码,设置为0777表示所有用户都具有最高权限。最后保存并关闭文件。
四、重启Samba服务
使用以下命令重启Samba服务:
sudo service smbd restart
五、添加用户
smbpasswd -a 用户名
接着需要两次输入密码
此处设置的用户和密码,是用来登录用的
六、将samab添加到防火墙。
如果在运行 sudo ufw allow samba
命令后可以连接,但在重启后无法连接,那么可能是您的防火墙规则没有正确保存。您可以尝试运行 sudo ufw status
命令来查看当前的防火墙规则。如果您看不到允许Samba服务的规则,您可以再次运行 sudo ufw allow samba
命令来添加规则。
此外,您可以检查 /etc/ufw/user.rules
文件,以确保Samba服务的防火墙规则已正确保存。如果该文件中没有相关规则,您可以手动添加以下内容:
### tuple ### allow any 137,138/udp (Samba)
-A ufw-user-input -p udp --dport 137 -j ACCEPT
-A ufw-user-input -p udp --dport 138 -j ACCEPT
### tuple ### allow any 139,445/tcp (Samba)
-A ufw-user-input -p tcp --dport 139 -j ACCEPT
-A ufw-user-input -p tcp --dport 445 -j ACCEPT
七、在Windows系统中访问共享文件夹
在Windows系统中,可以通过以下步骤访问共享文件夹:
打开“计算机”,在地址栏中输入Linux系统的IP地址,按下回车键。
输入Linux系统的用户名和密码,点击“确定”按钮。
打开共享文件夹,在其中进行文件的读写操作。
可能出现的错误
执行smbpasswd有可能会出现以下错误:
bash: smbpasswd: command not found
解决办法:出现该错误表示samba-client没有安装
执行命令apt-get install samba-client
执行samba-client命令可能会出现以下错误:
smbclient: Depends: libwbclient0 (= 2:4.5.16+dfsg-1+deb9u1) but 2:4.5.16+dfsg-1+deb9u2 is to be installed
解决办法:
执行命令 apt-get autoremove libwbclient0 //卸载之前安装的版本
执行命令 apt-get install libwbclient0=2:4.5.16+dfsg-1+deb9u1 //安装所需要的版本
通过以上命令即可解决问题,此时可以执行apt-get install samba-client,将成功安装samba-client
起动samba服务
使用命令 systemctl start smb
执行以上命令会报错:Failed to start smb.service: Unit smb.service not found
到目录/etc/init.d目录下可以发现没有smb文件,但可以发现smnd和nmbd文件,使用这两个执行文件来起动samba服务,执行以下命令:
systemctl restart smbd.service nmbd.service
若执行上述命令时,出现以下错误:
Failed to restart smbd.service: Unit smbd.sercvice not found
Failed to restart nmbd.service: Unit nmbd.service not found
出现上述错误的原因是因为samba没有安装成功,因此需要执行apt-get install samba,重新安装samba,安装完成以后,再执行以上命令,即可成功起动samba服务
若要查看samba服务是否起动成功,只需要执行命令systemctl status smbd.service,执行该命令后,可以在终端上看到active(running),表明samba服务已经起动成功。
评论0