CentOS6.5 Samba服务器搭建

CentOS6.5 Samba服务器搭建

什么是Samba

Samba服务器搭建

问题总结

一、什么是Samba

  Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文件共享和打印机服务共享。

二、Sam把服务器搭建

  服务器基于VMware CentOS6.5 NAT模式 系统搭建 。实现匿名模式与用户模式。成功配置服务器前需要将防火墙与SELinux关闭

  • 永久关闭防火墙
# chkconfig iptables off
  • 查看防火墙状态
# service iptables status
  • 永久SELinux关闭
vi /etc/selinux/config

  将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启系统才能生效

1.安装

# yum install samba

安装完后执行 rpm -qa|grep samba 出现如下

[root@localhost Desktop]# rpm -qa|grep samba
samba-winbind-clients-3.6.23-51.el6.x86_64			//winbind的客户端程序
samba-3.6.23-51.el6.x86_64			//Samba服务器软件,用于实现Samba功能
samba-common-3.6.23-51.el6.x86_64			//Samba服务器与客户端公用的文件
samba-winbind-3.6.23-51.el6.x86_64				//实现Linux与Windows无缝连接winbing软件
samba-client-3.6.23-51.el6.x86_64				//Samba客户端程序,用于连接Samba服务器

2.配置Samba文件

smb.conf 文件

  Samba服务器的全部配置信息均保存在/etc/samba/smb.conf文件。smb.conf文件采用分节结构,一般由3个标准节和若干个用户自定义的共享节组成。

  [global]节:定义Samba服务器的全局参数,与Samba服务整体运行环境紧密相关。

  [homes]节: 定义共享用户主目录。

  [printers]节: 定义打印机共享。

  [自定义目录名]节:定义用户自定义的共享目录。

配置文件路径

/etc/samba/smb.conf

  关于sam.conf文件的详细解析,移步这位博主

匿名模式
  在smb.conf文件配置以下信息实现匿名访问共享目录,可创建,修改文件。这里我们重写了smb.conf文件,只留下[global]节 和 [自定义目录节]。

  • workgroup 用于指定工作组,实现网上邻居功能,如Windows机器一般默认组为workgroup 改成workgroup,就能在windows机器中查看到服务器(因为同属一个群组)

  • server string 设定在网上邻居中服务器显示的注释 支持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端用户名

  • netbios name 在windows上面用主机名访问linux的时候,需要用到netbios name,如果用ip地址访问,不需要nmbd和netbios名称的

  • security = share 访问samba服务器不需要提供用户名和密码。

  • log file 日志文件路径

  • max log size 日志文件最大容量

  • comment=Work share 共享目录说明

  • path=/WorkShare 共享目录绝对路径

  • browsable=yes 共享目录是否可浏览

  • writble=yes 共享目录是否可写入

  • guest ok=yes 共享目录允许匿名访问,前提[global]中设置share

  • create mask=0644 创建文件权限

  • directory mask=0755 创建目录权限

1)配置文件更改

[global]
	workgroup=MYGROUP
	server string=Samba Server
	netbios name = centos
	
    security = share
    
    log file = /var/log/samba/log.%m
    max log size = 50
[work]
	comment=Work share
	path=/WorkShare
	browsable=yes
	writble=yes
	guest ok=yes
	create mask=0644
	directory mask=0755

2)测试配置文件、创建共享目录、启动服务

  测试配置文件指令 testparm

[root@localhost Desktop]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Work]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
	netbios name = CENTOS
	server string = Samba Server Version
	security = SHARE
	log file = /var/log/samba/log.%m
	max log size = 50
	client signing = required
	idmap config * : backend = tdb

[Work]
	comment = Work Share
	path = /WorkShare
	read only = No
	create mask = 0644
	guest ok = Yes

  根据path=指定的路径 创建共享目录 这里我们直接在根目录下创建WorkShare目录

# mkdir /WorkShare

  因为匿名模式下访问samba服务器,对共享文件的访问是通过nobody账号访问,所以创建的目录需要修改权限,才能被正确访问。这里我们直接将共享目录权限修改成 777 (或者将目录归属人改成nobody)

