samba安装及使用

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

1.samba的作用
samba是一款软件,主要提供cifs协议(基于文件系统传输)
2.samba的安装与启用
环境:服务端:172.25.254.117 客户端:172.25.254.217
(1)在服务端

yum install samba samba-client.x86_64 samba-common -y
systemctl start smb
systemctl stop firewalld.service
samba的基本信息
主配置文件: vim /etc/samba/smb.conf      
端口:139/tcp 139/udp 445/tcp 445/udp
systemctl restart smb.service 

(2)基本配置信息

vim /etc/samba/smb.conf
workgroup = WESTOS ##工作组的设定
server string = hello world ##全局共享信息
hosts deny = 172.25.254.217 ##用户黑名单
hosts allow = 172.25.254.117 ##用户白名单

(3)测试

yum install smaba-client -y
smbclient -L //172.25.254.117   ##没有密码直接回车 匿名登陆

这里写图片描述
这里写图片描述
(4)本地用户的建立
*)在服务端

samba用户必须是本地用户
useradd westos
useradd lee
smbpasswd -a westos
smbpasswd -a lee
pdbedit -L  ##列出samba用户
pdbedit -x lee  ##删除samba用户
setsebool -P samba_enable_home_dirs on

*)测试
在客户端:

smbclient -L //172.25.254.117 -U lee    ##输入密码

这里写图片描述
这里写图片描述
在smb下命令与linux不同,为了方便操作我们通常将其挂载后使用

mount //172.25.254.117/lee /mnt -o username=lee,password=1

客户端永久挂载:

vim /etc/fstab
//172.25.254.117/lee /mnt cifs defaults,username=lee,password=1 0 0

这里写图片描述
(5)自定义共享目录

mkdir /sambadir
semanage fcontext -a -t samba_share_t '/sambadir(/.*)?'
restorecon -FvvR /sambadir/
vim /etc/samba/smb.conf
[DATA]
comment = 123
path = /sambadir

*)当目录是系统目录时

setsebool -P samba_export_all_ro on
测试
smbclient -L //172.25.254.117 -U lee
smbclient //172.25.254.117/DATA -U lee

*)匿名用户登陆权限开放

guest ok = yes      ##匿名用户可以登陆
map to guest = bad user ##匿名用户可以使用guest名称挂载

(6)权限可写

用户可写
setsebool -P samba_export_all_rw on
chmod 777 /sjw/
writable = yes|no ##是否开启写权力
write list = lee ##写权力对lee用户开放
write list = +lee ##写权力对lee组开放
admin users =westos ##设定westos用户为当前共享的用户
valid users = lee   ##设定当前共享的有效用户
browseable = yes|no ##当前共享是否隐藏

(7).samba的多用户挂载

*)在客户端
yum install cifs-utils -y
vim /root/sambapasswd
username=lee
password=1

chmod 600 /root/sambapasswd
mount -o credentials=/root/sambapasswd,sec=ntlmssp,multiuser //172.25.254.117/DATA /mnt/

测试

ls /mnt
su - student
cifscreds add -u westos 172.25.254.117
ls /mnt
<think>嗯,用户询问的是在Linux系统上安装使用Samba服务的具体步骤。用户特别提到了"安装教程"和"使用指南",说明ta需要一个包含详细操作命令的实用指南。从站内引用来看,用户可能已经了解到Samba的基本概念,但需要更落地的实施方案。用户可能是系统管理员或需要搭建内部文件共享的开发人员。考虑到Samba通常用于企业环境,准备补充企业级配置要点和安全建议,这对实际部署很重要。ta直接要"教程",说明需要开箱即用的解决方案,而不是理论介绍。从技术角度考虑,需要覆盖这些方面:第一,安装过程必须区分主流发行版,Ubuntu和CentOS的包管理命令不同第二,配置文件结构要详细解释,特别是安全参数如`validusers`第三,访问控制部分要明确Linux权限与Samba权限的叠加关系第四,企业环境需要的AD域集成可作为进阶内容第五,防火墙设置容易被忽略,需要特别提醒用户没提具体Linux版本,所以考虑采用通用写法,关键命令用变量表示路径(如`<share_name>`)。测试部分考虑给出两种方法:smbclient快速验证和mount持久化挂载,覆盖不同场景。安全注意事项非常重要,特别是禁用SMB1和加密传输这类生产环境必选项。最后添加的"进阶实践"部分作为延伸,方便有域环境需求的用户快速定位。</think> 以下是在Linux系统上安装和配置Samba服务的完整指南,适用于Ubuntu/CentOS等主流发行版: ### 一、安装Samba服务 ```bash # Ubuntu/Debian sudo apt update sudo apt install samba -y # CentOS/RHEL sudo yum install samba samba-client -y ``` ### 二、配置文件设置(`/etc/samba/smb.conf`) 1. **备份原始配置** ```bash sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ``` 2. **创建共享目录**(示例共享`/srv/share`) ```bash sudo mkdir -p /srv/share sudo chmod 1777 /srv/share # 粘滞位权限设置 ``` 3. **编辑配置文件** ```ini [global] workgroup = WORKGROUP server string = Samba Server security = user [Shared] path = /srv/share browseable = yes writable = yes valid users = @smbgroup create mask = 0775 ``` ### 三、用户与权限配置 1. **创建用户组** ```bash sudo groupadd smbgroup sudo usermod -aG smbgroup $USER # 添加当前用户 ``` 2. **添加Samba用户**(需现有系统用户) ```bash sudo smbpasswd -a username # 按提示设置密码 ``` ### 四、服务管理 ```bash # 启动服务 sudo systemctl start smbd nmbd # 设置开机自启 sudo systemctl enable smbd nmbd # 检查状态 sudo systemctl status smbd ``` ### 五、客户端访问测试 1. **Linux客户端** ```bash smbclient -L //server_ip -U username ``` 2. **挂载共享**(临时挂载) ```bash sudo mount -t cifs //server_ip/Shared /mnt -o username=user1 ``` 3. **Windows访问** ``` 文件资源管理器地址栏输入:\\server_ip\Shared ``` ### 六、防火墙配置 ```bash # Ubuntu sudo ufw allow samba # CentOS sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload ``` ### 七、高级配置(可选) 1. **匿名共享**(在共享段添加) ```ini guest ok = yes force user = nobody ``` 2. **多用户权限**(指定读写权限) ```ini write list = @admingroup read list = @usersgroup ``` > **安全提示**: > 1. 定期更新Samba:`sudo apt upgrade samba` > 2. 禁用SMBv1协议(在`[global]`段添加): > ```ini > min protocol = SMB2 > ``` > 3. 使用加密传输: > ```ini > server signing = mandatory > ``` --- ### 常见问题排查 1. **连接拒绝** ```bash # 检查端口状态 sudo ss -tulpn | grep smb ``` 2. **权限错误** ```bash # 检查SElinux状态 getenforce # 临时禁用 sudo setenforce 0 ``` 3. **配置文件验证** ```bash testparm -s # 测试语法有效性 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值