samba服务的搭建与使用

关闭selinux

#暂时关闭selinux
查看selinux状态
[root@localhost ~]# getenforce
Disabled 
[root@localhost ~]# 
如果此处是‘enforcing’,则执行下列代码
[root@localhost ~]# setenforce 0
再次查看selinux状态
[root@localhost ~]# getenforce
permissive
#永久关闭selinux
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 //将此处修改为‘disabled’
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 
或者
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/selinux/config

关闭防火墙

查看防火墙状态
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

安装samba软件

[root@localhost ~]# yum -y install samba

创建共享目录

[root@localhost ~]# mkdir /common
[root@localhost ~]# chmod 777 /common
创建试文件
[root@localhost ~]# echo "hello the world" > /common/smb.txt 

修改配置文件

做完以上准备工作后,如果希望 Samba 服务可以共享指定的目录给客户端,就需要在其 配置文件中写入目录共享的代码段,Samba 默认配置文件是 默认情况下, Samba 已经配置为允许用户通过远程共享访问账户自己的家目录,为了将我们在准备阶段创建 的/common 目录共享给客户端,需要在该配置文件末尾追加对 common 目录的共享设置,实现 快速自定义共享。#共享名称为 common

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

        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
增加以下内容
[common]  #共享名称为 common
        comment = public  #共享注释
        path = /common   #重要,指定共享路径
        browseable = yes  #所有人可见
        guest ok = no   #拒绝匿名访问
        guest ok = yes  #允许匿名访问(可选)
        writable = yes  #支持写入数据

创建访问账号

useradd -s /sbin/nologin smbuser
smbpasswd -a smbuser

smbpasswd 命令的描述和用法如下。
描述:修改账户 samba 密码。
用法:smbpasswd [选项] 账户名称
选项: 添加账户并设置密码。
-x 删除 SMB 账户。
-d 禁用 SMB 账户。
-e 启用 SMB 账户。

启动服务

[root@localhost ~]# systemctl start smb
[root@localhost ~]# systemctl start nmb
设置开机自启
[root@localhost ~]# chkconfig smb on
[root@localhost ~]# chkconfig nmb on
或者
[root@localhost ~]# systemctl enable smb
[root@localhost ~]# systemctl enable nmb

访问 Samba 共享

Windows 客户端访问
打开资源管理器,再上方搜索栏中输入:\\192.168.1.10
在弹出的窗口中输入。用户名和密码

Linux 客户端访问

Linux 客户端使用 smbclient 命令可以访问服务器上的共享资源,如果安装有图形环境,也
可以通过 Linux 图形界面连接服务器,下面是具体的方法。
[root@localhost ~]# smbclient -L //192.168.1.10 #查看192.168.1.10 主机共享信息
Enter SAMBA\root's password: 
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	common          Disk      public
	IPC$            IPC       IPC Service (Samba 4.10.16)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

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

	Workgroup            Master
	---------            -------
	SAMBA                LOCALHOST
	WORKGROUP            ðí╦´
	
[root@localhost ~]# smbclient -U smbuser //192.168.1.10/common
Enter SAMBA\smbuser's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Mon Jul  1 19:26:06 2024
  ..                                  D        0  Mon Jul  1 19:06:37 2024
  test.txt                            N       16  Mon Jul  1 19:07:33 2024

		36805060 blocks of size 1024. 35298040 blocks available
smb: \> help
?              allinfo        altname        archive        backup         
blocksize      cancel         case_sensitive cd             chmod          
chown          close          del            deltree        dir            
du             echo           exit           get            getfacl        
geteas         hardlink       help           history        iosize         
lcd            link           lock           lowercase      ls             
l              mask           md             mget           mkdir          
more           mput           newer          notify         open           
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir    
posix_unlink   posix_whoami   print          prompt         put            
pwd            q              queue          quit           readlink       
rd             recurse        reget          rename         reput          
rm             rmdir          showacls       setea          setmode        
scopy          stat           symlink        tar            tarmode        
timeout        translate      unlock         volume         vuid           
wdel           logon          listconnect    showconnect    tcon           
tdis           tid            utimes         logoff         ..             
!              
smb: \> 

Linux客户端图形化访问
[root@localhost ~]# nautilus-connect-server

目录挂载

