samba 服务

samba 服务

1.samba 简介

  • Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序组成
  • SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它在局域网内的不同计算机之间提供文件及打印机等资源的共享服务
  • SMB协议是C/S型协议,客户机通过协议可以访问服务器上的共享文件系统,打印机以及其他资源
1.1 Samba监听端口
TCPUDP
139137
445138

tcp端口对应的服务是samba服务,其作用是提供服务器中文件、打印资源的共享访问
udp端口对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析

1.2samba 进程
进程对应
nmbd对应netbios
smbd对应cifs协议
window+ldap对应windows AD活动目录
1.3 samba 用户
账户密码
都是系统用户/etc/passwd Samba服务自有密码文件,通过smbpasswd -a USERNAME命令设置
**//smbpasswd命令:**
-a    //添加系统用户为samba用户并为其设置密码
-d    //禁用用户账号
-e    //启用用户账号
-x    //删除用户账号

**//下载samba服务**
[root@localhost ~]# yum -y install samba*
[root@localhost ~]# useradd tom
**//将用户加入到samba中**
[root@localhost ~]# smbpasswd -a tom 
New SMB password: 
Retype new SMB password: 
Added user tom.
1.4 samba安全级别
安全级别作业
user基于本地验证
server由另一台指定的服务器对用户身份进行认证
domain由域控进行身份验证
1.5 samba配置文件
  • /etc/samba/smb.conf(主配置文件)
samba的三大组成作用
[global]全局配置,此处的设置对samba服务器都有效
[homes]宿主目录共享位置,此处用来设置Linux用户的默认设置,对应用户的宿主目录
[printers]打印机共享设置
  • 常用的配置文件参数
参数作用
workgroup表示设置工作组目录
server string表示描述samba服务器
security表示设置安全级别,其值可为share、server、domain
passdb backend表示共享账户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba密码文件)
comment表示设置对应共享目录的注释,说明信息,即文件共享名
browseable表示设置共享是否可见
writable表示设置目录是否可写
path表示共享目录的路径
guest ok表示设置是否所有人均可访问共享目录
public表示设置是否允许匿名用户访问
write list表示设允许写的用户组,组要用@表示,例如write list = root,@root
valid users表示设置可以访问的用户和组,例如 valid users = root,@root
hosts deny设置拒绝那台主机访问,例如:hosts deny = 192.168.xxx.xxx
hosts allow设置允许那台主机访问,例如:hosts deny = 192.168.xxx.xxx
printable表示设置是否为打印机

2.配置共享方式

方式一:配置用户认证共享

1、关闭防火墙(服务端)

[root@localhost ~]# systemctl  stop  firewalld
[root@localhost ~]# systemctl  disable  firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# vim  /etc/selinux/config
 **//将第六行中的 enforcing 改为 disabled**
# 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      

[root@localhost ~]# setenforce   0

1.1、服务端操作

**//下载samba服务**
[root@localhost ~]# yum  -y  install  samba*
**//启动服务**
[root@localhost ~]# systemctl  start  nmb  smb
[root@localhost ~]# useradd  lol
[root@localhost ~]# smbpasswd   -a  lol
New SMB password:
Retype new SMB password:
Added user lol.
[root@localhost ~]# mkdir  /123
**//配置共享**
[root@localhost ~]# vim  /etc/samba/smb.conf
.......
**//在后面添加配置共享**
[zhao]
        path = /123
        writable = yes
        guest ok = yes
        hosts allow = 192.168.206.130
        write list = lol
        
**//更改用户对共享目录的权限**
[root@localhost ~]# setfacl  -m  u:lol:rwx  /123
[root@localhost ~]# getfacl   /123
getfacl: Removing leading '/' from absolute path names
# file: 123
# owner: root
# group: root
user::rwx
user:lol:rwx
group::r-x
mask::rwx
other::r-x
[root@localhost ~]# cd  /123
[root@localhost 123]# ls
[root@localhost 123]# touch  1  2  3
[root@localhost 123]# ls
1  2  3

2.客户端操作

**//关闭防火墙(四步)**
[root@super ~]# systemctl   stop  firewalld
[root@super ~]# systemctl   disable  firewalld
[root@super ~]# vim  /etc/selinux/config 
**//将第六行中的 enforcing 改为 disabled**
# 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      

