192.168.1.1-路由器设置 | 192.168.0.1-无线路由器设置

配置Samba服务的教程

发布时间:2015-09-14 09:49

 Samba是实现Windows系统和Linux系统的文件共享服务。

 

、Samba的配置文件

首先是安装Samba

[root@tpp ~]# yum install -y samba samba-client

Samba的配置文件是/etc/samba/smb.conf,默认未注释的部分如下:

[root@tpp ~]# vim /etc/samba/smb.conf

 

[global]

       workgroup = MYGROUP

        server string = Samba Server Version %v

        log file = /var/log/samba/log.%m

        max log size = 50

        security = user

        passdb backend = tdbsam

        load printers = yes

        cups options = raw

[homes]

        comment = Home Directories

        browseable = no

        writable = yes

[printers]

        comment = All Printers

        path = /var/spool/samba

        browseable = no

        guest ok = no

        writable = no

        printable = yes


注意:主要有以上三个部分:[global], [homes], [printers]

[global] 定义全局的配置,workgroup用来定义工作组,一般情况下,需要我们把这里的MYGROUP改成WORKGROUP(windows默认的工作组名字)。

security = user 

//这里指定samba的安全等级。关于安全等级有四种:

    share:用户不需要账户及密码即可登录samba服务器

    user:由提供服务的samba服务器负责检查账户及密码(默认)

    server:检查账户及密码的工作由另一台windows或samba服务器负责

    domain:指定windows域控制服务器来验证用户的账户及密码。

passdb backend = tdbsam   

//passdb backend(用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam.

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用 smbpasswd -a 创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

    pdbedit -a username            //新建Samba账户。

    pdbedit -x username           //删除Samba账户。

    pdbedit -L:                //列出Samba用户列表,读取passdb.tdb数据库文件。

    pdbedit -Lv:               //列出Samba用户列表详细信息。

    pdbedit -c “[D]” -u username    //暂停该Samba用户账号。

    pdbedit -c “[]” -u username    //恢复该Samba用户账号。

ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置 “passdb backend = ldapsam:ldap://LDAP Server”

load printers 和 cups options 两个参数用来设置打印机相关。

 

除了这些参数外,还有几个参数:

netbios name = MYSERVER               //设置出现在网上邻居中的主机名

hosts allow = 127. 192.168.12. 192.168.13.   //用来设置允许的主机,如果在前面加 ”;” 则表示允许所有主机

log file = /var/log/samba/%m.log     //定义samba的日志,这里的%m是上面的netbios name

max log size = 50               //指定日志的最大容量,单位是K

 

[homes] 该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。

[printers] 该部分内容设置打印机共享。


二、Samba试验

下面我们来进行试验,不过实验之前要先关闭iptables和selinux,否则很有可能试验失败。


实验一

要求:共享一个目录,任何人都可以访问,即不用输入密码就可访问,要求只读。

1、打开Samba的配置文件

[root@tpp ~]# vim /etc/samba/smb.conf        

 

[global]                           //修改如下两处

       workgroup = WORKGROUP
       server string = Samba Server Version %v
       security = share        

       passdb backend = tdbsam

       load printers = yes
       cups options = raw

[tppshare]                          //在末尾处增加

        comment = share all

        path = /tmp/samba

        browseable = yes

        public = yes

        writable = no

 

2、创建测试目录

[root@tpp ~]# mkdir /tmp/samba

[root@tpp ~]# chmod 777 /tmp/samba

[root@tpp ~]# cd /tmp/samba/

[root@tpp samba]# mkdir 12

[root@tpp samba]# touch test.txt

[root@tpp samba]# echo "1234dfgxc6" > test.txt

 

3、启动Samba服务

[root@tpp ~]# /etc/init.d/smb start

启动 SMB 服务:           [确定]

也可以用testparm命令测试smb.conf文件是否配置正确:

[root@tpp ~]# testparm

 

4、测试

(1)在Windows下测试:

win+r 输入 \\192.168.0.109 就可以看到如下图所示:

 

你可以试着修改下文件,或者新建文件,都会发现没有权限,只能读。

 

(2)在Linux下测试:

客户机上要安装cifs-utils

[root@tpp ~]# yum install -y cifs-utils

挂载到/opt/目录下

[root@tpp ~]# mount -t cifs //192.168.0.109/tppshare /opt   //不要输入密码直接回车

[root@tpp ~]# df -h  http://www.luyouqiwang.com/guangmao/

[root@tpp ~]# ls -l /opt/

总用量 4

drwxr-xr-x 2 root root  0 9月  13 21:44 12

-rw-r--r-- 1 root root 11 9月  13 21:29 test.txt

 

 

实验二

要求:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写。

 

1、打开Samba的配置文件

[root@tpp ~]# vim /etc/samba/smb.conf        

 

[global]                           //修改如下

       workgroup = WORKGROUP
       server string = Samba Server Version %v
       security = user        

       passdb backend = tdbsam

       load printers = yes
       cups options = raw

[myshare]                          //在末尾处增加

        comment = share for users

        path = /tmp/mysamba

        browseable = yes

        public = no

        writable = yes

 

 

2、创建测试目录

[root@tpp ~]# mkdir /tmp/mysamba

[root@tpp ~]# chmod 777 /tmp/mysamba

[root@tpp ~]# cd /tmp/mysamba/

[root@tpp mysamba]# mkdir 111

[root@tpp mysamba]# touch 1.txt

[root@tpp mysamba]# echo "dakdfaifhai" > 1.txt

 

3、添加用户

因为在[globa]中 “passdb backend = tdbsam”, 所以要使用 pdbedit 来增加用户,注意添加的用户必须在系统中存在,所以需要先创建系统账号

[root@tpp mysamba]# useradd user1           //创建系统用户

[root@tpp mysamba]# pdbedit -a user1         //添加user1为Samba账号

注意:pdbedit有什么命令参数,常用的还有 -L:列出Samba账号,-x:删除某个Samba账号

 

重启Samba服务

[root@tpp mysamba]# service smb restart


4、测试

(1)在Windows下测试:

win+r 输入 \\192.168.0.109 就可以看到要输入账号密码的提示框,输入正确后可以进入,接着我们可以对文件夹以及文件进行修改。

注意:从上面我们可以看到会生成一个以用户名为命名的文件夹,因为我们没有把[home]那个模块给注释掉。

 

注释掉后重启Samba服务,我们再查看下就会发现user1目录不存在了。

(2)在Linux下测试:

[root@tpp ~]# mount -t cifs -o username=user1,password=123456 //192.168.0.109/myshare /opt

[root@tpp ~]# df -h

 

查看下

 

我们可以/opt/目录进行新建文件或者文件夹的操作。


另外在Linux下还有一种方式访问,就是在客户端安装samba-client包,然后用smbclient命令访问。

[root@tpp ~]# yum install -y samba-client

[root@tpp ~]# smbclient //192.168.0.109/myshare -U user1

 

smb也有很多命令,大家可以试试。

  • 上一篇:电商网站的架构和开发设计初步
  • 下一篇:没有了
  • 关于我们 - RSS地图 - 最近更新 - 友情链接 - 网站地图 - 版权声明