samba可用于在linux和windows下进行数据互通的工具,Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文件共享和打印机服务共享。
1.linux系统安装samba
推荐使用yum安装。
yum install -y samba
说明:-y的意思是,在安装过程中的所有提问都填“yes”
yum其他命令:
[root@localhost]#yum list samba //列出软件包的信息
[root@localhost]#yum remove samba //卸载软件包
[root@localhost]#yum check-update samba //检查是否有可更新的软件包
[root@localhost]#yum update samba //更新samba软件包
安装完后使用命令查看是否已安装说明:
rpm -qa | grep samba
如果出现类似以下图片的形式,则说明已安装完成。
samba-common-libs-4.8.3-4.el7.x86_64 :主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-libs-4.8.3-4.el7.x86_64:客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-4.8.3-4.el7.x86_64 :服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,
2.创建samba用户
设置账号用于登录samba服务器,同时并设置密码。
创建用户账号:
useradd sambauser
设置用户密码:
smbpasswd -a sambauser
开启samba服务
systemctl start smb
3.共享文件夹配置
/etc/samba/samba.conf为samba最重要的配置文件,配置共享文件夹需要将以下内容添加到samba.conf文件的后面:
[shareFlod] #共享文件夹名称
comment = 共享文件说明摘要 #comment是对该共享的描述,可以是任意字符串
path = home/shareFlod #共享文件夹路径
writable = yes #用户是否可写入,此处的值千万不能写错,如果写成Yes,则会报错,samba服务启动会失败
valid users = user1,user2 #此处的user1为上一步中使用adduser创建的用户名,不同用户名之间用逗号隔开
browseable = yes #用户是否可浏览目录
guest ok = no #是否可以随意访问
directory mask = 1777 #上传的目录具有所有权限
这一步在配置结束后可以使用"testparm"命令检测是否配置正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数。
4.samba其他命令操作
pdbedit -L #列出samba用户
pdbedit -Lv #详细列出samba用户信息
systemctl enable smb #设置开机启动samba服务
pdbedit -x username #删除samba账号
5. 遇到的问题
第一次配置难免回出现一些问题:
- 问题一:资源管理器中无法访问时,说明你的linux中samba服务没有开启;
- 问题二:网上很多使用如下开启samba服务的命令:
/etc/init.d/smb restart
运行时提示,没有smb命令,其实打开该目录里面时没有smb应用程序的,4.0以后的版本使用yum安装后,需要使用以下命令启动samba服务:
systemctl start smb
- 问题三:samba服务开启失败,查看问题,可使用以下命令:
查看参数是否配置正确,使用命令:
testparm
- 问题四
如果是权限的问题导致创建或者拷贝文件夹失败,可使用chmod修改权限:
对Document/目录下的所有子文件与子目录执行相同的权限变更:
chmod -R 777 Document/
-R参数是递归 处理目录下的所有文件以及子文件夹
对单个文件夹修改权限
chmod 777 Document/