samba修改密码
· 阅读需 4 分钟
Samba 是实现 SMB/CIFS 协议 的开源工具,用于 Linux/Unix 与 Windows/macOS 之间的跨平台文件/打印机共享。下面从服务端搭建、客户端访问、权限与安全三方面,给出完整可直接使用的流程。
一、服务端:安装与配置(Linux)
1. 安装 Samba
# Debian/Ubuntu
sudo apt update && sudo apt install samba samba-common-bin -y
# CentOS/RHEL/Rocky
sudo dnf install samba samba-client samba-common -y
2. 备份并编辑主配置
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf
3. 全局配置([global])
[global]
workgroup = WORKGROUP # 与 Windows 工作组一致
netbios name = LINUX-SMB # 网络邻居显示名
security = user # 用户认 证模式
map to guest = bad user # 无效用户映射为访客
min protocol = SMB2 # 安全协议
encrypt passwords = yes
log file = /var/log/samba/log.%m
4. 共享目录配置(示例:可写共享)
在文件末尾添加:
[myshare]
comment = My Samba Share
path = /srv/samba/myshare # 实际共享路径
browseable = yes # 可被浏览
writable = yes # 可写
read only = no
valid users = sambauser # 允许的用户
create mask = 0664 # 新建文件权限
directory mask = 0775 # 新建目录权限
5. 创建共享目录并授权
sudo mkdir -p /srv/samba/myshare
sudo chown -R sambauser:sambauser /srv/samba/myshare
sudo chmod 2775 /srv/samba/myshare # SGID 继承组
6. 创建 Samba 用户(必须是系统已有用户)
# 先创建系统用户(可选)
sudo useradd -m sambauser
# 设置 Samba 密码
sudo smbpasswd -a sambauser
7. 启动并设置开机自启
sudo systemctl start smbd nmbd
sudo systemctl enable smbd nmbd
sudo systemctl status smbd # 检查状态
8. 防火墙放行(如开启)
# Ubuntu/Debian
sudo ufw allow samba
# CentOS/RHEL
sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload
二、客户端:访问 Samba 共享
1. Windows 访问
- 打开资源管理器,地址栏输入:
\\<服务器IP>\myshare - 输入 Samba 用户名/密码(如
sambauser)。 - 可右键映射为网络驱动器,方便长期使用。
2. Linux 客户端访问
方式一:临时挂载(CIFS)
# 安装 cifs-utils
sudo apt install cifs-utils -y # Debian/Ubuntu
sudo dnf install cifs-utils -y # CentOS/RHEL
# 创建挂载点
sudo mkdir -p /mnt/smbshare
# 挂载
sudo mount -t cifs //<服务器IP>/myshare /mnt/smbshare \
-o username=sambauser,password=你的密码,vers=3.0
方式二:永久挂载(/etc/fstab)
sudo nano /etc/fstab
# 添加一行
//<服务器IP>/myshare /mnt/smbshare cifs credentials=/etc/smb.creds,vers=3.0 0 0
创建凭证文件(安全):
sudo nano /etc/smb.creds
username=sambauser
password=你的密码
sudo chmod 600 /etc/smb.creds # 仅 root 可读
sudo mount -a # 生效
方式三:smbclient 工具(交互式)
smbclient //<服务器IP>/myshare -U sambauser
# 输入密码后,可用 ls、get、put 等命令
3. macOS 访问
- 访达 → 前往 → 连接服务器
- 输入:
smb://<服务器IP>/myshare - 输入用户名/密码,挂载后即可读写。
三、常用权限与安全配置
1. 匿名共享(谨慎使用)
[public]
path = /srv/samba/public
browseable = yes
writable = yes
guest ok = yes # 允许匿名
map to guest = bad user
