samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

samba客户端的使用

windos共享到linux

windows开启共享

windows上共享方式为:右键文件属性【也可以共享的,如C盘】-共享-高级共享-开启即可
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

  • net share:windows上打开命令面板,查看共享
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
  • ipconfig:打开命令面板,查看本机IP【这个需要记录,后面登录这些需要用】
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

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]# 

samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

查看共享

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 包名
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
    安装完成后再次挂载即可:mount -o username=用户名,password=用户密码 //主IP/路径 挂载路径,如:mount -o username=tom,password=111111 //192.168.26.1/D /smb :
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
    开机自动挂载:写进/etc/fstab中:
    samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

linux共享到linux

安装samba服务:yum install -y samba
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
启动samba服务并设置开启自动启: systemctl start smb , systemctl nable smb
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
修改文件: vi /etc/samba/smb.conf (手敲然后tab,看能否tab出文件如果不能服务有问题) ,修改workgroup=STAFF(名称自定义)
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
创建挂载目录 : mkdir /common (名称自定义)
修改上下文:chcon -R -t samba_share_t /common
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
把文件共享出去,在最后一行添加共享路径:vi /etc/samba/smb.conf ,添加内容:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
关闭防火墙: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 包名:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
添加自定义用户,如:添加srmb用户: smbpasswd -a andy ,如果报错信息如下图:添加本地用户皆可解决:useradd andy
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
成功如图 然后重启服务 systemctl restart smb:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
主服务器配置完毕

配置客户端: 安装samba-clicent服务:先查找包名:yum whatprovides smbclient , 然后yum -y install 包名:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
smbclient -L //主ip -U 用户名%密码,如上述创建的用户:smbclient -L //10.233.3.227 -U andy%******(密码)
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
在主服务器ip共享目录下新建一个test文件,待会挂载使用后看是否正常:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
挂载使用:mount -o username=用户名,password=用户密码 //主IP/路径 挂载路径,如:mount -o username=andy,password=mother //10.233.3.225/common /tt
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
成功。

autofs(自动挂载)

自动挂载介绍

假设系统中存在这样的一条规则:就某个指定的外部设备/dev/xx 和某个挂载点 /yy 关联在一起,此时/dev/xx 是不是挂载到/yy里了,我们不考虑,但是用户只要访问/yy,系统就认为你要访问/dev/xx了,那么系统就会自动把/dev/xx挂载到/yy里去。

运行方式:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
当我们访问/iso/dvd这个目录的时候,就会触发autofs,把本机的/dev/cdrom自动的挂载到/ios/dvd里去。
因为在auto.master里我们指定了父目录/iso,所以/iso里原有的东西都会被隐藏。

配置本地挂载autofs

自动挂载本地文件方法
创建这样的规则,首先要安装autofs:yum -y install autofs
编辑文件:vim /etc/auto.master
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
注:上面中的模版其实可以不要后缀的,只是有个后缀方便一眼看出文件的类型。
然后因为上图中/etc/auto.aa这个模版不存在,所以需要拷贝一份模版:cp /etc/auto.misc /etc/auto.aa (如果你熟悉,其实可以不需要拷贝模版的,直接编辑该文件即可) ,编辑/etc/auto.aa文件:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
注:上图中lv文件名错误:正确应该是/dev/cl/lv3,lvdisplay可以查看:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
测试 :先在光盘没有挂载的情况下在父目录中随意创建几个文件,待会访问的时候看父目录中内容是否会被隐藏,创建好文件以后重启服务并设置开机启动:systemctl restart autofs , systemctl enable autofs :
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
重新进入父目录,并且查看是否有文件挂载:mount |grep -v grep |grep -v auto | grep 设备名
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
现在访问/test/file 目录:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
上面的是本地挂载的方法。

自动挂载NFS共享方法

先在分享目录服务器中配置分享文件:
先安装nfs服务:yum -y install nfs*
开启并设置开机自启:systemctl start nfs , systemctl enable nfs ,查看状态是否是active:systemctl status nfs:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
然后编辑分享文件:vi /etc/exports ,在里面定义分享文件:目录 *(rw,sync) 注:*是所有ip均可访问 也可以指定ip,如: 目录 0.0.0.0(rw,sync)
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
重启服务:systemclt restart nfs
查看分享文件:showmount -e 当前ip——如果出现报错:clnt_create:RPC:Unknown host ,需要添加解析:vi /etc/hosts , 添加ip地址和主机名即可:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
报错后添加解析截图:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
新建分享目录:mkdir /bb,然后把外挂磁盘 挂载到当前目录 mount *** /bb ,这里为了方便演示,就在/bb中随意新建几个文件即可:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
到客户端服务器设置:
先安装autofs:yum -y install autofs
然后编辑:vi /etc/auto.master —— /-(意思是不定义父目录) /etc/auto.xx(也可以不要后缀)
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
后缀名如果不是.misc的,cp一份模版:cp /etc/auto.misc /etc/auto.xx(熟悉可以不用cp模版,直接手敲) ,然后打开:vi /etc/auto.xx:
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明
为了看出区别:先 mkdir /xx 并在里面生成若干文件,然后重启服务:systemctl restart autofs ,就会自动生成定义的文件了,访问的就是分享ip中定义文件中的内容
samba服务端配置和客户端使用【windows共享文件到linux】、aotofs【自动挂载】配置和挂载本地目录及nfs使用说明

需要注意的是:如果/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]# 
上一篇:CentOS7部署Samba服务


下一篇:第十一章 FreeBSD之设置samba为独立服务器