【N25第十三周作业】samba配置详解和安装

samba:
  功能:
    文件系统共享:类unix系统和windows系统之前文件系统共享
    打印机共享;
    NetBIOS协议;

  服务端程序包:samba
    nmbd:NetBIOS name server
    smbd:SMB/CIFS services
  主配置文件:/etc/samba/smb.conf

  systemd unit file:
    nmbd:nmb.service
    smbd:smb.service

  客户端程序包:samba-client
    smbclient:交互式的命令行客户端;
    mount -t cifs:

  监听端口:137/upd,138/udp,139/tcp,445/tcp

samba配置:smb.conf
两类配置段:
  全局配置:[global]
    每共享的专用配置:[共享资源的共享名称]

    directive = value

  全局配置:
    workgroup = 
        当前samba主机所属工作组
    netbios name = 
        当前samba主机的netbios名称
    server string = 
        主机注释
    display charset = 
        当前samba服务器所用字符集
    unix charset = 
        当前linux主机所用的字符集
    dos charset = 
        windows端的字符集
    interfaces = 
        samba服务监听的IP地址或网络接口
    hosts allow = 
        客户端来源白名单

    log file = /var/log/samba/log.%m
        日志存放位置
    max log size = 50
        日志文件大小上限,单位KB

standalone server options
    security = user
        设定安全级别,取值以下三者之一
            share:匿名共享
            user:使用samba服务自我管理的帐号和密码进行认证,用户必须是OS用户,
            密码是访问samba的专用密码
            domain:使用DC进程认证,
    passdb backend = tdbsam
        密码库文件的格式

共享配置:
[共享名称]:此几位某共享服务名
    comment:注释信息
    path:此共享对应本地文件系统路径
    browseable:是否可浏览,是否可被所有用户看到
    writable:是否可写
    read only:是否为只读
    writelist:可写用户或组列表
        用户名
        @组名
        +组名
    guest ok :是否允许匿名访问
    public:是否是公开的服务

注意:writable和writelist不应该同时使用

可用的宏列表:    
    %m:客户端主机的NetBIOS名称    
    %M:客户端的Internet主机名,即HOSTNAME    
    %H:当前用户的家目录    
    %U:当前用户的用户名    
    %g:当前用户所属的组名    
    %h:当前SAMBA主机的HOSTNAME    
    %I:客户端主机IP    
    %T:当前的日期时间

交互式访问:
    #smbclient -L SABMA_SERVER -U USERNAME
    #smbclient //SAMBA_SERVER/SERVER_NAME -U USERNAME

挂在访问方式:
    mount -t cifs -o username=USERNAME,password=PASSWD  //SAMBA_SERVER/SHARED /MOUNT_DIR
    
例子:
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
        
将系统用户添加为samba用户:
     [option] USERNAME
        -a:添加        
        -x:删除        
        -d:禁用        
        -e:启用访问samba共享:
    unix:
        smbclient:交互式命令行客户端
        mount -t cifs:挂在文件系统
    windows:        
            //HOST OR IP/SHARED_DIR
            
      命令:类似smbpasswd,用户管理smb用户
    pdbedit [option]:
        -L:列出所有的smb用户        
        -v:verbose        
        -a:添加用户        
        -u USERNAME        
        -x:删除指定用户        
        -r:修改用户的粗信息
        
    命令:
    显示samba server的相关共享的访问状态
        -b:显示简要格式信息        
        -v:显示详细格式信息

安装samba配置要求:

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)
  1)共享名为shared,工作组为magedu;
  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,
  ubuntu不属于develop组;密码均为用户名;
  3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
  4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
  5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;

安装步骤如下:

yum info samba.x86_64      #查看samba包的信息
yum -y install samba.x86_64   #安装samba服务
rpm -ql samba       #查看samba安装后的文件
groupadd develop    #添加develop组
useradd  -G develop gentoo      #添加gentoo用户并给它指定附加组develop
useradd  -G develop centos      #添加centos用户并给它指定附加组develop
useradd ubuntu                  #添加ubuntu用户
echo "gentoo" | passwd --stdin gentoo   #添加密码
echo "centos" | passwd --stdin centos
echo "ubuntu" | passwd --stdin ubuntu
smbpasswd -a centos    #为samba服务添加centos用户,此处需要输入密码我设置为centos
smbpasswd -a gentoo  #此处需要输入密码我设置为gentoo
smbpasswd -a ubuntu #此处需要输入密码我设置为ubuntu
mkdir /data     #建分享目录
chmod g+w /data #修改分享目录的组写权限
chown :develop /data    #修改分享目录的数组
ls -dl /data/       #确认修改是否成功

vim /etc/samba/smb.conf     #在配置文件中添加分享配置
全局配置添加如下
[global]
        workgroup = magedu        
        server string = Samba Server Version %v
        netbios name = MYSERVER        
        hosts allow = 192.168.0.0/16
分享目录配置如下
[shared]        
                comment = data
        path = /data
        public = no
        valid users = gentoo centos ubuntu @develop
        write list = @develop        
        read list =  ubuntu
        writable = yes
        printable = no
        
