安装samba服务共享文件夹(BC-Linux)

该文详细介绍了如何在Linux服务器上检查、安装samba服务,创建系统用户,设置共享文件夹,编辑samba配置,启动服务,添加防火墙例外,并处理SELinux问题,以便于从Windows系统访问共享文件夹。

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

1. 检查Linux服务器是否安装了samba

命令:rpm -qa | grep samba

如果有安装samba,会在下一行命令行显示samba,如果没有,则什么都不显示。

2. 安装samba服务

命令:yum install samba

[root@localhost ~]# yum install samba
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba.x86_64.0.4.10.16-19.el7_9 将被 安装
......
省略中间的安装日志
......
已安装:
  samba.x86_64 0:4.10.16-19.el7_9                                                                                                    

作为依赖被安装:
  avahi-libs.x86_64 0:0.6.31-20.el7            cups-libs.x86_64 1:1.6.3-43.el7               libldb.x86_64 0:1.5.4-2.el7            
  libtalloc.x86_64 0:2.1.16-1.el7              libtdb.x86_64 0:1.3.18-1.el7                  libtevent.x86_64 0:0.9.39-1.el7        
  libwbclient.x86_64 0:4.10.16-19.el7_9        pyldb.x86_64 0:1.5.4-2.el7                    pytalloc.x86_64 0:2.1.16-1.el7         
  python-tdb.x86_64 0:1.3.18-1.el7             samba-client-libs.x86_64 0:4.10.16-19.el7_9   samba-common.noarch 0:4.10.16-19.el7_9 
  samba-common-libs.x86_64 0:4.10.16-19.el7_9  samba-common-tools.x86_64 0:4.10.16-19.el7_9  samba-libs.x86_64 0:4.10.16-19.el7_9   

完毕!
[root@localhost ~]#

最后会提示已安装的samba版本和是否安装完毕。

3. 创建系统用户(用于登陆samba服务)

命令:useradd 用户名 //添加用户
命令:passwd 用户名 //给用户创建密码

[root@localhost ~]# useradd fenghx
[root@localhost ~]# passwd fenghx
更改用户 fenghx 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# 

当你的密码很简单时,会提示无效密码,但输入两次后也是可以生效的

4. 在用户的家目录下建立一个共享文件夹

名字随便起,我这里是code,准备共享这个文件夹到 windows 下。

[root@localhost ~]# cd /home/fenghx/
[root@localhost fenghx]# ls
[root@localhost fenghx]# mkdir code
[root@localhost fenghx]# ls
code
[root@localhost fenghx]# cd code/
[root@localhost code]# ls

5. 编辑samba配置文件

命令:vim /etc/samba/smb.conf

在文件内容最后添加:

[share]
      comment = smb share test
      path = /home/fenghx/code
      browseable = yes
      writable = yes
      valid users = fenghx
      public = yes

如下:

# 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
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        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

[share]
        comment = smb share test
        path = /home/fenghx/code
        browseable = yes
        writable = yes
        valid users = fenghx
        public = yes


                                                                   
"/etc/samba/smb.conf" 45L, 837C                                           45,2-9       全部

6. 将用户添加倒samba用户列表中

命令:smbpasswd -a 用户名

[root@localhost ~]# smbpasswd -a fenghx
New SMB password:
Retype new SMB password:
Added user fenghx.
[root@localhost ~]# 

7. 启动samba服务

命令:service smb start

[root@localhost ~]# service smb start
Redirecting to /bin/systemctl start smb.service
[root@localhost ~]# 

8. 将samba服务添加到防火墙例外中

为避免防火墙原因导致无法共享,需要将samba服务添加到防火墙例外中。

写这篇文章的关键在这里,我查询了很多文章,都是只说了将samba添加到防火墙例外中,但是没说具体的命令

命令:firewall-cmd --zone=public --add-service=samba

[root@localhost ~]# firewall-cmd --zone=public --add-service=samba
success
[root@localhost ~]#

9. 在Windows上访问共享文件夹

运行窗口中输入:\\xxx.xxx.xxx.xxx\
第一次访问共享文件夹的时候会弹出对话框,让输入账号和密码,输入添加到samba用户列表的用户名和对应的samba密码即可。就可以看到以下内容。
可以看到共享的文件夹
此时我想打开share文件夹,却提示如下:
没有访问权限的错误
这种原因应该是由于SELinux在捣乱,运行以下命令设置SELinux 成为permissive模式 临时关闭SELlinux防火墙就可以了

命令:setenforce 0

10. 验证

在Linux服务器上的code目录下创建一个文件,写上内容

[root@localhost code]# touch test.txt
[root@localhost code]# vim test.txt
hjasjkldfhasdkjasdkjf
~                                                                                                                                   
~                                                                                                                                   
~                                                                                                                                   
~                                                                                                                                   
~     
"test.txt" 1L, 22C                                                                                                1,1          全部                

保存退出后,在windows下查看
windows下查看编辑的文件

以上就是全部,希望对翻阅的人有帮助,感谢阅览。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫叶2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值