Centos
Samba服务介绍
Samba是一种开源的在Linux和UNIX系统中实现SMB协议的一种服务软件,C/S模式。所谓SMB(Server Messages Block,信息服务块)是一种在局域网可以进行共享文件和打印机的一种通信协议。 并且可以为局域网内不同计算机提供文件及打印机等资源共享服务。
Samba服务的搭建
首先检查系统中是否安装有samba服务相关的软件包。
rpm -qa | grep samba
rpm -q cifs-utils
安装samba-client及cifs-utils
sudo yum install samba-client
sudo yum install cifs-utils
通过smbclient命令确认是否可正常访问
sudo smbclient -L 192.168.1.101 -U qxhgd
sudo smbclient -L 192.168.1.101 -U qxhgd%qxhgd-pwd
访问smb服务器文件
- 交互式访问:通过smbclient命令访问服务器,之后会进入smb:/>提示符:
smbclient //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
进入提示符之后,则可通过cd 、lcd、get、megt、put、mput等命令,以交互的方式访问smb服务器了。使用过ftp软件的人应该对比并不陌生了。
2. 自动访问:如果将 -c 参数传给 smbclient,那么你可对远程 SMB 共享自动执行命令。这可让您在脚本中使用 smbclient:
– 如
smbclient -c "ls" //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
等价于:
smbclient //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
smb:/>ls
挂载服务器共享目录
不做说明容易导致linux开机异常
Ubuntu
更新软件包并安装samba
sudo apt update
sudo apt install smbclient cifs-utils
查看samba状态
sudo systemctl status nmbd
配置防火墙允许samba报文传输
sudo ufw allow 'Samba'
备份配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
修改配置文件
sudo vim /etc/samba/smb.conf
#为全部用户开通samba服务
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700
增加samba用户
sudo smbpasswd -a user_name
重启服务
sudo systemctl restart nmbd
临时挂载文件夹
sudo mkdir -p /mnt/windows_share
接着,使用mount命令挂载Windows共享:
sudo mount -t cifs //windows_host_name_or_ip/shared_folder_name /mnt/windows_share -o username=windows_user,password=windows_password,workgroup=windows_workgroup,domain=windows_domain,vers=3.0
将 windows_host_name_or_ip 替换为Windows电脑的实际主机名或IP地址,shared_folder_name 替换为共享文件夹的名称,windows_user 和 windows_password 分别替换为访问共享所需的Windows用户名和密码。如果Windows电脑属于工作组,请使用 workgroup=windows_workgroup;如果是域环境,则使用 domain=windows_domain。添加 vers=3.0 参数以指定使用SMBv3协议,提高兼容性和安全性。
出于安全考虑,您可以创建一个包含凭据的文件(如 /path/to/credentials.txt),其中包含两行:
username=windows_user
password=windows_password
然后在挂载命令中使用 -o credentials=/path/to/credentials.txt 参数,避免在命令行中明文输入密码
访问共享文件: 成功挂载后,您应能在 /mnt/windows_share 目录下看到并访问Windows电脑的共享文件和目录。使用文件管理器或在终端中切换到该目录进行浏览、读写等操作。
确认网络与防火墙设置: 确认两台计算机间的网络连接正常,且防火墙设置允许SMB/CIFS流量通过。在Windows电脑上,可能需要启用“文件和打印机共享”规则,或在Ubuntu系统中允许相关端口(如TCP 139、445)的通信。