Linux系统部署samba服务记录

Samba(Server Messages Block)是一种linux系统和windws系统之间依靠网络协议共享文件的服务程序,(Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol ),下面简单介绍在Centos 7部署记录(IP:192.168.1.19)python

1、安装Sambalinux

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@localhost ~]# yum install -y samba

2、配置防火墙和Selinux,不然windows没法访问,在生产环境通常防火墙都不会关闭数据库

[root@localhost ~]# systemctl status firewalld        #通常状况下默认是开的,若是关闭,就启动一下
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-04-08 09:40:24 EDT; 2h 11min ago
     Docs: man:firewalld(1)
 Main PID: 4711 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─4711 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Apr 08 09:51:09 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POS...ame.
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOC...ame.
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C ...n?).
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POS...ame.
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOC...ame.
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C ...n?).
Apr 08 09:57:39 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POS...ame.
Apr 08 11:10:18 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOC...ame.
Apr 08 11:10:18 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C ...n?).
Apr 08 11:10:18 localhost.localdomain firewalld[4711]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POS...ame.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# firewall-cmd --add-service samba --permanent
success

[root@localhost ~]# firewall-cmd --reload    #重启防火墙
success

[root@localhost ~]# firewall-cmd --list-all|grep samba    #确认是否加策略成功
  services: ssh dhcpv6-client samba

关闭Selinux,不然windows客户端链接不上samba
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled

[root@localhost ~]# setenforce 0    
[root@localhost ~]# getenforce 
Permissive

3、Samba服务器的配置vim

[root@localhost samba]# cp /etc/samba/smb.conf /etc/samba/smb.conf_bak_20190426
[root@localhost samba]# cat /etc/samba/smb.conf
[global]                                    #全局配置
        workgroup = SAMBA
        security = user  #安全验证的方式
#一、share 来访主机无需验证口令,比较方便,可是安全性较差,如今新版本限制使用,若是使用没法启动服务
#二、user 须要验证来访主机提供的口令才能访问 #三、使用独立的远程主机验证来验证提供的口令
#四、domain使用域控制器进行身份验证
passdb backend = tdbsam printing = cups printcap name = cups load printers = yes 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 [database] #共享名称,也是文件夹的标识,配置了多少个,登录的时候就会显示多少文件夹 comment=do not modify it all will #对该共享的描述,随意本身定义 path=/home/database #该共享的路径 public=no #是否对全部人共享 writeable=yes #容许写入操做 !!!若是是拷贝配置的话,去掉汉字,不然smb服务没法启动 [root@localhost samba]# systemctl restart smb

四、访问方式1、任何人均可以匿名访问,能够增删改查windows

[root@localhost home]# chmod 777 database/

[root@localhost database]# vim /etc/samba/smb.conf
[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User
        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        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
[database]
        comment=do not modify it all will
        path=/home/database
        public = yes
        writeable=yes
        guest ok = yes

 这中方法谨慎使用,由于存在很大的安全因素,若是别人不当心删除或者修改文件,咱们就没法恢复了。安全

有的时候经过IP访问,时间久了或者其余缘由很容易忘记,这时候配一个内网的DNS可以有效的解决这个二问题,下面演示如何配置DNS访问咱们的服务器bash

一、先给服务器配置上DNS解析,假如用开发组来命名
[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.19 devops
~      
[root@localhost ~]# ping -c 4 devops
PING devops (192.168.1.19) 56(84) bytes of data.
64 bytes from devops (192.168.1.19): icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from devops (192.168.1.19): icmp_seq=2 ttl=64 time=0.122 ms
64 bytes from devops (192.168.1.19): icmp_seq=3 ttl=64 time=0.125 ms
64 bytes from devops (192.168.1.19): icmp_seq=4 ttl=64 time=0.121 ms

--- devops ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3008ms
rtt min/avg/max/mdev = 0.045/0.103/0.125/0.034 ms
 
测试内网是没有问题,而后配置windows的hosts

C:\Windows\System32\drivers\etc        #个人电脑是在这个路径下

127.0.0.1       localhost
192.168.1.19 devops  #加上这个配置

 

测试OK,咱们就能够经过 \\devops 去访问咱们的服务器服务器

 

访问方式2、经过帐号密码访问,在Centos7中,Samba服务默认的用户认证模式(user)网络

可是只有创建信息数据库以后才能使用用户口令认证模式,dom

pdbedit命令用于管理SMB服务程序的帐户信息数据库,语法格式为 pdbedit [选项] 帐户 

-a  -u   用户名 创建samba帐户
-x  -u  用户名 删除samba帐户
-L 列出帐户列表
-Lv 列出帐户详细信息的列表
这里咱们经过root去访问,那你也能够用其余帐号去访问
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)

[root@localhost ~]# pdbedit -a -u root
new password:
retype new password:
Unix username:        root
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-683895756-2385326933-4243325015-1000
Primary Group SID:    S-1-5-21-683895756-2385326933-4243325015-513
Full Name:            root
Home Directory:       \\localhost\root
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\root\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 10:06:39 EST
Kickoff time:         Wed, 06 Feb 2036 10:06:39 EST
Password last set:    Mon, 08 Apr 2019 16:51:45 EDT
Password can change:  Mon, 08 Apr 2019 16:51:45 EDT
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 

在使用用户名密码访问时,需将全局配置里面map to guest注释掉

# map to guest = Bad User

[root@localhost ~]# systemctl restart smb
相关文章
相关标签/搜索