Linux使用Samba实现文件共享

简介: Linux使用Samba实现文件共享Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择。[root@study ~]# yum install samba -y  #安装samba服务[root@study ~]# cat -n /etc/samba/smb.

Linux使用Samba实现文件共享
Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择。

[root@study ~]# yum install samba -y  #安装samba服务

[root@study ~]# cat -n /etc/samba/smb.conf  #查看samba主配置文件

Samba服务程序中的参数以及作用

[global] 参数 作用

 workgroup = MYGROUP    

工作组名称

 server string = Samba Server Version %v    

服务器介绍信息,参数%v为显示SMB版本号

 log file = /var/log/samba/log.%m    

定义日志文件的存放位置与名称,参数%m为来访的主机名

 max log size = 50    

定义日志文件的最大容量为50KB

 security = user    

安全验证的方式,总共有4种

share:来访主机无需验证口令;比较方便,但是安全性很差

user:需验证来访主机提供口令后才可以访问;提高了安全性

server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

domain:使用域控制器进行身份验证

passdb backend = tdbsam

定义用户后台的类型,共有3种

smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码

tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户

ldapsam:基于LDAP服务进行账户验证

load printers = yes

设置在Samba服务启动时是否共享打印机设备

cups options = raw

打印机的选项

[homes] #共享参数

 comment = Home Directories    #描述信息
 browseable = no    #指定共享信息是否在“网上邻居”中可见
 writable = yes    #定义是否可以执行写入操作,与"read only“相反

[printers] #打印机共享参数
[root@study ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak  #备份配置文件

[root@study ~]# cat /etc/samba/smb.conf.bak |grep -v "#" |grep -v ";" | grep -v "^$" > /etc/samba/smb.conf  #去掉以#号分号;开头的注释信息。

[root@study ~]# cat /etc/samba/smb.conf

配置共享资源

用于设置Samba服务程序的参数以及作用

参数 作用
[database] 共享名称为database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writeable yes 允许写入操作
第1步:创建用于访问共享资源的账户信息。在Centos7中Samba服务程序默认使用的是用户口令认证模式(user)。

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次把账户信息写入到数据库时需要使用-a参数,以后执行修改密码、删除账户等操作时就不在需要该参数。

用于pdbedit命令的参数以及作用

参数 作用
-a 用户名 建立Samba账户
-x 用户名 删除Samba账户
-L 列出账户列表
-Lv 列出账户详细信息的列表
[root@study ~]# useradd Samba
[root@study ~]# id Samba
uid=1002(Samba) gid=1002(Samba) groups=1002(Samba)
[root@study ~]# pdbedit -a -u Samba

new password:输入密码
retype new password:再次输入密码

第2步:创建用于共享资源的文件目录。应当考虑文件读写权限问题。

[root@study ~]# mkdir /home/database
[root@study ~]# chown -Rf Samba:Samba /home/database

第3步:在Samba服务程序的主配置文件中,写入共享信息。

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

1 [global]
2 workgroup = MYGROUP
3 server string = Samba Server Version %v
4 log file = /var/log/samba/log.%m
5 max log size = 50
6 security = user
7 passdb backend = tdbsam
8 load printers = yes
9 cups options = raw
10 [database]
11 comment = Do not arbitrarily modify the database file
12 path = /home/database
13 public = no
14 writable = yes

第4步:重启smb服务

[root@study ~]# systemctl restart smb
[root@study ~]# systemctl enable smb

利用Windows访问文件共享服务

Linux:192.168.218.138

Win+r

\192.168.218.138

使用刚才设值的用户名密码登录测试增删改权限

Linux访问文件共享服务

Windows:192.168.0.105

[root@study ~]# yum install cifs-utils -y

在Linux客户端,按照Samba服务的用户名、密码、共享域的顺序将相关信息写入到一个认证文件中。权限修改为仅root管理员读写:

[root@study ~]# vim auth.smb

username=Samba
password=123456
domain=MYGROUP

[root@study ~]# chmod 600 auth.smb

在Linux客户端创建一个用于挂在Samba服务共享资源的目录,挂载信息写入到/etc/fstab文件中,确保挂载信息

[root@study ~]# vim /etc/fstab

//192.168.218.138/database /database cifs credentials=/root/auth.smb 0 0在服务器重启后依然生效:

[root@study ~]# mount -a

Linux客户端成功挂载了Samba服务的共享资源。可以看到Windows系统创建的qer.txt文件

[root@study ~]# cat /database/qer.txt

原文地址https://www.cnblogs.com/DevonL/p/11178674.html

相关文章
|
5天前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
51 19
|
30天前
|
监控 Linux
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
72 19
|
1月前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
66 5
Linux 常用文件查看命令
|
23天前
|
缓存 Linux
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
47 2
|
2月前
|
存储 Linux Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
47 2
Linux|Transfer.sh 轻松实现文件共享
|
2月前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
124 34
|
1月前
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
197 1
|
2月前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
58 14
|
2月前
|
Linux Shell
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
73 3
|
4月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
292 6
下一篇
oss创建bucket