Samba文件服务器详细配置步骤

准备安装

环境:CentOS 6.3_x64bit

安装:Minimal(最小)

1、配置IP地址

2、挂载:[root@localhost ~]# mount -t iso9660 /dev/cdrom /etc/mnt

3、安装YUM

4、查看Samba软件包

[root@localhost ~]# rpm -qa | grep samba*

 package samba-3.0.33-3.7.el5.i386.rpm is not installed          //samba服务器的所有文件

 package samba-client-3.0.33-3.7.el5.i386.rpm is not installed   //samba客户机的所有文件

 package samba-common-3.0.33-3.7.el5.i386.rpm is not installed   //服务器和客户机都需要的公共文件夹

 package samba-swat-3.0.33-3.7.el5.i386.rpm is not installed     //redhat公司为图形界面编辑的文件

 安装 Samba(方法一)#yum install samba (推荐使用)

  安装 Samba(方法二)使用RPM包安装

   #rpm -ivh samba-3.0.33-3.7.el5.i386.rpm            //samba服务器安装的所有文件

   #rpm -ivh samba-client-3.0.33-3.7.el5.i386.rpm     //samba客户机安装的所有文件   

5、创建共享文件夹:#mkdir /data/share/public caiwu yanfa jishu 

                         #chmod 777 public caiwu yanfa jishu 

6、创建三个用户组:

   #groupadd caiwu yangfa jishi

   创建用户:(添加到相应的组里)

   #useradd user1 -g caiwu

   #smbpasswd -a user1

   小提示:

   smbpasswd -a 添加 user 

             -x 删除

             -e 启用

             -d 禁用

7、备份Samba 配置文件

     备份:cp /etc/samba/smb.conf  /etc/samba/smb.confbak

     恢复:cp /etc/samba/smb.confbak  /etc/samba/smb.conf 

8、配置vi /etc/samba/smb.conf

 ======================= Global Settings =====================================

    [global] //设置samba服务整体环境

    workgroup = WORKGROUP //设置工作组名

    server string = Samba Server //服务器名说明

    hosts allow = 192.168.1. 192.168.2. 127. //限制可访问此服务的IP范围,默认是全部允许的,要是想设设置去掉前面的";"

    printcap name = /etc/printcap //打印机配置文件

    load printers = yes //是否共享打印机

    # bsd, sysv, plp, lprng, aix, hpux, qnx, cups

    printing = cups //打印机的类型.标准打印机类型包括以上几种.

    guest account = pcguest //pcguest为用户名.可改去掉前边的";"让用户以

    pcguest身份匿名登录,但保证/etc/passwd中有此人.

    log file = /var/log/samba/%m.log //为登录服务器的用户建立不同的日志文件.

    max log size = 0 //日志文件的大小,"0"代表无限制

    //以下是smb.conf文件对服务器安全级别的设置

    security = user //安全性的级别共四种.share:不验证(不推荐)、user:验证用户名和密码 (推荐)、server:服务器验证、domain:windows域验证

    password server = 密码验证服务器.

    password level = 8 //密码级别

    username level = 8

    encrypt passwords = yes //用户密码加密,当然也可以不加密

    smb passwd file = /etc/samba/smbpasswd //将密码服务器设置为samba server.需要这个东东来指定验证文件.这个是文件的路径,如果samba server是指定的winserver这个不需要

    ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

    unix password sync = Yes

    passwd program = /usr/bin/passwd %u

    passwd chat = *New*password* %n *Retype*new*password* %n

    *passwd:*all*authentication*tokens*updated*successfully*

    pam password change = yes

    username map = /etc/samba/smbusers   //如果每个windows用户在samba服务器中有帐户这个可以不设

    include = /etc/samba/smb.conf.%m

    obey pam restrictions = yes

    interfaces = 192.168.12.2/24 192.168.13.2/24 如果多网段要在这里列出

    remote announce = 192.168.1.255 192.168.2.44

    local master = no

    os level = 33

    domain master = yes

    preferred master = yes

    domain logons = yes

    logon script = %m.bat

    logon script = %U.bat

    logon path =

    \%LProfiles\%U

    wins support = yes //wins server支持

    wins server = w.x.y.z

    wins proxy = yes //wins 代理设置

    dns proxy = no //dns代理设置

    preserve case = no

    short preserve case = no

    default case = lower

    case sensitive = no

    #============================ Share Definitions ===========================

[public]                             //设置共享文件夹名称

     comment = public                //注释

     path = /data/share/public       //samba服务器共享目录路径

     public = yes                    //所有人公开共享

     write list = yanghw             //可写用户或组       

     create mode = 0777              //建立文件时所给的权限

     directory mode = 0777           //建立文件时所给的权限

[技术部]                             //设置共享文件夹名称

     comment = 技术部资料            //注释

     path = /data/share/jishu        //samba服务器共享目录路径

     public = no                     //禁止共享,指定的用户共享

     valid users = @jisji,user2     //设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名

     write list = @jishu             //可写用户或组

     create mode = 0775              //建立文件时所给的权限

     directory mode = 0775           //建立目录时所给的权限

注释说明:

#============================== Share Definitions =============================

