
Windows共享目录到Linux —— SAMBA服务
Samba 简介
相关服务进程
smbd 提供smb(cifs)服务 TCP:139,445
nmbd NetBIOS名称解析 UDP:137,138
安装: Linux安装SAMBA服务
yum -y install samba-client
主配置文件:/etc/samba/smb.conf
帮助:man smb.conf
# 语法检查: testparm [-v] [/etc/samba/smb.conf]
客户端工具:smbclient,mount.cifs
Windows设置:
-
关闭windows防火墙 》控制面板\所有控制面板项\Windows Defender 防火墙
-
添加用户 demo < 给管理员权限,设一个简单的密码。
-
在任意磁盘下创建一个文件夹 》高级共享
》共享此文件夹 》【确定】
》输入本机IP地址可以访问
》在共享文件夹share下新建一个文件
Linux设置
- Linux安装SAMBA服务 yum -y install samba-client
Linux登录访问:
Windows:服务端
Linux:客户端
ls - 查看共享目录文件
!ls - 查看当前目录文件
put - 上传 Linux > Windows
get - 下载 Windows > Linux
【put】 Linux创建文件,上传到Windows共享目录
【get】 将 windows 系统下的文件下载到 linux 目录下
Linux之间文件共享
- 服务端
# 开机自启
[root@server ~]$ systemctl enable --now smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
# 查看 139,445 端口
[root@server ~]$ ss -ntlp | grep smbd
LISTEN 0 50 *:139 *:* users:(("smbd",pid=2876,fd=37))
LISTEN 0 50 *:445 *:* users:(("smbd",pid=2876,fd=36))
LISTEN 0 50 [::]:139 [::]:* users:(("smbd",pid=2876,fd=35))
LISTEN 0 50 [::]:445 [::]:* users:(("smbd",pid=2876,fd=34))
- 客户端
[root@Client ~]$ yum install -y samba-client
[root@Client ~]$ smbclient -L 10.0.0.10
Enter SAMBA\root's password: #直接回车
Anonymous login successful
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.10.16)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful
Server Comment
--------- -------
Workgroup Master
--------- -------
# 访问成功,默认共享家目录
- 服务端
# 创建用户
[root@server ~]$ useradd -s /sbin/nologin smb1
# 设置密码
[root@server ~]$ smbpasswd -a smb1
New SMB password:
Retype new SMB password:
Added user smb1.
# 查看用户详细信息
[root@server ~]$ pdbedit -L -v
---------------
Unix username: smb1
NT username:
Account Flags: [U ]
User SID: S-1-5-21-652242104-970740562-3160922690-1000
Primary Group SID: S-1-5-21-652242104-970740562-3160922690-513
Full Name:
Home Directory: \\server\smb1
HomeDir Drive:
Logon Script:
Profile Path: \\server\smb1\profile
Domain: SERVER
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 三, 16 8月 2023 14:55:43 CST
Password can change: 三, 16 8月 2023 14:55:43 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- 客户端访问
[root@Client ~]$ smbclient -L 10.0.0.10 -U smb1%123456
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.10.16)
smb1 Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
- SAMBA 服务端配置
[root@server-SAMBA ~]$ rpm -qc samba-common
/etc/logrotate.d/samba
/etc/samba/lmhosts
/etc/samba/smb.conf # 主配置文件
/etc/sysconfig/samba
#进入这个文件
[root@server-SAMBA data]$ vim /etc/samba/smb.conf
# 添加:
[share1]
path=/data/smbdata
writable=yes
# 授权
chmod 777 /data/smbdata/
# 重启服务
[root@server-SAMBA data]$ systemctl restart smb
- 客户端测试
# 连接成功,上传文件测试
[root@Client ~]$ touch b.txt
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb1%123456
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Aug 16 15:06:35 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
38770180 blocks of size 1024. 31178548 blocks available
smb: \> put b.txt
putting file b.txt as \b.txt (0.0 kb/s) (average 0.0 kb/s)
smb: \> ls
. D 0 Wed Aug 16 15:17:42 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
b.txt A 0 Wed Aug 16 15:17:42 2023
38770180 blocks of size 1024. 31178548 blocks available
smb: \>
- 服务端添加用户smb2,smb3
[root@server-SAMBA ~]$ useradd smb2
[root@server-SAMBA ~]$ useradd smb3
[root@server-SAMBA ~]$ smbpasswd -a smb2
New SMB password:
Retype new SMB password:
Added user smb2.
[root@server-SAMBA ~]$ smbpasswd -a smb3
New SMB password:
Retype new SMB password:
Added user smb3.
[root@server-SAMBA ~]$ pdbedit -L
smb1:1001:
smb3:1003:
smb2:1002:
#指定用户可以上传文件
[root@server-SAMBA ~]$ vim /etc/samba/smb.conf
[share1]
path=/data/smbdata
# writable=yes
writable=no #可以不写,默认只读
write list=smb2,smb3 #指定smb2和smb3可写
- Client客户端
# smb2 上传文件测试
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb2%123456
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Aug 16 15:17:42 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
b.txt A 0 Wed Aug 16 15:17:42 2023
38770180 blocks of size 1024. 31177820 blocks available
smb: \> lcd /etc/ # 切换目录
smb: \> put passwd
putting file passwd as \passwd (221.0 kb/s) (average 221.0 kb/s)
# smb3 上传文件测试
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb3%123456
Try "help" to get a list of possible commands.
smb: \> lcd /etc/
smb: \> put group
putting file group as \group (82.3 kb/s) (average 82.3 kb/s)
smb: \> ls
. D 0 Wed Aug 16 15:35:34 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
b.txt A 0 Wed Aug 16 15:17:42 2023
passwd A 1358 Wed Aug 16 15:31:03 2023
group A 590 Wed Aug 16 15:35:34 2023
38770180 blocks of size 1024. 31178032 blocks available
smb: \>
配置【所有人】可以访问
[root@server-SAMBA ~]$ vim /etc/samba/smb.conf
[share1]
path=/data/smbdata
# writable=yes
writable=no
write list=smb2,smb3
public=yes # 所有人可以访问
# 重启
[root@server-SAMBA ~]$ systemctl restart smb
# 客户端访问
[root@Client ~]$ smbclient //10.0.0.10/share1
Enter SAMBA\root's password: # 直接回车
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Aug 16 15:35:34 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
b.txt A 0 Wed Aug 16 15:17:42 2023
passwd A 1358 Wed Aug 16 15:31:03 2023
group A 590 Wed Aug 16 15:35:34 2023
38770180 blocks of size 1024. 31178020 blocks available
smb: \>
配置【特定用户】可以访问
[root@server-SAMBA ~]$ vim /etc/samba/smb.conf
[share1]
path=/data/smbdata
# writable=yes
# writable=no
# write list=smb2,smb3
# public=yes
valid users=smb3 #只有 smb3 用户可以访问
[root@server-SAMBA ~]$ systemctl restart smb
# 客户端测试
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb1%123456
tree connect failed: NT_STATUS_ACCESS_DENIED
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb2%123456
tree connect failed: NT_STATUS_ACCESS_DENIED
[root@Client ~]$ smbclient //10.0.0.10/share1 -U smb3%123456
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Aug 16 15:35:34 2023
.. D 0 Wed Aug 16 15:06:26 2023
a.txt N 9 Wed Aug 16 15:06:35 2023
b.txt A 0 Wed Aug 16 15:17:42 2023
passwd A 1358 Wed Aug 16 15:31:03 2023
group A 590 Wed Aug 16 15:35:34 2023
38770180 blocks of size 1024. 31177972 blocks available
配置不允许所有用户浏览此共享
[root@server-SAMBA ~]$ vim /etc/samba/smb.conf
[share1]
path=/data/smbdata
valid users=smb3
browsable=no
设定用户独立的配置文件
# 添加
[root@server-SAMBA ~]$ vim /etc/samba/smb.conf vim /etc/samba/smb.conf
[global]
config file=/etc/samba/conf.d/%U
[root@server-SAMBA ~]$ mkdir /etc/samba/conf.d/
vim /etc/samba/conf.d/smb1
[share]
path=/data/smbshare1
[root@server-SAMBA ~]$ vim /etc/samba/conf.d/smb2
[share]
path=/data/smbshare2
[root@server-SAMBA ~]$ mkdir /data/smbshare1 | mkdir /data/smbshare2
[root@server-SAMBA ~]$ echo smb1 > /data/smbshare1/smb1.txt
[root@server-SAMBA ~]$ echo smb2 > /data/smbshare2/smb2.txt
# Linux 客户端进行访问
Linux 客户端配置永久挂载
[root@Client ~]$ yum install cifs-utils -y
[root@Client ~]$ mkdir /smb
[root@client ~]# vim /etc/fstab
//10.0.0.10/share /smb cifs username=smb1,password=123456 0 0
挂载测试
- 注:服务端不开机,客户端也凉凉
[root@Client ~]$ mount -a
[root@Client ~]$ df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 37G 2.5G 35G 7% /
/dev/sr0 4.4G 4.4G 0 100% /localrepo
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
//10.0.0.10/share 37G 7.3G 30G 20% /smb
配置永久挂载,不明文显示密码
[root@Client ~]$ umount /smb
[root@Client ~]$ vim /etc/fstab
//10.0.0.10/share /smb cifs credentials=/etc/user.txt 0 0
[root@Client ~]$ cat /etc/user.txt
username=smb1
passsword=123456
[root@Client ~]$ mount -a
[root@Client ~]$ df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 37G 2.5G 35G 7% /
/dev/sr0 4.4G 4.4G 0 100% /localrepo
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
//10.0.0.10/share 37G 7.3G 30G 20% /smb
# 授权
[root@Client ~]$ chmod 600 /etc/user.txt
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 梦缘羲
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果