systemctl stop firewalld.service    #关闭防火墙
setenforce 0        #关闭selinux
getenforce          #查看关闭情况
systemctl start smb.service     #启动smb服务
systemctl start nmb.service     #启动nmb服务


连接需要安装samba的客户端smbclient和一些依赖的包,不然会报错
[root@localhost ~]# smbclient -L 192.168.1.110 -U gentoo
smbclient: relocation error: /lib64/libsamba-credentials.so.0: 
symbol GSS_KRB5_CRED_NO_CI_FLAGS_X, version gssapi_krb5_2_MIT not 
defined in file libgssapi_krb5.so.2 with link time reference

yum -y install samba-client     #安装samba客户端
yum install krb5-devel krb5-libs pam_krb5 krb5-workstation -y   #安装客户端依赖的相关包
systemctl stop firewalld.service    #关闭防火墙
setenforce 0            #关闭selinux
getenforce              #查看关闭情况
smbclient -L 192.168.1.110 -U gentoo        #检测
smbclient //192.168.1.110/shared -U gentoo  #交互式连接server端并指定用户

[root@localhost ~]# smbclient //192.168.1.110/shared -U gentoo
Enter gentoo's password: 
Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
  .          D        0  Fri Dec 16 06:36:41 2016
  ..         DR        0  Fri Dec 16 06:36:41 2016

		52403200 blocks of size 1024. 50839544 blocks available
smb: \> 
smb: \> mkdir gentoo
smb: \> ls
  .      D        0  Fri Dec 16 07:02:02 2016
  ..     DR        0  Fri Dec 16 06:36:41 2016
  gentoo    D        0  Fri Dec 16 07:02:02 2016

		52403200 blocks of size 1024. 50839580 blocks available
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (176.1 kb/s) (average 176.1 kb/s)
smb: \> ls
  .      D        0  Fri Dec 16 07:02:20 2016
  ..     DR        0  Fri Dec 16 06:36:41 2016
  gentoo   D        0  Fri Dec 16 07:02:02 2016
  fstab   A      541  Fri Dec 16 07:02:20 2016

		52403200 blocks of size 1024. 50839888 blocks available
smb: \> exit
[root@localhost ~]# smbclient //192.168.1.110/shared -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
  .    D        0  Fri Dec 16 07:02:20 2016
  ..   DR        0  Fri Dec 16 06:36:41 2016
  gentoo  D        0  Fri Dec 16 07:02:02 2016
  fstab  A      541  Fri Dec 16 07:02:20 2016

		52403200 blocks of size 1024. 50839420 blocks available
smb: \> mkdir ubuntu    #ubuntu不在组中没有写权限
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \ubuntu


mount -t cifs -o username=centos,passwd=centos  //192.168.1.110/data   /data


先关闭电脑的防火墙
在文件路径中输入    \\192.168.1.110
然后用gentoo登录:
登录后创建文件111.txt到服务器上目录中查看
[root@localhost data]# ls
111.txt  fstab  gentoo

原创文章,作者:sheng,如若转载,请注明出处:http://www.178linux.com/64034

(0)
shengsheng
上一篇 2016-12-18 16:02
下一篇 2016-12-18 16:53

相关推荐

  • 第一周的作业

    1、描述计算机的组成及其功能。 主要分为五个部分: 控制器:计算机的中枢神经,控制总线使用权限、寻址、管理各类资源的分配。 运算器:对数据进行各种算数运算和逻辑运算。 存储器:通常指内存RAM,CPU需要运行的程序以及数据都存放在存储器中供CPU调用处理。 (以上三者为计算机核心的三大部件,依靠这三大部件即可完成核心工作。) 输入设备:比如鼠标、键盘,使用户…

    Linux干货 2016-11-02
  • MAN 手册各章节功能介绍及快捷键键位整理

    MAN 手册各章节功能介绍及快捷键键位整理   Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。  1、Linux 的man手册共有以下几个章节:         1章节:用户命令     …

    Linux干货 2016-10-19
  • 什么是CA??

       数字证书认证机构(英语:Certificate Authority,缩写为CA),也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 介绍     CA中心为每个使用公开密钥的用户发放一个…

    Linux干货 2017-07-17
  • 我的第一篇博客

        第二天,很早的来到,不知道做些什么,未来也l许很忙碌,希望能够一直坚持,不管是难吃的饭菜,还是不良的作息,起码做个对得起这四个半月的人吧…

    Linux干货 2017-07-11
  • bash脚本函数和数组

        函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分。    函数和shell程序比较相似,区别在于:  &nbsp…

    Linux干货 2016-08-24
  • 利用keepalived实现nginx七层负载均衡器双主模型高可用集群

    nginx通过ngx_http_upstream_module可以实现七层http服务的负载均衡,同时还自带RS的健康监测功能,但是也有弊端,nginx负载均衡器如果发生故障则整个集群失效,此文通过keepalived构建nginx负载均衡器的高可用集群。 一、实验环境: 实验需要4台服务器: nginx负载均衡器1:192.168.11.100 nginx…

    2017-07-03