[root@super ~]# setenforce 0
setenforce: SELinux is disabled
**//客户端只需下载samba-client服务**
[root@super ~]# yum  -y  install  samba-client
**//查看服务端有哪些共享资源,-L后为服务端ip**
[root@super ~]# smbclient   -L  192.168.206.129  -U  lol
Enter SAMBA\share's password: 
OS=[Windows 6.1] Server=[Samba 4.6.2]

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	zhao            Disk      
	lol             Disk      Home  Directories
OS=[Windows 6.1] Server=[Samba 4.6.2]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                LOCALHOST

2.1挂载(临时挂载)

**//创建挂载目录**
[root@super ~]# mkdir  /123
[root@super ~]# mount  -t  cifs  //192.168.206.129/zhao  /123  -o  username=lol,password=1
[root@super ~]# df  -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   17G  1.1G   16G    7% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  904M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
tmpfs                  183M     0  183M    0% /run/user/0
/dev/sr0               3.8G  3.8G     0  100% /mnt
//192.168.206.129/zhao  17G  1.6G   16G    9% /123

2.2永久挂载

**//创建挂载目录**
[root@super ~]# mkdir  /123
[root@super ~]# vim  /etc/fstab
........
**//在最后一行添加以下内容** 
//192.168.206.129/zhao  /123  cifs  defaults,username=lol,password=1  0  0
[root@super ~]# mount  -a
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   17G  1.1G   16G    7% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  904M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
tmpfs                  183M     0  183M    0% /run/user/0
/dev/sr0               3.8G  3.8G     0  100% /mnt
//192.168.206.129/zhao  17G  1.6G   16G    9% /123
方式二:配置匿名共享

1.服务端操作

**//关闭防火墙**
[root@localhost ~]# systemctl  stop  firewalld
[root@localhost ~]# systemctl  disable  firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# vim  /etc/selinux/config
 **//将第六行中的 enforcing 改为 disabled**
# 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      

[root@localhost ~]# setenforce   0

[root@localhost ~]# yum  -y  install  samba*
[root@localhost ~]# systemctl  start  nmb  smb
[root@localhost ~]# mkdir  /456
[root@localhost ~]# chmod  777   /456/
[root@localhost ~]# ll  /
总用量 1
drwxrwxrwx.   2 root root    6 326 15:32 456
[root@localhost ~]# vim  /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User     **//添加此行即可**

**//添加配置共享**
[root@localhost ~]# vim  /etc/samba/smb.conf
**//在最后面添加以下内容**
[zuo]
        comment = zuo
        path = /456
        browseable = yes
        guest ok = yes
        writable = yes
        public = yes
                
[root@localhost ~]# systemctl   restart  smb  
[root@localhost ~]# cd  /456
[root@localhost 456]# touch  1  2  3
[root@localhost 456]# ls
1  2  3

2.客户端操作

**//关闭防火墙(四步)**
[root@super ~]# systemctl   stop  firewalld
[root@super ~]# systemctl   disable  firewalld
[root@super ~]# vim  /etc/selinux/config 
**//将第六行中的 enforcing 改为 disabled**
# 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      

[root@super ~]# setenforce 0
setenforce: SELinux is disabled
**//客户端只需下载samba-client服务**
[root@super ~]# yum  -y  install  samba-client
**//查看服务端有哪些共享资源**
[root@super ~]# smbclient   -L  192.168.206.129  -U  'Bad User'
Enter SAMBA\Bad User's password:         **//这个地方直接回车**
OS=[Windows 6.1] Server=[Samba 4.6.2]

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers   
	zuo             Disk      zuo
	IPC$            IPC       IPC Service (Samba 4.6.2)
OS=[Windows 6.1] Server=[Samba 4.6.2]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                LOCALHOST

**//此处为临时挂载,永久挂载上面有,可仿照操作。**
[root@super ~]# mkdir  /123
[root@super ~]# mount  -t  cifs  //192.168.206.129/zuo  /123  -o  username='Bad User'
[root@super ~]# df  -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   17G  1.1G   16G    7% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  904M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
tmpfs                  183M     0  183M    0% /run/user/0
/dev/sr0               3.8G  3.8G     0  100% /mnt
//192.168.206.129/zuo   17G  1.6G   16G    9% /123
[root@super ~]# cd  /123
[root@super 123]# ls
[root@super 123]# ls
1  2  3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值