samba客户端的使用
windos共享到linux
windows开启共享
windows上共享方式为:右键文件属性【也可以共享的,如C盘】-共享-高级共享-开启即可
-
net share
:windows上打开命令面板,查看共享
-
ipconfig
:打开命令面板,查看本机IP【这个需要记录,后面登录这些需要用】
linux上挂载共享
安装服务【smbclient】
- linux上安装smbclient:先查找包名:
yum whatprovides smbclient
【本地源查找,网络源用yum whatprovides /*smbclient
】 , 然后yum -y install 包名
:
[root@centos76_3 ccx]# yum whatprovides smbclient
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
7.6-bendi/filelists_db | 3.2 MB 00:00:00
samba-client-4.8.3-4.el7.x86_64 : Samba client programs
Repo : 7.6-bendi
Matched from:
Filename : /usr/bin/smbclien
[root@centos76_3 ccx]# yum -y install samba-client-4.8.3-4.el7.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package samba-client.x86_64 0:4.8.3-4.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================================================================================
Package Arch Version Repository Size
==========================================================================================================================================================================
Installing:
samba-client x86_64 4.8.3-4.el7 7.6-bendi 618 k
Transaction Summary
==========================================================================================================================================================================
Install 1 Package
Total download size: 618 k
Installed size: 2.0 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : samba-client-4.8.3-4.el7.x86_64 1/1
Verifying : samba-client-4.8.3-4.el7.x86_64 1/1
Installed:
samba-client.x86_64 0:4.8.3-4.el7
Complete!
[root@centos76_3 ccx]#
查看共享
smbclient -L windowsIP
:查看共享目录,如果不指定用户就默认管理员用户admin。smbclient -L windowsIP -U 用户名
:指定用户名查看smbclient -L windowsIP -U 用户名%密码
:不用再次输入密码就直接查看了
[root@centos76_3 ccx]# smbclient -L 192.168.59.131 # 如果修改过默认admin名称的,就会报错【直接指定用户名即可】
Enter SAMBA\root's password:
session setup failed: NT_STATUS_ACCESS_DENIED
[root@centos76_3 ccx]# smbclient -L 192.168.59.131 -U ccx1 #指定用户名
Enter SAMBA\ccx1's password:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
C Disk
C$ Disk 默认共享
gongxiang Disk 共享
IPC$ IPC 远程 IPC
Reconnecting with SMB1 for workgroup listing.
Connection to 192.168.59.131 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Failed to connect with SMB1 -- no workgroup available
[root@centos76_3 ccx]#
[root@centos76_3 ccx]# smbclient -L 192.168.59.131 -U ccx%ccx #指定用户名并输入密码
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
C Disk
C$ Disk 默认共享
gongxiang Disk 共享
IPC$ IPC 远程 IPC
Reconnecting with SMB1 for workgroup listing.
Connection to 192.168.59.131 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Failed to connect with SMB1 -- no workgroup available
[root@centos76_3 ccx]#
- 使用有2中方式,1:直接登录 , 2:挂载
直接登录共享
- 命令格式:
smbclient //主ip/路径 -U 用户名%密码
如,smbclient //192.168.26.1/D -U tom%111111
【注:windows中是\IP,linux中是//IP】
[root@centos76_3 ccx]# smbclient //192.168.59.131/C -U ccx%ccx #登录
Try "help" to get a list of possible commands.
smb: \> ls #查看远程目录【我进入的共享C盘】
$Recycle.Bin DHS 0 Fri May 7 16:57:04 2021
bootmgr AHSR 395268 Fri Jul 10 19:00:31 2015
BOOTNXT AHS 1 Fri Jul 10 19:00:31 2015
Documents and Settings DHS 0 Fri Jul 10 20:21:38 2015
gongxiang D 0 Mon May 10 18:09:05 2021
pagefile.sys AHS 10200547328 Fri Apr 30 17:10:08 2021
PerfLogs D 0 Fri Jul 10 19:04:22 2015
Program Files DR 0 Fri Apr 30 17:07:40 2021
Program Files (x86) DR 0 Fri Jul 10 19:04:26 2015
ProgramData DH 0 Fri Apr 30 17:07:40 2021
Recovery DHS 0 Fri Apr 30 16:57:02 2021
swapfile.sys AHS 268435456 Fri Apr 30 17:10:08 2021
System Volume Information DHS 0 Mon May 10 10:27:16 2021
Users DR 0 Fri Apr 30 17:10:23 2021
Windows D 0 Fri Apr 30 16:59:13 2021
78514687 blocks of size 4096. 73498041 blocks available
smb: \> pwd # 查看远程目录,如果想看本地路径,!pwd
Current directory is \\192.168.59.131\C\
-
这种方式登录进去以后需要使用命令来进行操作
使用以下参数【在smb:\>
环境中(登录成功就这界面)】:-
ls
#同dir, 列出远程目录 -
!ls
#列出本地目录【linux】 -
pwd
#查看当前工作目录 -
get
# 下载单个文件 -
mget
# 批量下载 -
put
#单个上传 -
mput
#批量上传 -
?
#各种交互命令的在线帮助 help
-
lcd目录
#切换本地目录 -
cd目录
#切换共享目录 -
mgetiptraf*
#下载名称以iptraf开头的文件 -
quit
#退出共享目录 -
ls
下载的文件目录
注意:
get和 mget 下载的路径为进入到共享目录前的本地目录
若要改变下下载路径可以切换本地路径 lcd 本地路径
这些参数和ftp参数是通用的,想了解更多直接去这篇文件看:ftp客户端使用详细说明【linux和windows】
-
-
上传下载demo
注意看命令后面注释
注:
[root@centos76_3 ~]# smbclient //192.168.59.131/C -U ccx%ccx #登录
Try "help" to get a list of possible commands.
smb: \> ls #查看远程目录
$Recycle.Bin DHS 0 Fri May 7 16:57:04 2021
bootmgr AHSR 395268 Fri Jul 10 19:00:31 2015
BOOTNXT AHS 1 Fri Jul 10 19:00:31 2015
Documents and Settings DHS 0 Fri Jul 10 20:21:38 2015
gongxiang D 0 Tue May 11 09:36:24 2021
pagefile.sys AHS 10200547328 Fri Apr 30 17:10:08 2021
PerfLogs D 0 Fri Jul 10 19:04:22 2015
Program Files DR 0 Fri Apr 30 17:07:40 2021
Program Files (x86) DR 0 Fri Jul 10 19:04:26 2015
ProgramData DH 0 Fri Apr 30 17:07:40 2021
Recovery DHS 0 Fri Apr 30 16:57:02 2021
swapfile.sys AHS 268435456 Fri Apr 30 17:10:08 2021
System Volume Information DHS 0 Mon May 10 10:27:16 2021
Users DR 0 Fri Apr 30 17:10:23 2021
Windows D 0 Fri Apr 30 16:59:13 2021
78514687 blocks of size 4096. 73497573 blocks available
smb: \> cd gongxiang\ #进入c盘的gongxiang目录
smb: \gongxiang\> ls
. D 0 Tue May 11 09:36:24 2021
.. D 0 Tue May 11 09:36:24 2021
aaa.txt A 6 Tue May 11 09:36:32 2021
78514687 blocks of size 4096. 73497573 blocks available
smb: \gongxiang\> lcd /root/ccx/ #进入本地目录
smb: \gongxiang\> !ls #本地文件
file1 file2 file3 test4 test5 test6
smb: \gongxiang\> get aaa.txt #下载aaa文件
getting file \gongxiang\aaa.txt of size 6 as aaa.txt (2.0 KiloBytes/sec) (average 2.0 KiloBytes/sec)
smb: \gongxiang\> !ls #文件已经被下载
aaa.txt file1 file2 file3 test4 test5 test6
smb: \gongxiang\> put test4 #权限被拒绝了,因为是这是c盘的原因,不允许远程搞【虚拟机只有一个c盘,懒得添硬盘测了,反正就是这样操作的】
NT_STATUS_ACCESS_DENIED opening remote file \gongxiang\test4
smb: \gongxiang\> ls
. D 0 Tue May 11 09:36:24 2021
.. D 0 Tue May 11 09:36:24 2021
aaa.txt A 6 Tue May 11 09:36:32 2021
78514687 blocks of size 4096. 73497573 blocks available
smb: \gongxiang\>
挂载共享目录
- 挂载的方式:
mount //主IP/路径 挂载路径
- 如把主ip的d盘挂载到/smb文件中:
mount //192.168.26.1/D /smb
发现挂载报错了,是因为没有.cifs
的格式,所以需要安装该格式,先查源:yum whatprovides mount.cifs
【本地源查找,网络源用yum whatprovides /*mount.cifs
】,然后yum -y install 包名
:
安装完成后再次挂载即可:mount -o username=用户名,password=用户密码 //主IP/路径 挂载路径,如:mount -o username=tom,password=111111 //192.168.26.1/D /smb :
开机自动挂载:写进/etc/fstab中:
linux共享到linux
安装samba服务:yum install -y samba
启动samba服务并设置开启自动启: systemctl start smb , systemctl nable smb
修改文件: vi /etc/samba/smb.conf (手敲然后tab,看能否tab出文件如果不能服务有问题) ,修改workgroup=STAFF(名称自定义)
创建挂载目录 : mkdir /common (名称自定义)
修改上下文:chcon -R -t samba_share_t /common
把文件共享出去,在最后一行添加共享路径:vi /etc/samba/smb.conf ,添加内容:
关闭防火墙:systemctl stop firewalld
选择permanent (同网段 跳过该步骤)
firwall-config 配置 rhce.cc客户访问
rich rules—add—family(ipv4)—source(192.168.122.0/24)—elenment(service-samba)
–accetp
systemctl restart firewalld 重启防火墙生效
安装samba-clicent服务:先查找包名:yum whatprovides smbclient , 然后yum -y install 包名:
添加自定义用户,如:添加srmb用户: smbpasswd -a andy ,如果报错信息如下图:添加本地用户皆可解决:useradd andy
成功如图 然后重启服务 systemctl restart smb:
主服务器配置完毕
配置客户端: 安装samba-clicent服务:先查找包名:yum whatprovides smbclient , 然后yum -y install 包名:
smbclient -L //主ip -U 用户名%密码,如上述创建的用户:smbclient -L //10.233.3.227 -U andy%******(密码)
在主服务器ip共享目录下新建一个test文件,待会挂载使用后看是否正常:
挂载使用:mount -o username=用户名,password=用户密码 //主IP/路径 挂载路径,如:mount -o username=andy,password=mother //10.233.3.225/common /tt
成功。
autofs(自动挂载)
自动挂载介绍
假设系统中存在这样的一条规则:就某个指定的外部设备/dev/xx 和某个挂载点 /yy 关联在一起,此时/dev/xx 是不是挂载到/yy里了,我们不考虑,但是用户只要访问/yy,系统就认为你要访问/dev/xx了,那么系统就会自动把/dev/xx挂载到/yy里去。
运行方式:
当我们访问/iso/dvd这个目录的时候,就会触发autofs,把本机的/dev/cdrom自动的挂载到/ios/dvd里去。
因为在auto.master里我们指定了父目录/iso,所以/iso里原有的东西都会被隐藏。
配置本地挂载autofs
自动挂载本地文件方法
创建这样的规则,首先要安装autofs:yum -y install autofs
编辑文件:vim /etc/auto.master
注:上面中的模版其实可以不要后缀的,只是有个后缀方便一眼看出文件的类型。
然后因为上图中/etc/auto.aa这个模版不存在,所以需要拷贝一份模版:cp /etc/auto.misc /etc/auto.aa (如果你熟悉,其实可以不需要拷贝模版的,直接编辑该文件即可) ,编辑/etc/auto.aa文件:
注:上图中lv文件名错误:正确应该是/dev/cl/lv3,lvdisplay可以查看:
测试 :先在光盘没有挂载的情况下在父目录中随意创建几个文件,待会访问的时候看父目录中内容是否会被隐藏,创建好文件以后重启服务并设置开机启动:systemctl restart autofs , systemctl enable autofs :
重新进入父目录,并且查看是否有文件挂载:mount |grep -v grep |grep -v auto | grep 设备名
现在访问/test/file 目录:
上面的是本地挂载的方法。
自动挂载NFS共享方法
先在分享目录服务器中配置分享文件:
先安装nfs服务:yum -y install nfs*
开启并设置开机自启:systemctl start nfs , systemctl enable nfs ,查看状态是否是active:systemctl status nfs:
然后编辑分享文件:vi /etc/exports ,在里面定义分享文件:目录 *(rw,sync) 注:*是所有ip均可访问 也可以指定ip,如: 目录 0.0.0.0(rw,sync)
重启服务:systemclt restart nfs
查看分享文件:showmount -e 当前ip——如果出现报错:clnt_create:RPC:Unknown host ,需要添加解析:vi /etc/hosts , 添加ip地址和主机名即可:
报错后添加解析截图:
新建分享目录:mkdir /bb,然后把外挂磁盘 挂载到当前目录 mount *** /bb ,这里为了方便演示,就在/bb中随意新建几个文件即可:
到客户端服务器设置:
先安装autofs:yum -y install autofs
然后编辑:vi /etc/auto.master —— /-(意思是不定义父目录) /etc/auto.xx(也可以不要后缀)
后缀名如果不是.misc的,cp一份模版:cp /etc/auto.misc /etc/auto.xx(熟悉可以不用cp模版,直接手敲) ,然后打开:vi /etc/auto.xx:
为了看出区别:先 mkdir /xx 并在里面生成若干文件,然后重启服务:systemctl restart autofs ,就会自动生成定义的文件了,访问的就是分享ip中定义文件中的内容
需要注意的是:如果/etc/auto.master中如果定义了父目录,后面模版文件中就不能重复/etc/auto.master的父目录,而且不能有/
,如果父目录中是 /-
模版中才可以有/
开头的详细目录。 规则是这样的,比如/etc/autu.master重定义了一个目录/father。我们去模版中定义一个son,其实完整的路径就是/father/son。
下面以nfs挂载为例:
[root@compute1 ~]# systemctl restart autofs #重启autofs服务
[root@compute1 ~]#
[root@compute1 ~]# grep father /etc/auto.master #配置了/father父目录
/father /etc/nfs
[root@compute1 ~]# cat /etc/nfs #规则中创建了son这个子目录
son -fstype=nfs,rw 10.233.3.225:/aa
[root@compute1 ~]# df -h # 现在是没有/aa这个挂载点的
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 4.9G 46G 10% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 57M 3.8G 2% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 188M 827M 19% /boot
tmpfs 777M 0 777M 0% /run/user/0
[root@compute1 ~]#
[root@compute1 ~]# cd /father/
[root@compute1 /father]#
[root@compute1 /father]# ls # 父目录中也没有文件
[root@compute1 /father]#
[root@compute1 /father]# cd son # 进入子目录
[root@compute1 /father/son]#
[root@compute1 /father/son]# ls #可以看到nfs分享的/aa 文件中的内容了
1test 2test 3test 4test 5test
[root@compute1 /father/son]#
[root@compute1 /father/son]# df -h #也可以看到/aa挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 4.9G 46G 10% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 57M 3.8G 2% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 188M 827M 19% /boot
tmpfs 777M 0 777M 0% /run/user/0
10.233.3.225:/aa 50G 6.8G 44G 14% /father/son
[root@compute1 /father/son]#
所以这个挂载方式就很适用于配置网络用户的家目录(为了节约空间,把家目录配置存储服务器上,然后在对应服务器上配置家目录即可)
比如,我们在某台服务器上的/home/guests目录中配置了成百上千个用户的家目录,我们要使用的时候就只需要在对应的用户上配置一个自动挂载即可!
如下配置ldapuser0用户的家目录
[root@server0 guests]# grep test /etc/auto.master
/home/guests /etc/test # 前面父目录用来指定家目录存放路径
[root@server0 guests]# cat /etc/test
#在这开头指定用户名 即可(这里的目录是客户端本地挂载点)
ldapuser0 -fstype=nfs,rw classroom.example.com:/home/guests/ldapuser0
#classroom是服务端:/home是服务器的挂载点
[root@server0 guests]#