centos7 samb4

本文详细介绍Samba服务器的配置过程,包括所需软件、配置文件详解、用户管理、挂载方式及防火墙设置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所需软件:

samba:提供了smbd和nmbd程序

           1)smbd:这个 daemon 的主要功能就是用来管理 SAMBA 主机分享的目录、档案与打印机等等。主要利用可靠的 TCP 协议来传输数据,开放的端口为 139 及 445(不一定存在)

          2)这个 daemon 是用来管理工作组啦、NetBIOS name 啦等等的解析。主要利用 UDP 协议开启 port 137, 138 来负责名称解析的任务

samba-client:这个软件则提供了当 Linux 做为 SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 文件格式的 mount.cifs、取得类似网芳相关树形图的 smbtree 等等

samba-common:这个软件提供的则是服务器与客户端都会使用到的数据,包括 SAMBA 的主要配置文件 (smb.conf)、语法检验指令 (testparm)等等

cifs-utils:CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务


/etc/samba/smb.conf中的可用变量

  • %m:代表 Client 端的 NetBIOS 主机名喔!
  • %M:代表 Client 端的 Internet 主机名喔!就是 HOSTNAME。
  • %L:代表 SAMBA 主机的 NetBIOS 主机名。
  • %H:代表用户的家目录。
  • %U:代表目前登入的使用者的使用者名称
  • %g:代表登入的使用者的组名。
  • %h:代表目前这部 SAMBA 主机的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!
  • %I:代表 Client 的 IP 咯。
  • %T:代表目前的日期与时间

/etc/samba/smb.conf

#security字段
    #share:来访主机无需验证口令
    #user:由SMB服务器来验证主机提供的口令
    #domain:使用PDC来完整验证
    #server:用独立的远程主机验证

#passdb backend 字段
    #smbpasswd:用smb服务的smbpasswd命令给系统用户设置smb密码
    #ldapsam:基于LDAP服务进行账户验证
    #tdbsam:创建数据库文件并使用pdbedit建立独立的用户
    
[global]
    #工作组名称
    workgroup = LwGROUP
    netbios name = lwserver
    #samba服务器信息介绍
    server string = This is lw' samba server:%v
    #%m为来访的主机名    
    log file = /var/log/samba/log.%m
    #日志文件最大为50kb
    max log size = 50
    security = user
    #samba4中加入这一行就能免口令进入了,smb4没有share
    #map to guest = Bad User
    #定义用户后台的类型
    passdb backend = tdbsam
    #是否当samba服务启动时共享打印机设备
    load printers = no



[homes]
    #描述信息
    comment = my home hahah
    #yes为图标可见,no为图标不可见,但是可以直接访问这个目录
    browseable = no
    #是否可以写入
    writable = yes
    #建立文件后文件的权限
    create mode = 0664
    #建立目录的后目录的权限
    directory mode = 0775
    guest ok = yes


[temp]
    comment = temp directory haha
    path = /tmp
    #yes为图标可见,no为图标不可见,但是可以直接访问这个目录
    browseable = yes
    #不允许写入
    writable = no
    #是否有权限进入,guest ok和public是一样的,如果browseable=yes
    #guest ok=no,则用户可以看到图标而双击不进去
    guest ok = yes


[project]
    comment = project directory haha
    path = /home/project
    browseable = yes
    writable = yes
    #允许这个组写入
    write list = @users


chown .users /home/project 

chmod 2770 /home/project


#检查配置文件语法知否正确

testparm 

systemctl start smb && systemctl start nmb


samba需要linux下的用户名和组但是密码是通过pdbedit 这个密令设定的

选项与参数:
-L :列出目前在数据库当中的账号与 UID 等相关信息;
-v :需要搭配 -L 来执行,可列出更多的讯息,包括家目录等数据;
-w :需要搭配 -L 来执行,使用旧版的 smbpasswd 格式来显示数据;
-a :新增一个可使用 Samba 的账号,后面的账号需要在 /etc/passwd 内存在者;
-r :修改一个账号的相关信息,需搭配很多特殊参数,请 man pdbedit;
-x :删除一个可使用 Samba 的账号,可先用 -L 找到账号后再删除;
-m :后面接的是机器的代码 (machine account),与 domain model 有关!

[root@www ~]# useradd -G users smb1
[root@www ~]# useradd -G users smb2
[root@www ~]# useradd -G users smb3
[root@www ~]# echo 1234 | passwd --stdin smb1
[root@www ~]# echo 1234 | passwd --stdin smb2
[root@www ~]# echo 1234 | passwd --stdin smb3

#设置密码
 pdbedit -a -u smb1   
 pdbedit -a -u smb2
 pdbedit -a -u smb3
 pdbedit -a -u root

pdbedit -L

smb1:1001:
smb3:1003:
smb2:1002:
root:0:root

#通过smbpassword修改密码
smbpasswd  smb1


linux下挂载samba服务器提供的共享文件夹 :

 mount -t cifs //192.168.200.157/smb1 /mnt -o username=smb1 #必须加上-o 不然报错.

开机自动挂在vi /etc/fstab

//127.0.0.1/smb1 /media cifs auto,username=smb1,password=haha 0 0 #auto可以去掉,然后mount -a


window下挂载samba服务器提供的共享文件夹:

在我的电脑里输入\\192.168.200.157  输入 用户名:smb1 密码 4321就ok了

删除缓冲的用户名和密码 net use \\192.168.200.157 /del


防火墙:

iptables -A INPUT -p tcp -m multiport --dport 139,445 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 137,138 -j ACCEPT



smbtree 显示samba提供的目录结构

选项与参数:
-b :以广播的方式取代主要浏览器的查询
-D :仅列出工作组,不包括分享的资源
-S :列出工作组与该工作组下的计算机名称 (NetBIOS) 不包括各项资源目录

[root@www ~]# smbstatus [-pS] [-u username]
选项与参数:
-p :列出已经使用 SAMBA 联机的程序 PID ;
-S :列出已经被使用的资源共享状态;
-u :只列出某个用户相关的分享数据



# 范例一:列出目前主机完整的 Samba 状态
[root@www ~]# smbstatus
Samba version 3.5.4-68.el6_0.2
PID     Username      Group         Machine
-------------------------------------------------------------------
5993      smb1          smb1          __ffff_192.168.100.10 (::ffff:192.168.100.10)
5930      smb1          smb1          win7-pc      (::ffff:192.168.100.30)
# 上半部主要在列出目前联机的状态中,主要来自那个客户端机器与登入的用户名

Service      pid     machine       Connected at
-------------------------------------------------------
IPC$         5930   win7-pc       Fri Jul 29 15:56:03 2011
project      5930   win7-pc       Fri Jul 29 15:59:25 2011
smb1         5993   __ffff_192.168.100.10  Fri Jul 29 16:32:45 2011
# 这部分则显示出,目前有几个目录被使用了?那个 smb1 代表 //IP/smb1/ 喔!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值