Linux 多种方式实现文件共享(二)Samba 5

简介: 【8月更文挑战第5天】Samba 文件共享

Samba 文件共享

smb: 实现资源共享、权限验证 -> TCP 139 445

nmb: 实现计算机名解析 -> UDP 137


Samba和FTP的区别

Samba可以实现跨平台的文件传输,并且支持在线修改,这一点是它和FTP服务器的明显区别.

Linux 系统之间的资源共享,我们使用的是NFS协议.

Windows 系统之间的资源共享,我们使用的是NetBIOS协议.

Linux 和 Windows 之间资源共享我们就要使用SMB协议了.CIFS协议.


匿名验证Samba配置

匿名Samba的主要作用是,在局域网内编辑共享文件,比如你有一个word文件需要让大家填写,此时我们就可以使用Samb服务将Word文档匿名分享出去,让大家填写文档


◆配置服务端◆


1.首先通过yum,来安装samba服务程序,恰巧samba服务名也是samba

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

Loaded plugins: product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager.

Package samba-4.7.1-6.el7.x86_64 already installed and latest version

Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version

Nothing to do

2.然后创建一个共享目录,这个目录主要用来存储一些文件,后期要共享出去

[root@localhost ~]# mkdir /smb_file


[root@localhost ~]# chmod 755 -R /smb_file/


3.编辑Samba主配置文件,在配置文件最下面创建匿名共享区域,如果有多个匿名区域可以继续往下写配置

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

 6 [global]

 7         workgroup = SAMBA

 8         security = user

 9         map to guest=Bad User   #添加此项,开启免密码认证

.....

38

39 [smb_file]                       #共享目录显示的名称

40         comment=hello guest      #描述信息(可以自定义)

41         path=/smb_file           #共享的目录

42         browseable=yes           #共享目录是否对所有人可见

43         guest ok=yes             #允许匿名用户访问

44         writable=yes             #匿名用户可写

45         public=yes               #所有人可见


4.重启smb服务,并设置开机自启动

[root@localhost ~]# systemctl restart smb

[root@localhost ~]# systemctl enable smb

◆配置Linux客户端◆

1.首先想要使用Samba资源,需要在Linxu客户端安装一个Samba的客户端工具,下面就开始安装吧

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

Loaded plugins: product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager.

Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version

Nothing to do

2.匿名用户访问,我们可以直接使用下面的命令无需输入密码直接扫描资源,并使用

[root@localhost ~]# smbclient -L //服务器IP              #查看smaba共享目录

Enter SAMBA root s password:


[root@localhost ~]# smbclient //服务器IP/共享名   #查看共享文件


◆配置Windows客户端◆

运行CMD(Win+R) > 输入:\\服务器IP\ 共享资源名   #访问目录

C:\Users\LyShark>net use * /del               #清理windows目录缓存

你有以下的远程连接:

                   \\192.168.1.20\smb_file

继续运行会取消连接。

你想继续此操作吗? (Y/N) [N]: y

命令成功完成。

密码验证Samba配置

基于密码验证的Samba的常用作用是,在局域网内,实现加密访问,只有知道相应密码的人才能访问指定资源

◆配置服务端◆

1.首先通过yum,来安装samba服务程序,恰巧samba服务名也是samba


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

Loaded plugins: product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager.

Package samba-4.7.1-6.el7.x86_64 already installed and latest version

Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version

Nothing to do

2.然后创建一个共享目录,这个目录主要用来存储一些文件,后期要共享出去


[root@localhost ~]# mkdir /smb_file

[root@localhost ~]#

[root@localhost ~]# chmod 755 -R /smb_file/

[root@localhost ~]#

3.编辑Samba主配置文件,在配置文件最下面创建共享区域,如果有多个区域可以继续往下写配置

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

39 [smb_file]                       #共享目录显示的名称

40         comment=hello admin      #描述信息(可以自定义)

41         path=/smb_file           #共享的目录

42         browseable=yes           #共享目录是否对所有人可见

43         guest ok=no              #允许匿名用户访问

44         writable=yes             #可写

4.通过命令管理,创建一个系统用户,并转换为Samba用户

[root@localhost ~]# useradd -M -s /sbin/nologin admin      #创建一个系统用户

[root@localhost ~]# smbpasswd -a admin                     #将系统用户转化成Samba用户

-----------------------------------------------------------------

[参数说明]

smbpasswd [选项] 账户名称

 -a        #添加账户并设置密码

 -x        #删除SMB账户

 -d        #禁用SMB账户

 -e        #启用SMB账户

-----------------------------------------------------------------

[root@localhost ~]# useradd -M -s /sbin/nologin guest      #创建一个系统用户

[root@localhost ~]# pdbedit -a guest                       #将系统用户转化成Samba用户

new password:

retype new password:

Unix username:        guest

NT username:

Account Flags:        [U          ]

User SID:             S-1-5-21-2500030998-3215874083-1041928306-1001

Primary Group SID:    S-1-5-21-2500030998-3215874083-1041928306-513

Full Name:

Home Directory:       \\localhost\guest

HomeDir Drive:

Logon Script:

Profile Path:         \\localhost\guest\profile

Domain:               LOCALHOST

Account desc:

Workstations:

Munged dial:

Logon time:           0

Logoff time:          Wed, 06 Feb 2036 10:06:39 EST

Kickoff time:         Wed, 06 Feb 2036 10:06:39 EST

Password last set:    Mon, 05 Nov 2018 06:23:37 EST

Password can change:  Mon, 05 Nov 2018 06:23:37 EST

Password must change: never

Last bad password   : 0

Bad password count  : 0

Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

[root@localhost ~]# pdbedit -L                             #列出所有Samba用户

admin:1001:

guest:1002:

5.重启SMB服务,并设置开机自启动

[root@localhost ~]# systemctl restart smb

[root@localhost ~]# systemctl enable smb


◆配置Linux客户端◆

1.首先想要使用Samba资源,需要在Linxu客户端安装一个Samba的客户端工具,下面就开始安装吧

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

Loaded plugins: product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager.

Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version

Nothing to do

2.用户访问,我们可以直接使用下面的命令输入密码扫描资源,并使用

[root@localhost ~]# smbclient -U 用户名 -L //服务器IP               #查看共享目录

Enter SAMBA dmin s password:


[root@localhost ~]# smbclient -U 用户名 //服务器IP/共享文件名      #查看共享文件

Enter SAMBA dmins password:

Try "help" to get a list of possible commands.



◆Linux挂载Samba◆

1.将远程的smb_file共享目录,挂载到本地的/mnt下,我们可以执行以下命令

[文件格式]  [/smb_file共享目录][挂载到/mnt] [username=smb用户名][password=smb密码]

[root@localhost ~]# mount -t cifs //192.168.1.20/smb_file /mnt -o username=admin,password=123123

[root@localhost ~]#

[root@localhost ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/rhel-root     17G  1.2G   16G   7% /

//192.168.1.20/smb_file   17G  1.2G   16G   7% /mnt























.

目录
相关文章
|
1月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
1月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
78 28
|
1月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
226 12
|
17天前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
2月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
164 19
|
3月前
|
监控 Linux
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
102 19
|
3月前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
109 5
Linux 常用文件查看命令
|
2月前
|
缓存 Linux
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
92 2
|
4月前
|
存储 Linux Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
|
3月前
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
354 1