# chmod 777 /WorkShare
# ll

  # ll 查看共享目录权限为下图
WorkShare
  启动服务,如果没有配置netbios name 不需要执行service nmb start

[root@localhost Desktop]# service smb start
Starting SMB services:                                     [  OK  ]
[root@localhost Desktop]# service nmb start
Starting NMB services:                                     [  OK  ]

3)测试服务

Linux端测试(需要有samba-client-3.6.23-51.el6.x86_64程序,版本看自己的yum源支持)

[root@localhost /]# smbclient //192.168.213.130/Work
WARNING: The security=share option is deprecated
Enter qy's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-51.el6]
Server not using user level security and no password supplied.
smb: \> 

  注意ip后面一定要接自己的共享目录名称,名称为sam.conf文件里 ‘[ ]’ 的字段,匿名模式下不输入密码直接回车 WARING 提示share模式不安全,不影响。

Window10端测试

  因Window10 已经默认不接受CentOS6 samba服务,需要在控制面板中 程序 打开SMB1.0/CIFS文件共享支持

在这里插入图片描述
  在文件资源管理器地址栏输入 \\192.168.213.130 即可访问(以自己ip为准)
在这里插入图片描述
  ok,匿名模式配置完成。


用户模式

  用户模式下,访问Samba服务器需要使用Samba的账号与密码登录,Samba的账号从系统中添加,所以我们先创建一个用户群组share(也可以不创建群组,使用账号创建时的默认群组,关于账号群组,另寻资料学习),再创建一个用户test 属于群组share

# groupadd share
# cat /etc/group	//查看群组是否创建成功

  创建用户 ,归属于share群组,创建后必须设置密码,否则该账号无法使用,test账号密码我设成test

[root@localhost Desktop]# useradd -g share test
[root@localhost Desktop]# passwd test
Changing password for user test.
New password: 
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

  通过cat /etc/group 查看群组里的用户,这里如下所示,显示share是test用户的主群组

# cat /etc/group

在这里插入图片描述
  将创建的系统用户test加入samba,具体如下,加入时需要设置登录samba时的密码,这里我设成test,成功后会出现具体的账号信息。

[root@localhost Desktop]# pdbedit -a test
new password:
retype new password:
Unix username:        test
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2226902674-1556101360-2428140407-1005
Primary Group SID:    S-1-5-21-2226902674-1556101360-2428140407-513
Full Name:            
Home Directory:       \\centos\test
HomeDir Drive:        
Logon Script:         
Profile Path:         \\centos\test\profile
Domain:               CENTOS
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 07:06:39 PST
Kickoff time:         Wed, 06 Feb 2036 07:06:39 PST
Password last set:    Wed, 21 Apr 2021 22:34:56 PDT
Password can change:  Wed, 21 Apr 2021 22:34:56 PDT
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

  好了,下面开始配置smb.conf文件

  • security = user 表示使用账号访问samba服务
  • valid users = @share 表示允许属于群组share的用户登录 ,当使用群组时前面外加@,或者直接使用单个用户名(前提是该用户已添加到samba),表示只允许该用户访问
  • guest ok = no 禁止匿名访问
[global]
        workgroup = workgroup
        server string = Samba Server Version
        netbios name = centos

        security = user
        passdb backend = tdbsam

        log file = /var/log/samba/log.%m
        max log size = 50
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
[Work]
        comment = Work Share
        path=/WorkShare
        browsable = yes
        valid users = @share
        writable = yes
        guest ok = no
        create mask = 0644
        directory mask = 0755

  配置好后使用 testparm 测试配置文件,再对共享目录WorkShare进行更改

# chgrp share WorkShare
# chmod 775 WorkShare

  启动服务

# service smb start

测试

  测试与匿名模式一样,只不过多了账号认证,至此用户模式配置完成。

问题总结

  配置过程中,要注意共享目录的权限,配置文件中所给的权限。Windows/Linux登录中出现的访问问题、文件修改问题,都是配置时给的权限问题,仔细检查,都可以排错。Windows登录中可能会出现-"不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接”,进入cmd 输入net use * /del 能解决。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值