首页 新闻 赞助 找找看

关于samba服务器

0
悬赏园豆:5 [待解决问题]

在搭建samba服务器的过程中需要修改smb.conf这个配置文件,但是这个文件涉及的配置信息很多,查看网上的例子后发现每个人的习惯也不一样。所以我想知道这个文件中哪些信息是必须要写的?

生成风的主页 生成风 | 初学一级 | 园豆:189
提问于:2016-05-07 16:18
< >
分享
所有回答(1)
0

 

samba服务

 

用途:用于linux和windows之间的文件共享

工作原理:

smb进程:控制发布共享目录与权限,负责文件传输 TCP 139 445

nmb进程:用于名称解析 UDP 137 138

思路:

1、关闭防火墙和selinux

2、配置yum源

3、软件三步曲(安装|确认|查看软件列表)

4、了解配置文件

5、根据需求通过修改配置文件来完成服务搭建

6、启动服务,开机自启动

7、测试验证

步骤:

关闭防火墙和selinux

[root@vm1 ~]# service iptables stop

iptables: Setting chains to policy ACCEPT: filter       [  OK  ]

iptables: Flushing firewall rules:                        [  OK  ]

iptables: Unloading modules:                              [  OK  ]

[root@vm1 ~]# chkconfig iptables off

[root@vm1 ~]# getenforce

Enforcing

[root@vm1 ~]# setenforce 0

[root@vm1 ~]# getenforce

Permissive

[root@vm1 ~]# vim /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

2、配置yum源

# cat /etc/yum.repos.d/local.repo

[local]

name=LOCAL

baseurl=file:///mnt/6.5iso

enabled=1

gpgcheck=01)

3、安装软件

yum -y install samba

1)安装

# rpm -aq|grep samba

samba-winbind-clients-3.6.9-164.el6.x86_64

samba-client-3.6.9-164.el6.x86_64

samba4-libs-4.0.0-58.el6.rc4.x86_64

samba-common-3.6.9-164.el6.x86_64

samba-3.6.9-164.el6.x86_64

samba-winbind-3.6.9-164.el6.x86_64

2)确认

# rpm -ql samba

/etc/logrotate.d/samba 日志轮转

/etc/pam.d/samba 认证模块

/etc/rc.d/init.d/nmb 启动脚本

/etc/rc.d/init.d/smb

/etc/samba/smbusers 存放smb用户别名

/usr/sbin/nmbd 二进制命令

/usr/sbin/smbd

3)查看软件列表

# rpm -ql samba-common

/etc/samba/smb.conf 主配置文件

/usr/bin/pdbedit 查看smb数据库用户

/usr/bin/smbpasswd 设置smb用户密码

/usr/bin/testparm 语法检测命令

4、了解配置文件

# cat /etc/samba/smb.conf |grep -v ^#|grep -v '^;'|grep [a-z]

[global]全局选项

workgroup = MYGROUP 工作组

server string = Samba Server Version %v smba服务版本描述

# logs split per machine

log file = /var/log/samba/log.%m 日志存放位置及格式

# max 50KB per log file, then rotate

max log size = 50 日志的最大大小是50kb

security = user 认证方式user表示基于用户名密码认证;share表示匿名用户

passdb backend = tdbsam 密码格式

# the login script name depends on the machine name

# the login script name depends on the unix user used

# disables profiles support by specifing an empty path

load printers = yes 加载打印机

cups options = raw 打印机选项

#obtain list of printers automatically on SystemV

[homes]局部选项;默认共享本地用户的家目录

comment = Home Directories  描述

browseable = no 是否隐藏共享名称,no表示隐藏;yes表示不隐藏

writable = yes 是否可写

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no 等于 public = no 是否允许匿名用户访问,no不允许;yes允许

writable = no

printable = yes

5、不做任何修改,默认情况

6、启动服务

[root@node1 Desktop]# service nmb start

Starting NMB services:                                     [  OK  ]

[root@node1 Desktop]# service smb start

Starting SMB services:                                     [  OK  ]

7、测试验证

192.168.5.2

认证模式:security = user

默认情况:security = user

匿名用户查看:

# smbclient -L 192.168.5.1

Enter root's password: 直接回车,匿名用户登录

Anonymous login successful

# smbclient -L 192.168.5.1/homes -U redhat 用户名密码查看

smbpasswd

-a:添加一个用户

-d:关闭

-e:开启

-x:删除

smbpasswd -a redhat

密码:

确认密码:

访问使用:

# smbclient //192.168.5.1/homes

Enter root's password:

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connect failed: NT_STATUS_BAD_NETWORK_NAME

# smbclient //192.168.5.1/homes -U redhat

Enter redhat's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> ls

  .                                   D        0  Thu Apr 14 15:12:59 2016

  ..                                  D        0  Mon Mar 28 16:52:34 2016

  001                                 D        0  Thu Apr 14 11:08:45 2016

  .bash_history                       H      257  Thu Apr 14 11:13:51 2016

  .mozilla                           DH        0  Mon Mar 28 16:40:48 2016

  .bash_profile                       H      176  Tue Jul  9 21:24:50 2013

  .bash_logout                        H       18  Tue Jul  9 21:24:50 2013

  aaa                                 D        0  Thu Apr 14 15:14:03 2016

  .gnome2                            DH        0  Wed Jul 14 23:55:40 2010

  file1                                        0  Thu Apr 14 15:11:45 2016

  .bashrc                             H      124  Tue Jul  9 21:24:50 2013

     35292 blocks of size 524288. 26418 blocks available

