samba简单配置

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB

(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它

为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

samb启动的进程

  nmbd  NetBIOS服务
  smbd

监听端口
    早些版本的TCP139 445
          UDP 137和138

    我这里用的samba4没有找到UDP端口,只开放了139和445端口

如果系统自带可以先卸载,rpm -e smba-common samba-client  --nodeps

yum install samba samba-client samba-swat samba-common

有依赖关系的包samba-winbind-clients、libsmbclient将自动安装上去。

服务脚本
 /etc/rc.d/init.d/smb

配置文件
 /etc/samba/
    smb.conf
    [globle]  全局定义
    
    [shared name]                共享名称    
    comment =                     //注释内容
    path =                                  //定义指定共享的目录
    browseable =    Yes/No                //目录是否可浏览
    public =    Yes/No             //是否允许所有人访问            
    read only = Yes/No            //是否只读
    writable =  Yes/No            //是否可写
    write list = user1, user2              //定义可写用户列表
             @group1, +group2          //用@或者+加组名定义某些组可写
    valid user =                          //白名单,定义共享哪些用户访问
    invalid user =                        //黑名单

testparm    专门测试/etc/samba/samba.conf是否有语法错误


smaba的用户都是系统用户,但密码不是系统密码
smbpasswd
    -a          添加系统用户为samba用户,密码最好不要和系统用户密码一样
    -d        启用samba账户
    -e          禁用samba账户
    -x          删除samba账户
    
       

windows访问linux/unix使用UNC路径  格式 \\ip\sharednmae   可以在浏览器直接输入,也可以映射到本地



linx访问windows使用命令smbclient,使用的也是系统用户,密码为系统用户密码
 smbclient
    -L  指定IP
    -U  指定用户
 
    smbclient -L 192.168.136.135
    smbclient UNC 路径 -U                //UNC路径不是反斜杠
    smbclient  //192.168.136.131/test

 
挂载windows目录到本地
    -o指定额外挂载选项,以test用户挂载test到本地
    mount -t cifs //192.168.136.131/test    /mnt/test -o username=test
开机自动挂载编辑/etc/fstab,为了安全,credentials指定挂载时使用的username和password

//192.168.136.131/test   /mnt/test     cifs   credentials=/etc/samba/cred.pass 0 0


操作文件命令类似于FTP
    lcd  切换linux本机路径
    cd   切换共享目录路径
    put   上传
    get   下载


用户的权限是共享权限和文件系统权限的交集

samba访问控制

  1. iptables139,445

  2.主配置文件中的hosts allow,指定某些主机,或者某些网络,空格隔开

 

linux上配置samba
1.在samba主配置下面添加共享配置

  [samba]

  comment = test
  path = /samba
  public = yes
  writable = yes
  write list = @samba

 


2.测试文件有没有语法错误testparm  

[root@localhost /]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[samba]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50

 


3.查看端口是否开启TCP139端口,netstat -ntlup



4.添加samba用户,可以自己事先创建的系统用户
 smbpasswd -a samba
5.window访问linux共享
 如果访问不成功,检查selinxu是否关闭,防火墙是否允许

右击windows设备计算机,添加网络驱动器然后添加地址

  然后输出添加samba账户是设定账户和密码

如果没有写权限,则要检查,配置时是否可写,登录的用户(对应的系系统用户)是否对共享目录可写。必须两者同时满足才可写。

 

配置samba4-swat    samba独立的web服务器
    yum install samba4-swat会安装依赖xinetd,
    xinetd是swat的超级守护进程(独立守护进程),为哪些平时不经常启动的服务(非独立守护进程,瞬时进程,短暂进程),监听端口。如果有请求  服务,xinetd为转交给对应的服务,服务完成后,瞬时进程关闭。

    启动swat服务只需要启动xinetd服务即可,超级守护进程(独立守护进程)有运行级别(--level),瞬时守护进程没有运行级别。
    每一个非独立守护进程在/etc/xinet.d/ 下面有配置文件

    启动瞬时进程两个方法
    1.chkconfig swat on
    2.编辑/etc/xinet.d/ 下面的配置文件,修改disable=yes 改为no

/etc/xinet.d/swat配置

service swat
{
        port            = 901                              //监听端口
        socket_type     = stream                //套接字类型,STREAM是TCP协议
        wait            = no                  //是否允许多个请求
        only_from       = 127.0.0.1              //默认只允许本机访问,可以修改
        user            = root                  //访问时使用的账户,第一次登陆必须为root
        server          = /usr/sbin/swat            //启动的程序
        log_on_failure  += USERID                //如果错误记录USERID
        disable         = no                    //no表示允许    
}
~      

重启swat   service xinetd restart,查看901端口

                    LISTEN      2187/smbd           
tcp        0      0 :::2049                     :::*                        LISTEN      -                   
tcp        0      0 :::901                      :::*                        LISTEN      3111/xinetd         
tcp        0      0 :::59303                    :::*                        LISTEN      -                   
[root@localhost ~]# 

windows访问192.168.136.135:901输入root账号和密码

如果事先没有启动nmb服务,需要启动nmb服务

 

posted @ 2015-07-25 22:40  看天空  阅读(998)  评论(0编辑  收藏  举报