Samba是Linux、Unix和windows之间进行文件共享的软件组件,Samba是基于GPL协议的自由开源软件。Samba使用SMB/CIFS协议为windows、OS/2、Linux,以及支持该协议众多操作系统提供文件和打印共享。
所需要的软件Samba(服务器端软件包)、Samba-client(客户段软件包)和Samba-common(Samba公共文件软件包).其中Samba由smbd和nmbd两个进程组成。两个进程启动脚本是独立的。
smbd服务是提供给客户端文件共享和打印机服务。除此之外提供用户权限验证和锁功能。smbd默认监听的TCP端口为139和445。Samba使用Smb服务启动smba进程。可以使用nestat -nutlp查看端口信息。
nmbd进程是提供NetBIOS名称服务,瞒着CIFS协议的共享访问环境。Samba通过Nmb服务启动nmbd进程。nmbd默认监听的端口为UDP137端口。
防火墙与SElinux默认策略会阻止客户端用户的访问,因此我们要暂时关闭
[root@localhost ~]# setenforce 0 临时关闭SElinux
[root@localhost ~]# systemctl stop firewalld.service 临时关闭防火墙
[root@localhost ~]# yum -y install samba 安装Samba软件
[root@localhost ~]# rpm -qa | grep samba
检查Samba安装的包samba-common、samba-client、samba。
[root@localhost ~]# cd /common 创建共享目录
[root@localhost common]# echo “hello the world” > /common/smb.txt 创建测试文件
[root@localhost ~]# chmod 777 /common 设置所有人可以对该目录进行可读可写可行
[root@localhost ~]# vim /etc/samba/smb.conf 进入Samba默认配置文件
[root@localhost ~]# useradd smbuser 创建用户
[root@localhost ~]# pdbedit -a smbuser 创建smb用户
pdbedit是samba的用户管理命令
常用参数:
pdbedit -a username:新建Samba账户。
pdbedit -r username:修改Samba账户。
pdbedit -x username:删除Samba账户。
pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit -Lv:列出Samba用户列表详细信息。
pdbedit -c “[D]” -u username:暂停该Samba用户账号。
pdbedit -c “[]” -u username:恢复该Samba用户账号。
[root@localhost ~]# pdbedit -L 查看smb用户列表
[root@localhost ~]# systemctl start smb 重启samba服务
[root@localhost ~]# systemctl enable smb 开机自启samba服务
测试windows与Samba服务器的连通性