有时候,挂载 Samba 共享目录实现如本地文件系统一样的使用体验是很有意义的,使用 root
管理员身份运行 mount 命令可以挂载这样的文件系统,将挂载信息写入 fstab 文件可以实现永久
挂载的目的。

创建共享目录
[root@localhost ~]# mkdir /com
临时挂载
[root@localhost ~]# mount -t cifs //192.168.1.10/common -o username=smbuser,password=123456 /com
[root@localhost ~]# ls /com
test.txt
[root@localhost ~]# 

永久挂载
[ root@centos6 ~ ] # echo '' //192.168.1.10/common /com /smb \ #实现永久挂载
> cifs defaults,username=smbuser,password=<password> 0 0 /etc/fstab

配置文件详解

Samba 配置文件非常简洁明了,所有的设置都在/etc/samba/smb.conf 配置文件中进行,通过 对该配置文件的修改,可以将 Samba 配置为一台匿名文件服务器、基于账户的文件服务器或打 印服务器,默认情况下,Samba 会已开启本地账号家目录共享与打印机共享,配置文件中以# 或;符号开头的行为注释行,配置文件分为若干段,除了 global(全局配置段)之外的其余所有 段用来描述共享资源,全局段中的配置代表全局有效,是全局的默认设置。但如果全局配置段 中的设置项与共享段中的设置项有冲突,则共享设置段中的设置为实际有效值。下面具体说明 配置文件中各个配置选项的含义。

[global] #定义全局策略
workgroup = MYGROUP #定义工作组
server string = Samba Server Version %v
#服务器提示字串,默认显示 samba 版本,建议修改默认值以防止针对版本的网络攻击
interfaces = lo ethO 192.168.12.2/24 192.168.13.2/24
#如果你的服务器有多个网络接口,可以通过 interfaces 选项指定 Samba 监听哪些网络接口
;hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13
#hosts allow 指定仅允许哪些主机有权访问 Samba 服务器资源,该参数可以放置在全局
#段也可以放置在共享段。与此相反的选项是 hosts deny, 用来设置黑名单列表,这里可
#以指定允许访问的主机名、工 P 地址或网段,当指定网段时可以使用 192.168.12.或
#192.168.12.0/255.255.255.0 两种格式,使用 EXCEPT 可以指定例外的 工P 地址
log file = /var/log/samba/log.%m
#定义日志文件,因为使用了 Samba 变量%m, 所以每个访问共享的主机会产生独立的
#日志文件,当m 会被替换为客户端的主机名
max log size = 5。
#定义日志单个文件最大容量为 50KB
security = user
#设置 security 选项将影响客户端访问 samba 的方式,是非常重要的设置选项之一。security
#可以被设置为 server 或 domain, user 代表通过用户名、密码验证访问者的身份,
#账户需要是服务器本机系统账户;share 代表匿名访问;server 代表基于验证身份的访问,
#但账户信息保存在另一台 SMB 服务器上;domain 同样是基于验证的访问,账户信息保存在活动目
#录中
passdb backend = tdbsam
#账户与密码的存储方式,smbpasswd 代表使用老的明文格式存储账户及密码;tdbsam 代
#表基于 TDB 的密文格式存储;Idapsam 代表使用 LDAP 存储账户资料
deadtime = 10
#客户端在 10 分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,
#这样的设置可以提高服务器性能
display charset = UTF8 #设置显示使用的字符集为 UTF8
max connections = 0
#设置最大连接数,0 代表无限制,若设置该规则超过此限制的连接请求服务器将拒绝连接
guest account = nobody #设置匿名账号为 nobody
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
#打印机共享池
[common] #共享名称为 common
comment = Common share #注释,共享描述信息
path = /common #重要,指定共享路径
valid users =tom jerry #有效账户列表
create mask = 0750 #客户端上传文件的默认权限,默认为 0%4
directory mask = 0775 #客户端创建目录的默认权限,默认为 0755
browseable = yes
writable = no
#共享目录是否对所有的人可见 yes 或 no
write list = tom #写权限账户列表,这里设置 tom 可写
admin users =tom #该共享的管理员,具有完全权限
invalid users = root bin #禁止 root 与 bin 访问 common 共享
guest ok = no #是否允许匿名访问,仅当全局设置 security=share 时有效 (yes或no)

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值