smb: \>

修改配置文件,给匿名用户共享一个目录

1)mkdir /samba/share

2)修改配置文件

vim /etc/samba/smb.conf

[anon_share]

  commnet = public ok

  path = /samba/share

  public = yes

  browseable = yes

  writable = yes

重启服务:service smb restart

3)测试验证:

# smbclient //192.168.5.1/anon_share

Enter root's password:

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> ls

  .                                   D        0  Thu Apr 14 15:25:51 2016

  ..                                  D        0  Thu Apr 14 15:25:51 2016

认证模式:security = share

总结:

1、当security = user时,本地用户可以查看和访问共享出来的目录(homes),匿名用户能不能访问看是否有共享选项给匿名用户开放。

2、当security = share时,只有匿名用户可以访问,本地用户不能查看也不能访问

demo1:server端共享一个目录,任何用户都可以访问

1、创建一个共享目录

mkdir /samba

2、修改配置文件

vim /etc/samba/smb.conf

security = user

[share]

  commnet = xxxxx

  path = /samba

  public = yes

  browseable = yes

  writable = yes

重启服务:service smb restart

3、测试验证

手动挂载

# mount -t cifs -o user=redhat,password='redhat' //192.168.5.1/share /u03

开机自动挂载

一键式触发挂载

#########################################################################

实例:

需求

公司:redhat

1、财务部门 /samba/RHCA_cw  cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。

 

2、市场部门 /samba/RHCA_sc  市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。

 

3、HR部门  /samba/RHCA_rs  rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询

 

4、休息区  /samba/RHCA_pub  自己管理自己的文件

步骤:

1.创建相应目录

mkdir /samba/RHCA_{cw,sc,rs,pub} -p

2、创建用户组

groupadd redhat

groupadd cw

groupadd sc

groupadd rs

useradd cw01 -g cw -G redhat

useradd sc01 -g sc -G redhat

useradd rs01 -g rs -G redhat

useradd boss01 -g redhat -G cw

useradd boss02 -g redhat -G sc

useradd vip

3.修改相应权限

chmod 770 /samba -R

chown root.redhat /samba

chown root.cw /samba/RHCA_cw

chown root.sc /samba/RHCA_sc

chown root.rs /samba/RHCA_rs

chmod 1777 /samba/RHCA_pub

4、发布共享目录

vim /etc/samba/smb.conf

        workgroup = redhat

        server string = www.redhat.edu

        security = user

[财务部门]

comment = cw01财务总监可以读写,财务部门员工只读,boss01对其部门管理,HR部门员工可以对财务部查询

    path = /samba/RHCA_cw

public = no

valid users = @cw , boss01 , @rs    只允许cw组,rs组和boss01访问

   read list = @cw , boss01 , @rs

   write list  = cw01 , boss01

 [人事部门]

comment =  HR总监可以读写,vip用户可以查询

public = no

path = /samba/RHCA_rs

valid users = @rs , vip

read list = @rs , vip

   write list  = rs01

 [市场部门]

comment = 市场部门员工可以读写,公司员工可以查询资源,boss02对其部门管理

public = no

path = /samba/RHCA_sc

valid users = @redhat

read list = @redhat

write list = @sc,boss02

[休息区域]

comment =  自己的文件自己管理

public = yes

path = /samba/RHCA_pub

writable = yes

host allow = 192.168.5.

5、检测语法

testparm

6、配置smb用户密码

smbpasswd -a cw01

....

# pdbedit -L 查看smb数据库里的用户

redhat:500:redhat

7、启动服务,测试验证

cw01没权限

 setfacl -m u:cw01:rx /samba/

其他acl策略省略,自己测试

访问控制:

host deny = 192.168.0. 拒绝某个网段

host allow = 192.168.5.1 允许某个IP

host deny = all 拒绝所有

host allow = all EXCEPT 192.168.5.254 允许所有,拒绝某个IP

别名:username map = /etc/samba/smbusers

vip = zhangsan

#########################################################################

建议清空环境 再次操作<恢复快照>

综合练习 <lvm+acl+smb(user)>

配置samba要求如下

 1)工作组名为RHCE

      2)认证类型为user

      3) 使用lvm  建立 /dev/mapper/rhce-smb 20G  固定挂载到 /rhce

      4)1.财务部门(/rhce/cw),只有财务总监(cw01)可以修改文件,财务成员(cw02)审核文件,boss01 汇总公司财务

2.人事部门(/rhce/rs),人事部门可以修改文件,公司所有员工都可以查看文件,boss02 也可以修改文件

3.市场部门(/rhce/sc),只有市场总监可以修改文件,市场成员可以查询,boss03 也可以修改文件

4.vip  可以访问rs部门,sc部门

6.在公共目录(/rhce/pub)自己文件自己管理

      5) 拒绝用户在192.168.1.0/24访问该共享目录 

      6) 定义vip的别名为赵二

      7) smb密码自行定义

 

 

 

 

 

 

 

 

Free-Wiki | 园豆:205 (菜鸟二级) | 2016-05-29 14:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册