CentOS7安装和配置samba

Posted 你很棒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7安装和配置samba相关的知识,希望对你有一定的参考价值。

(1)samba简介

CIFS:通用的internet文件系统,windows和unix系统之间共享文件的一种协议;客户端主要是windows;支持多节点同时挂载以及并发写入

(2)samba主配置文件/etc/samba/smb.conf共享参数和全局参数

1)共享参数详解

注意:writable和write list二选一

[share]                        //自定义共享名称
comment =  This is share software          //共享描述
path  =  /data			                      //共享目录路径
browseable  =  yes/no                        //设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writable  =  yes/no               //设置共享全部用户是否具有可写权限
read only  =  yes/no              //设置共享是否具有只读权限
admin users  =  root              //设置共享的管理员,如果security =share 时,引项无效,多用户中间使用逗号隔开,例如admin users = root,user1,user2
valid users  =  username            //设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
invalid users  =  username             //设置不允许访问共享的用户
write list  =  username             //设置在共享具有写入权限的用户,例如例如write list  = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
public  =  yes/no                //设置共享是否允许guest账户访问
guest  ok  =  yes/no              //功能同public 一样
create mask = 0700                       //创建的文件权限为700
directory mode = 0700                    //创建的文件目录为 700

2)全局参数

[global]
config file = /etc/samba/smb.conf.%U                                    //可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。
workgroup = WORKGROUP                                   //工作组名称
server string = Samba Server Version %v                   //主机的简易说明
netbios name = MYSERVER                                   //主机的netBIOS名称,如果不填写则默认服务器DNS的一部分,workgroup和netbios name名字不要设置成一样
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24                    //设置samba服务器监听网卡,可以写网卡名称或IP地址,默认注释
hosts allow = 127. 192.168.12. 192.168.13.                              //设置允许连接到samba服务器的客户端,默认注释
hosts deny =192.168.12.0/255.255.255.0                                  //设置不允许连接到samba服务器的客户端,默认注释
log level =1                                                            //日志文件安全级别,0~10级别,默认0
log file = /var/log/samba/%m                        //产生日志文件的命名,默认以访问者IP地址命名
max log size = 50                              //日志文件最大容量50,默认50,单位为KB,0表示不限制
security = share                               //设置用户访问samba服务器的验证方式 ,一共四种验证方式。
	share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
	user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
passdb backend = tdbsam                           //定义用户后台类型
	smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码
	tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户,smbpasswd –a username建立samba用户并设置密码,不过建立samba用户,必须先建立系统用户,也可以使用pdbedit命令来建立samba用户:
		pdbedit –a 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用户的账号。
	ldapsam:基于LDAP服务进行账户验证
username map = /etc/samba/smbusers   									//配合/etc/samba/smbusers文件设置虚拟用户

(3)安装samba和配置samba

1)基本环境配置

1.关闭防火墙和selinux

systemctl stop firewalld.service 
systemctl disable firewalld.service
sed -ri \'/^SELINUX=/cSELINUX=disabled\' /etc/sysconfig/selinux
setenforce 0

2.安装和启动samba

yum install samba cifs-utils -y
systemctl start  smb nmb 
systemctl enable  smb nmb 

2)不需要账号密码访问的共享

#mkdir /share						//创建共享数据目录
#chmod -R 777 /share 				//设置权限
#vim /etc/samba/smb.conf 			//修改配置文件
[global]
        security = user		//samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share
        map to guest = Bad User //参数需要做调整security = user和map to guest = Bad User,如果想访问共享不输入密码,需要改成这样;在centos6上使用security = share;
[share-platform]
        path = /share			//共享目录路径
        browseable = yes		//设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问	
        writeable = yes			//设置共享全部用户是否具有可写权限
        guest ok = yes			//设置共享是否允许guest账户访问
#systemctl restart smb nmb  	//重启服务

注意:samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share,参数需要做调整security = user和map to guest = Bad User,如果想访问共享不输入密码,需要改成这样
在centos6上使用security = share;

3)需要账号密码访问共享

#groupadd samba 
#useradd jack -s /sbin/nologin -g samba 
#smbpasswd -a jack 		//创建samba用户,同时设置samba密码,注意使用smbpasswd方式用户必须提前是系统用户
#mkdir /data 
#setfacl -m g:samba:rwx /data  
#vim /etc/samba/smb.conf 
[global]
        security = user
[data]
       path = /data
       ;writable = yes			//writeable和write list只能二选一
       write list = @samba
#systemctl restart smb nmb  	//重启服务

访问data目录需要输入用户名和密码

4)linux端挂载

1.安装工具包

yum install samba-client cifs-utils -y 

2.手工挂载测试

mount -t cifs -o user=jack,pass=123 //192.168.1.32/data /mnt 
umount /mnt 

3.自动挂载

#vim /etc/fstab 
//192.168.1.32/data /mnt cifs user=jack,pass=123 0 0
#mount -a 

以上是关于CentOS7安装和配置samba的主要内容,如果未能解决你的问题,请参考以下文章

centos7安装使用samba服务器免密码登录简单配置

centOS7上安装samba

Centos7.2 操作系统安装配置Samba服务文档

CentOS7安装samba服务

centos7.4安装samba服务

Linux /centOS7 Samba服务器配置详解