[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

使用者本身的"家"目录,当使用者以samba使用者身份登入samba server 后,

samba server 底下会看到自己的家目录,目录名称是使用者自己的帐号

[分享的资源名称]

<指令1>; = (参数)

<指令2>; = (参数)

..........................

要提供分享资源时,须先把欲分享的资源以 [ ] 符号括住,底下通常会带指令和参数来表示此资源的设定和存取权限等,详情如下:

[    ]  --------- 共享文件夹名称

Comment = XXX---------注释说明

Path = /data/share/public------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对

Browseable = ------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取

Printable = -------是yes/否no允许打印

hide dot ftles = --是yes/否no隐藏隐藏文件

Public = ----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

guest ok = --------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

read only = -------是yes/否no以只读方式共享当与writable发生冲突时也writable为准

Writable = --------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only

vaild users = -----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)

invalid users = ---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)

read list = -------设定此名单内的成员为只读(用户名/@组名)

write list = ------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)

create mask = -----建立文件时所给的权限

directory mask = --建立目录时所给的权限

force group = -----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)

force use = r------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)

allow hosts = -----设定只有此网段/IP的用户才能访问共享资源

allwo hosts = 网段 except IP

deny hosts = ------设定只有此网段/IP的用户不能访问共享资源

allow hosts = 本网段指定IP指定IP

deny hosts = 指定IP本网段指定IP

9、重启:

   #chkconfig smb on        //设置 Samba开机自动启动 

   #service smb restart      //启动 重启 停止samba服务器

   #service nmb restart

   #testparm                              //测试smb.conf文件是否有语法错误

10、关闭防火墙

  #iptables -F

11、开启Samba 端口:

  # vim /etc/sysconfig/iptables

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 137 -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 138 -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT   

  # service iptables restart

   iptables:清除防火墙规则:                                 [确定]

   iptables:将链设置为政策 ACCEPT:filter                    [确定]

   iptables:正在卸载模块:                                   [确定]

   iptables:应用防火墙规则:                                 [确定]

12、XP访问:

      \0.0.0.0       

Samba如何隐藏用户目录

如下(前面添加注释“;”):

#============================ Share Definitions ==============================

;[homes]

;       comment = Home Directories

;       browseable = no

;       writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

注意:

SELinux关闭

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2 临时方法 – 设置系统参数

使用命令setenforce 0

LINUX关闭防火墙

1 重启后永久性生效:

开启:chkconfig iptables on

关闭:chkconfig iptables off

2 即时生效,重启后失效:

开启:service iptables start

关闭:service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,

修改/etc/sysconfig/iptables 文件,添加以下内容:

#配置防火墙开启端口

   -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

   -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

   -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT

   -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT

   

service iptables restart  重启防火墙,使规则生效

或者:

/etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。

/etc/rc.d/init.d/iptables stop 关闭防火墙

最后:

在根用户下输入setup,进入一个图形界面,选择Firewall configuration,进入下一界面,选择Security Level为Disabled,保存。重启即可。

(2)、server 身份验证 samba帐号库(其他服务器)

举例

  共享名    物理路径    权限

  public      /abc                                  任何人 ro

  smbzs    /zouyunxia      zouyunxia  rw

  smbls    /lisi                  lisi              rw

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

root@zyx ~]# service smb restart  //重启服务

[root@zyx ~]# mkdir /abc /zouyunxia /lisi  //建立文件目录

[root@zyx ~]# ll -d /abc /zouyunxia /lisi    //查看文件目录

[root@zyx ~]# useradd zouyunxia  //建立帐号zouyunxia

[root@zyx ~]# useradd lisi  //建立帐号lisi 

[root@zyx ~]# chown zouyunxia.zouyunxia /zouyunxia/  //修改文件所属组

[root@zyx ~]# chown lisi.lisi /lisi/  //修改文件所属组

[root@zyx ~]# ll -d /abc /zouyunxia /lisi //查看文件目录

注:为了区分三个文件目录,在三个文件目录下分别各建一个文件

[root@zyx ~]# cd /abc/

[root@zyx abc]# touch f1.public

[root@zyx abc]# cd /zouyunxia/

[root@zyx zouyunxia]# touch f1.zouyunxia

[root@zyx zouyunxia]# cd /lisi/   

[root@zyx lisi]# touch f1.lisi   

[root@zyx lisi]# smbpasswd -a zouyunxia  //给帐号设置密码

New SMB password:

Retype new SMB password:

Added user zouyunxia.

[root@zyx lisi]# smbpasswd -a lisi    //给帐号设置密码   

New SMB password:

Retype new SMB password:

Added user lisi.

root@zyx ~]# service smb restart    //重启服务

访问服务器

用账号zouyunxia登录

成功登录到服务器

打开zouyunxia的文件目录

新建文件夹

给文件重命名

删除文件

从服务器上下载文件

用帐号李四登录到服务器

http://www.linuxidc.com/Linux/2012-10/72584p6.htm

.t 粘作位

操作对象:目录的权限是777

作用:在一个公共的文件夹内自己只能删除自己的东西

chmod o+t /tmp

chmod 1777 /tmp

#samba用户信息查询 ##条件:必须在穿件用户前 修改 /etc/samba/smb.conf 文件 #将注释掉 passwdb backend = tdbsam //backen 阻碍 #添加一行新的代码 smb password file = /etc/samba/smbpasswd

###查看方式。进入文件 smbpasswd 查询或者用命令 pdbedit —L查询

原文地址:https://www.cnblogs.com/zajsky/p/3446068.html