Samba服务器【Linux-shell】

来源:互联网 发布:2016东华理工行知分院 编辑:程序博客网 时间:2024/06/10 00:39

Samba服务器:


    Samba服务器是一种应用于局域网之内,为安装有Windows、Linux等操作系统的主机之间提供文件和打印机共享服务的自由软件。Samba一词来自于对术语SMB服务信息块的扩展,即Samba是SMB的另一种表述。SMB协议是一种可用于实现文件与打印机共享的应用层网络协议。        1)文件和打印机共享服务        2)身份验证和授权服务        3)名字解析服务        4)浏览服务列表功能        # http://www.samba.org/    NetBIOS网络基本输入输出。---->发展成为运行在TCP/IP网络上的NBT协议。    Samba服务器的守护进程:smbd和nmbd        smbd进程:用于提供文件和打印机共享服务以及身份验证和授权服务。        nmbd进程:维护NetBIOS与IP地址之间的映射,提供NetBIOS名字解析服务以及浏览服务列表功能。    sudo service smb start    sudo service nmb start    netstat -lp | grep netbios    netstat -lp | grep netbios    # netbios-ssn:表示NetBIOS会话。    # netbios-ns:表示NetBIOS名字服务。    # netbios-dgm:表示NetBIOS数据包服务。    rpm -qa | grep samba    yum install samba    #samba:Samba服务器软件以及基本的客户端软件    #samba-client:增强型的Samba客户端软件    #samba-common:为Samba服务器软件及客户软件提供一些公共文件    #samba-winbind:守护进程    #samba-winbind-clients:winbind服务的客户端软件    #/etc/samba-->Samba服务器配置文件:  smb.conf主配置文件;lmhosts提供NetBIOS名称与IP地址之间的映射记录;smbusers:Samba用户列表    smb.conf基本结构:    【段名称】     #3个特别段:[global],[homes],[printers]    #【global】:关于一些全局参数的设置,如安全级别、工作组等。    #【homes】:当客户端以Samba用户的身份成功通过验证后,服务器将会根据该段的设置向用户提供共享服务。    #【printers】:用于提供打印机共享的参数设置。     参数名=参数值    【段名称】    参数名=参数值    ……    ……    smb.conf主要参数:    security:表示安全级别,该参数是Samba服务器设置中最为重要的参数之一。    workgroup:表示所在工作组,一般建议设置为与局域网中Windows主机所在的工作组相同。    netbios name:表示Samba服务器的NetBIOS名称。    共享设置方面的参数:  #可使用在共享段        comment:关于该段的基本说明        path:共享内容的所在目录        browseable:是否在可用共享名称列表中显示该段,可设置为yesno        writable:是否可以向共享目录写入内容,可设置为yesno        valid users:可以访问共享内容的有效用户列表。        guest ok:是否开放来宾账号,默认设置为no    --------------------------------------------------------------------------------------------------------    利用testparm检查smb.conf:    testparm #命令行输入testparm    ---------------------------------------------------------------------------------------------------------    设置SELinux和防火墙:    1)设置安全上下文类型为samba_share_t  #对于用户创建的需要共享的目录。如:        mkdir share        ls -Zd share        chcon -t samba_share_t /home/share        ls -Zd share    2)SELinux布尔值的设置:        samba_enable_home_dirs:允许共享用户主目录        samba_export_all_rw:允许共享由系统创建的目录        #如 setsebool -P samba_home_dirs on    ---------------------------------------------------------------------------------------------------    Samba用户管理:        Samba用户是指 登录Samba服务器以获取服务的用户,默认情况下Linux用户并非Samba用户,但Samba用户一定首先是Linux用户。    passdb backend=tdbsam  #Samba用户设置Samba密码,在sam.conf文件中的参数设置    /var/lib/samba/private  #Samba用户的账号密码信息存储的数据库位置    pdbedit 【选项】 【Samba用户名】:Samba用户管理        -L:列出所有Samba用户        -u:后加Samba用户名参数,指定所要操作的Samba用户        -a:增加Samba用户,后加Samba用户        -x:删除一个Samba用户,后加Samba用户参数        -v:显示用户详细信息    smbpasswd  【Samba用户】:修改Samba用户密码    smbstatus 【选项】:查看Samba服务器的使用情况,报告当前Samba服务器的连接    --------------------------------------------------------------------------------------------------------    Windows中使用Samba服务:    1)【Windows徽标键】->【控制面板】->【网络和共享中心】->【高级共享设置】开启    2)【Windows徽标键】->【计算机】->【文件资源管理器】->【网络】->查看到其中的计算机名称(NetBIOS)->搜索和查看、使用Samba服务器    3)【Windows徽标键】->【控制面板】->【用户账户】设置账号密码->进行针对特定用户特定目录以共享【选中目录或文件设置】    4)取消远程连接Samba服务器()清空连接列表:net use * /del    ----------------------------------------------------------------------------------------------------------    Linux中使用Samba服务:    1)使用图形界面工具:        【桌面面板菜单“位置”】->【连接到服务器】->【服务类型:Windows共享】,【服务器:Windows主机IP或NetBIOS名称或Samba服务器的IP】等->【连接】        【桌面面板菜单“位置”】->【网络】    2)smbclient 【选项】 服务名称:访问Samba服务器并使用局域网共享资源            -L:后加目标主机参数,根据服务名称列出目标主机的共享内容            -U:后加Samba用户名以指定登录的Samba用户    #smbclient 【选项】 服务名称 #服务名称:  //目标主机/共享名称    smbclient -L //LINUX-A -U linux # LINUX-A 为NetBIOS名称。    smbclient -U think  //think-pc/Documents        smb:\>            cd:切换服务主机中的目录            lcd:切换本地主机中的目录            del:删除文件            ls:查看目录内容            get:下载文件内容            put:上传文件内容            quit/exit:退出服务    3)以挂载方式使用Samba服务:        mount -t cifs  //主机IP地址/共享目录  挂载点  -o  username=用户名    mkdir /mnt/think-docs    mount -t cifs //192.168.126.128/Documents    /mnt/think-docs -o username=linux    mount | grep think-docs    cd /mnt/think-docs    ls    ---------------------------------------------------------------------------------------------------------------    配置安全级别为share的Samba服务器:    NetBIOS名称为LINUX-A的Samba服务器存放共享文件,LINUX-B主机发布共享文件给LINUX-A致使->其他局域网主机能访问LINUX-A上文件。    echo 192.168.126.128 LINUX-B >> /etc/hosts #192.168.126.128为主机LINUX-B地址。加入到LINUX-A的IP映射中去/etc/hosts    echo 192.168.126.126 LINUX-A >> /etc/hosts #同理    workgroup=WORKGROUP    netbios name=LINUX-A    hosts allow=192.168.126.0/24    security=share  #在LINUX-A中修改/etc/smb.conf。本段为【global】段内容    {BShare]        comment=share        path=/home/LINUX-B-Share        browseable=yes        guest ok=yes        writable=no  #加入的自定义共享段。另外,【homes】暂时被注释    testparm # linux 命令行   #另外,为LINUX-A设置防火墙    mkdir /home/LINUX-B-Share    chcon /home/LINUX-B-Share  -t  samba_share_t    ls -Zd /home/LINUX-B-Share    useradd LINUX-B-USER    passwd LINUX-B-USER`   chcon LINUX-B-USER:LINUX-B-USER  /home/LINUX-B-Share/    ls -ld /home/LINUX-B-Share      #LINUX-A的/home/LINUX-B-Share目录。LINUX-A上操作    #重启LINUX-A的smb和nmb俩系统服务    scp -r  /root/backup.d/LINUX-B-USER@LINUX-A:/home/LINUX-B-Share    #远程复制上传文件    #LINUX-B主机上操作
原创粉丝点击