CentOS7安装samba

CentOS 7 安装samba服务器,关闭所有防火墙状态下。


一、安装samba

yum install -y samba



二、查看配置文件

[root@system1 ~]# grep -v "#" /etc/samba/smb.conf

[global]                                                                    全局配置

workgroup = SAMBA                                       工作组
security = user                                                 安全验证方式,可选为4种  下文介绍
        passdb backend = tdbsam                               定义用户后台的类型,可选3种
        printing = cups                                          设置Samba共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx  
printcap name = cups                                      设置共享打印机的配置文件。
load printers = yes                                           设置是否在启动Samba时就共享打印机
cups options = raw                                         打印机选项

[homes]
comment = Home Directories                   描述信息
valid users = %S, %D%w%S                       指定能够使用该共享资源的用户和组。
browseable = No                                     指定共享是否在“网络邻居”可见
read only = No                                       是否只读   
inherit acls = Yes                                    

[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin

create mask = 0664

        directory mask = 0775


三、新增共享目录

[root@dns ~]# cat /etc/samba/                  新添加的共享目录
[chb-share]                                                  共享目录名称
comment = Please contact if problems still Lance      描述
path = /share/chb                                目录路径
public = no                                           是否公开
writable = yes                                        允许写入


安全验证方式
#share:无需验证口令
#user:SMB服务密码数据库验证口令
#server:独立远程主机验证口令(集中管理帐号)
#domain:PDC验证(password server=IP)

后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。


定义用户后台类型
#smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码
#tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户
#ldapsam:基于LDAP服务进行账户验证


四、创建samba登录用户

passdb backend = tdbsam
说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实
用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。
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用户的账号。
3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

选择系统已有的用户,没有要先创建

[root@dns ~]# pdbedit -a lance


创建共享目录

mkdir -R /share/chb

chown -Rf lance:lance /share/chb

重启服务

systemctl restart smb


windos7上在我的电脑上方输入栏写入\\samba_IP,会弹出对话框,写入账号密码即可



linux系统需要挂载共享目录:

linux访问samba共享目录需要按cifs-utils:这是支出文件共享服务的软件包

[root@system1 ~]# yum install cifs-utils -y


创建新的用户并用pdbedit创建为samba用户。新创建用户是为了证明每个新用户登录samba会出现两个文件夹,一个是共享的,一个是自己名字的文件夹,此文件夹只能自己可见,并且路径就是自己的家目录


创建一个samba认证文件,这样就可以直接挂载共享目录的时候系统自动读取文件内容认证

[root@system1 ~]# cat auth.smb                创建在root目录下,至于此文件可以放的位置,系统认证那一章节有介绍认证文件读取的路径顺序,目前只要记得root目录也在读取路径中就可以了
username=test
password=test
domain=MYGROUP

[root@system1 ~]# chmod 600 auth.smb     为了安全修改权限


设置开机自动挂载

[root@system1 ~]# cat /etc/fstab 
//192.168.2.180/chb-share /today_smb_test cifs credentials=/root/auth.smb 0 0


测试:

[root@system1 ~]# mount -a
[root@system1 ~]# ll -a /today_smb_test/
总用量 43284
drwxr-xr-x. 13 test1 test1        0 5月  10 10:52 .
dr-xr-xr-x. 22 root  root      4096 5月  11 13:55 ..
drwxr-xr-x.  2 test1 test1        0 5月   4 09:55 20180503
drwxr-xr-x.  2 test1 test1        0 3月  29 16:49 PGEM

完成

windows系统是可以看到共享目录和自己家目录文件,linux需要同样效果要挂载两个路径

[root@system1 today_smb_test]# cat /etc/fstab       挂载test家目录
//192.168.2.180/test /today_smb_test cifs credentials=/root/auth.smb 0 0



samba定义的变量:
%S = 当前服务名(如果有的话)
%P = 当前服务的根目录(如果有的话)
%u = 当前服务的用户名(如果有的话)
%g = 当前用户说在的主工作组
%U = 当前对话的用户名
%G = 当前对话的用户的主工作组
%H = 当前服务的用户的Home目录
%v = Samba服务的版本号。
%h = 运行Samba服务机器的主机名
%m = 客户机的NETBIOS名称
%L = 服务器的NETBIOS名称
%M = 客户机的主机名
%N = NIS服务器名
%p = NIS服务的Home目录
%R = 说采用的协议等级(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)
%d = 当前服务进程的ID
%a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95)
%I = 客户机的IP
%T = 当前日期和时间

猜你喜欢

转载自blog.csdn.net/qq_33789722/article/details/80269529