作者:网络傅老师
特别提示:未经作者允许,不得转载任何内容。违者必究!
Debian如何配置共享服务Samba
《傅老师Debian小知识库系列之15》——原创
==前言==
傅老师Debian小知识库特点:
1、最小化拆解Debian实用技能;
2、所有操作在VM虚拟机实测完成;
3、致力于最终形成Debian小知识手册;
(文章尾部有傅老师的二维码,欢迎沟通交流:)
适合人群:
1、想通俗易懂地学习相关知识的同学;
2、正在学习Debian的同学;
阅读建议:
无。过于精炼易懂,正常看就行。
所用版本:Debian 12.4
一、概念
Samba为局域网内的不同计算机之间提供资源共享服务。主要功能包括文件共享、打印共享、身份验证与授权等。实际应用中,还可以将文件从不同计算机备份到中央存储位置,以确保数据的可用性和冗余。
二、前置知识
1、Samba的主要服务:
- smbd:提供共享访问
- nmbd:提供基于NetBIOS的主机名解析
2、Samba的配置文件
/etc/samba/smb.conf
3、端口
- NetBIOS:137(UDP)、138(UDP)
- SMBD:139(TCP)
- 有防火墙的同学可以参考放行。
三、操作方法
我们基于一个案例讲解基本用法。
案例需求:对于同一个共享目录,用户smbuser01只可以下载、用户smbuser02可以下载和上传。
1、安装Samba
root@Debian:~# apt install samba
2、创建用户
(1)创建系统用户
root@Debian:~# useradd smbuser01
root@Debian:~# useradd smbuser02
(2)创建Samba用户
root@Debian:~# pdbedit -a -u smbuser01 //共享用户名与系统用户一致,便于设置权限
new password: //密码与系统用户应不一致,以提高安全性
retype new password:
……省略部分内容
root@Debian:~# pdbedit -a -u smbuser02
new password:
retype new password:
……省略部分内容
3、创建共享目录和测试文件
root@Debian:~# mkdir /opt/myshare
root@Debian:~# touch /opt/myshare/test01.txt
4、编辑配置文件
root@Debian:~# nano /etc/samba/smb.conf
在[global] 配置段中加入以下内容
[global] security = user
//全局配置,使用用户级别的安全,即每个访问共享的用户都需要提供一个有效的用户名和密码
文件尾部添加以下内容
[Share-tools]comment = ********Share********.path = /opt/myshare //共享目录位置valid users = smbuser01 smbuser02 //定义可以访问共享的用户write list = smbuser02 //定义有写入权限的用户writable = no //默认情况下,没有用户可以对这个共享进行写操作(除非他们在 write list 中被明确允许)browseable = yes //这个共享是否可以被其他用户或客户端浏览create mask = 0644//新创建文件的默认权限。0644 表示文件所有者有读写权限,而组用户和其他用户只有读权限。directory mask = 0755//新创建目录的默认权限。0755 表示目录所有者有读、写和执行权限,而组用户和其他用户只有读和执行权限
5、重启服务
root@debian:~# systemctl restart smbd nmbd
6、设置共享目录的系统权限
root@Debian:~# chmod 777 /opt/myshare
PS:这里给777仅限实验环境。
7、验证
在另一台机器安装smbclient包后即可使用smbclient工具
列出目标主机的共享,如图15.1所示.
图15.1 查看目标主机共享
用户smbuser01登录,只能读取,不能下载。
root@ns2:~# smbclient //192.168.9.57/Share-tools -U smbuser01
如图15.2所示.
图15.2 smbuser01可以下载但拒绝上传
换用户smbuser02登录,可以上传,如图15.3所示。
图15.3 smbuser02用户有上传权限
以上是Samba的简单应用。同学们快操练起来~~
2024北京半程马拉松冠军何杰被3名黑人选手“保送”?这可是竞技体育。呵呵
傅老师的微信名片
欢迎沟通交流:)