文件共享

NFS

NFS的优点:

安装和设置简单,轻量级的文件共享软件。可以实现linux和unix系统之间的文件共享。在win7/win10系统中也可以访问nfs共享。支持基于IP的访问控制。

缺点:

不支持基于用户名的访问控制。即访问nfs共享时,无需输入用户名和密码。如果要解决此问题,可采用ftp、samba、apache、nginx共享。

网络环境拓扑:

客户机client 服务器server

192.168.11.1(win7/10) 192.168.11.11(centos)

192.168.11.12(centos)

NFS:网络文件系统(Network File System)。Unix系统之间共享文件的一种协议,客户端主要是Linux,支持多节点同时挂载以及并发写入,提供网络文件系统平台,需要借助RPC(远程过程调用)协议来发送文件传输的控制指令。

发布时间:1984年

公司:SUN公司。典型产品有JAVA。SUN公司被Oracle公司收购

NFS软件:

nfs-utils、rpcbind

说明:如果是安装了centos桌面环境,这两个软件包都已经安装好了。

  如果是安装了centos最小环境,需要手动安装这两个软件包。

NFS的部署思路:

(网络服务的部署通用思路)

0.关闭安全功能,并查状态:

systemctl  stop  firewalld    ;  setenforce  0
systemctl  status  firewalld  ;  getenforce

1.查软件是否已安装,如果未安装就安装软件。

2.启动服务,并允许开机自动启动

3.设置共享目录,重新加载设置。

4.做本地(内测)访问测试,做异地(公测)访问测试。

环境准备:

关闭安全功能,并查状态:

systemctl  stop  firewalld    ;  setenforce  0
systemctl  status  firewalld  ;  getenforce

NFS安装:

查是否已安装:rpm  -q  nfs-utils  rpcbind
安装:yum  install  -y  nfs-utils  rpcbind
查软件的文件列表:rpm  -ql  nfs-utils
查配置文件列表:rpm  -qc  nfs-utils

NFS服务管理:

重启动服务:systemctl  restart  nfs  rpcbind
允许开启自动启动:systemctl  enable  nfs  rpcbind
查服务状态:systemctl  status  nfs  rpcbind

共享需要的文件:

通过/etc/exports共享配置文件来实现。查man  exports来了解配置文件的格式。

exports配置文件语法如下:man exports查帮助中的EXAMPLE例子

共享目录的绝对路径 1号客户主机名或IP(共享选项) n号客户主机名或IP(共享选项)

/usr                   *(ro) 192.168.11.13(rw)
/opt                   *(rw,no_root_squash)    192.168.11.0/24(rw)

客户主机名或IP:

*号      表示任何IP的主机
主机名   可以指定客户机的主机名
192.168.11.0/24   表示允许192.168.11.0这个网段的所有主机访问共享

共享选项:

ro (常用选项)可读ReadOnly
rw (常用选项)可读可写read  +  write
sync   (常用选项)同步传输
async  (常用选项)异步传输
no_root_squash  (常用选项)不将root映射成nfsnobody匿名用户,即让root用自己的身份和权限访问共享
no_all_squash  (默认启用)不将所有用户映射成nfsnobody匿名用户,即让所有用户用自己的身份和权限

访问共享

root_squash     将root映射成nfsnobody匿名用户(默认启用)
all_squash      将所有用户映射成nfsnobody匿名用户
anonuid    匿名用户的uid号
anongid    匿名用户的gid号

nfs的其他配置文件:

(仅了解一下,无需修改)

cat /var/lib/nfs/etab 记录nfs共享的完整设置选择,此文件的内容来源于/etc/exports文件。当重启nfs服务时,会自动更新etab文件内容。

nfs压制用户

nfs默认在使用的时候会压制root用户的权限,root用户会被压制成nfsnobody,如果不想root用户被

压制成最小权限的用户,就可以在共享的时候加上一个属性。选择这个选项的同时,不需要对共享目录由

w权限,客户端就可以写入文件。

[root@ever dir2]# ll
total 8
-rw-r--r-- 1 nfsnobody nfsnobody 158 Oct 30 16:11 hosts
[root@ever ~]# vi /etc/exports
/share 172.16.100.95(rw,sync,no_root_squash)
[root@student ~]# mount -o remount /mnt/nfs2
[root@student ~]# touch /gggg.txt
[root@student ~]# cp -rf /gggg.txt /mnt/dir2
[root@ever ~]# cd /share/dir2/
[root@ever dir2]# ll
total 8
-rw-r--r-- 1 root root 0 Oct 30 16:42 gggg.txt
-rw-r--r-- 1 nfsnobody nfsnobody 158 Oct 30 16:11 hosts

例:

通过nfs将/usr目录以只读方式共享,允许任何IP的主机来访问。

vim  /etc/exports
/usr   *(ro)

平滑重启(重加载)nfs服务:

exportfs  -rav   或  systemctl  reload  nfs

本地(内测)查共享资源列表:

showmount   -e  127.0.0.1exportfs命令选项:man  exportfs
-r  重新共享所有目录
-a  打开或取消所有目录共享。
-v  输出详细信息。当共享或者取消共享时,显示在做什么。
-f  在“新”模式下,刷新内核共享表之外的任何东西。

在异地(公测)做挂在访问测试:

本地(内测)查共享资源列表:

showmount   -e  192.168.11.11

创建挂载点:

mkdir  -pv  /mynfs

挂载:

mount  -t  nfs  192.168.11.11:/usr   /mynfs

查磁盘空间使用状态:

df  -hTshowmount选项:man  showmount-a或--all     以 host:dir 这样的格式来显示客户主机名和挂载点目录。-d或--directories    仅显示被客户挂载的目录名。-e或--exports        显示NFS服务器的输出清单。

在Win7/10中访问NFS共享:

1.安装nfs客户端(client)程序。

运行Win+R–>control控制面板–>程序–>打开或关闭windows功能–>NFS服务–>勾选“NFS客户端”–>确定。

2.运行Win+R–>cmd–>输入如下命令。

查共享资源列表:showmount -e 192.168.11.11

挂载共享资源为K盘:mount 192.168.11.11:/usr k:

打开共享:win+E—>双击K盘图标

附加操作:卸载共享的k盘:右击K盘图标—>断开

练习:

用nfs服务以可读可写(rw)方式共享/opt目录,允许任何IP的主机访问。做本地访问测试,将其挂载到/optnfs目录,在挂载点目录中touch a.txt文件,看是否有写入权限。

问题:让root用户在挂载点目录下touch a.txt文件时提示"无法创建/optnfs/a.txt权限不够"。怎么办?

问题分析:

首先,看exports共享中是否以rw可读可写方式共享了指定的目录。

其次,查看共享目录自身的权限,用ls -ld /opt查看权限结果。权限结果如下:

drwxr-xr-x. 3 root root 16 1月   3 12:11 /opt

请回答权限的五个问题?

再次,root用户在访问nfs共享时,root是以匿名访问的,属于其他用户,而/opt目录自身对于other其他用户的权限是r-x,无w可写的权限。但是普通用户是以no_all_squash不以匿名用户身份,而是以自己真实访问共享。

权限解决方案:将/opt目录的other权限用chmod o+w /opt来设置之后,再用touch命令在挂载点目录做创建测试,发现可以写了。

附加操作:查看touch后的a.txt权限如下:

-rw-r–r--. 1 nfsnobody nfsnobody 0 1月 21 10:49 a.txt

说明:a.txt的属主、属组均为nfsnobody匿名用户账号。

文件共享权限要考虑的2个要素:

1.用户对目录自身的访问权限。2.目录做共享时设置的访问权限。警告:用户访问共享时想可读可写,必须是以上两个权限都为可读可写。

虚拟机克隆

第一步

1.将linx系统设置成开机自动进入CLI命令行界面:

cat /etc/inittab   查看inittab系统启动的运行等级配置文件
systemctl get-default   查看当前系统的启动运行等级
systemctl set-default  multi-user.target  设置系统启动的运行等级为3,即多用户的CLI命令行界面

附注(不做这一步):

systemctl set-default  graphical.target   设置系统启动的运行等级为5,即GUI桌面图形界面

第二步

2.将node12c虚拟机开机,并执行如下操作。

cd  /etc/sysconfig/network-scripts
ls
cp  -v  ifcfg-ens33{,.bak}
vim  ifcfg-ens33  修改网卡配置文件全文内容如下[删掉不需要的内容即可]
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.11.11
PREFIX=24
GATEWAY=192.168.11.2
DNS1=114.114.114.114
DNS2=8.8.8.8

第三步

3.重启网络服务:

systemctl  restart  network
ip  a  或 ifconfig

第四步

4.将虚拟机用poweroff关机,编辑虚拟机硬件设置,将内存设置为512M,创建名称为"CLI-OK"的快照。

第五步

5.(选做)将"CLI-OK"快照克隆出一台虚拟机,虚拟名称为"node12c"。然后编辑node12c虚拟机的硬件设置中的网卡的mac地址(–>高级–>MAC地址–>生成–>看生成的新MAC地址是多少)。

第六步

6.将node12c虚拟机开机,执行如下操作。

cd  /etc/sysconfig/network-scripts
ls
vim  ifcfg-ens33  修改文件中的如下内容[其他内容保持不变]
IPADDR=192.168.11.12

重启网络服务,并查看IP地址:

systemctl  restart  network
ip  a  或  ifconfig    看ens33的IP是否变成了192.168.11.12这个IP地址

第七步

7.用poweroff命令关闭node12c虚拟机。关机后创建一个名称为"IP12"的快照。

第八步

8.参考nod12c虚拟机的克隆操作步骤,再克隆出一台名称为"node13c"的虚拟机。参考上面的6、6、7步骤来操作。

附录

(作为参考):ifcfg-ens33原始配置文件内容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=cb9fa9a8-31ac-4a7c-b1ce-365595ebb466
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.11.11
PREFIX=24
GATEWAY=192.168.11.2
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV6_PRIVACY=no

Vsftpd

作用:

提供文件共享服务,可以应用在互联网中,实现外地登录服务器下载公司文件的功能,不区分客户

端,在windows和linux中都是可以使用的

FTP:是文件传输协议的缩写。用来实现文件的上传(upload)和下载(download)。

FTP是工作在C/S架构模式下。

C/S架构:是客户端Client/服务器server访问模式。C/S的特点是客户机必须使用专用的客户端程序去访问服务器。

B/S架构:是浏览器Browser、服务器Server访问模式。B/S的特点是客户机只需用IE、Firefox等浏览器来访问服务器。B/S架构通常是用来开发基于web网站的应用程序。

vsftpd:是非常安全的ftp守护进程(Very secure ftp Daemon)。

进程:正在进行(运行running)的程序。

守护进程Daemon:网络服务类的程序都会有守护进程。守护进程是指实时监测服务访问状态的程序。通常都是在系统后台运行。

FTP的工作端口:

21 控制端口,用于在客户机和服务器之间建立连接。

20 数据端口。用于服务器给客户机主动进行数据连接。

网络服务端口号的作用:用来标示服务器上的不同业务(服务)

vsftpd的部署:

0.关闭安全功能,并查状态:

systemctl  stop  firewalld    ;  setenforce  0
systemctl  status  firewalld  ;  getenforce

1.查软件是否已安装,如果未安装就安装软件。

2.启动服务,并允许开机自动启动

3.设置共享目录,重新加载设置。

4.做本地(内测)访问测试,做异地(公测)访问测试。

环境准备:

关闭安全功能,并查状态:

systemctl  stop  firewalld    ;  setenforce  0
systemctl  status  firewalld  ;  getenforce

vsftpd、ftp、lftp安装:

说明:vsftpd是服务器端程序

        ftp、lftp是客户端程序

查是否已安装:

rpm  -q  vsftpd  ftp  lftp

安装:

yum  install  -y  vsftpd  ftp  lftp

查软件的文件列表:

rpm  -ql  vsftpd

查配置文件列表:

rpm  -qc  vsftpd

vsftpd 服务管理:

重启动服务:

systemctl  restart  vsftpd

允许开启自动启动:

systemctl  enable  vsftpd

查服务状态:

systemctl  status  vsftpd

共享需要的文件:

vsftpd的默认共享目录:

匿名用户(ftp或anonymous)共享:/var/ftp目录普通用户:访问的是普通用户自己的家目录,通常是"/home/用户名"文件夹注意:root用户默认不能登录vsftpd服务器来访问共享,因为root账号在黑名单里。

vsftpd的配置文件:

rpm  -qc  vsftpd
/etc/logrotate.d/vsftpd    日志轮滚策略文件
/etc/pam.d/vsftpd       pam认证文件(重点)
/etc/vsftpd/ftpusers    黑名单文件(重点)
/etc/vsftpd/user_list   用户访问列表文件(重点),默认是黑名单,但是可以设置成白名单
/etc/vsftpd/vsftpd.conf  服务的主配置文件(重点)

练习:

将root用户从ftpusers黑名单文件中注释掉,重启vsftpd服务,用root账号访问共享资源。

第1步:编辑黑名单文件1。

vim  /etc/vsftpd/ftpusers    编辑黑名单文件1root    在此行行首添加#号

第2步:编辑黑名单文件2。

vim  /etc/vsftpd/user_list    编辑黑名单文件2root    在此行行首添加#号

第3步:重启服务。(修改黑名单文件是立即生效的,可以不重启服务)。

systemctl  restart  vsftpd

第四步,做共享访问测试。

win7/10访问vsftpd共享:win+E-->ftp://root:0@192.168.11.11linux用root访问共享:
ftp  192.168.11.11  回车---》用户名root回车--->密码0回车-->看到successful表示登录成功
lftp  192.168.11.11  -u  root,0

练习:

在centos系统中用useradd 创建tom用户,设置登录密码为tom。然后分别用win7/10和centos做共享访问测试。并在win7/10上传一个文件到用户的家目录中。

问题:什么时候让user_list文件变成白名单?

答:由于当user_list为白名单时,仅允许白名单中的用户访问vsftpd共享。所以当系统中有1万个用户账号时,我只让3个人能访问vsftpd文件共享服务,那么就得用白名单。

练习:

在系统中创建3个用户tom、lucy、lily,给他们设置登录密码为0。用windows做ftp访问共享测试,分别上传一个文件到用户的家目录中。

useradd  tom
useradd  lucy
useradd  lily
echo  0  |  passwd  --stdin  tom
echo  0  |  passwd  --stdin  lucy
echo  0  |  passwd  --stdin  lily

win7/10访问共享:

Win+E--> ftp://192.168.11.11回车--->右键菜单-->登录-->用户名和密码-->上传文件。

练习:

采用user_list白名单功能,仅允许tom用户访问vsftpd共享。

第一步,将tom用户加入到user_list文件中。

vim  /etc/vsftpd/user_list   在文件最后添加如下内容
tom

第二步,将user_list设置成白名单文件。

vim  /etc/vsftpd/vsftpd.conf
userlist_deny=NO    找到此行,如果没有就在最后添加此行

第三步,重启vsftpd服务.

systemctl  restart  vsftpd

第四步,分别用tom、lucy、lily访问共享,看是否只有tom能访问。

win7/10访问共享:Win+R-->cmd--> ftp  192.168.11.11回车--->用户名和密码-->看登录是否成功( successful)

小结:vsftpd的用户名单监测流程如下:

先监测user_list文件(是黑还是白)----》再监测ftpusers黑名单中是否有这个用户。

练习:

将tom用户从ftpusers和user_list文件中删除或用#号注释掉。

将/etc/vsftpd/vsftpd.conf主配置文件的userlist_deny=NO这行用#号注释掉,并重启vsftpd服务

最后用tom、lucy、lily做ftp的命令行访问测试,确保这3个用户都能访问共享。

vsftpd.conf主配置文件:

功能:对vsftpd软件的功能进行设置,可以设置限速、匿名和普通用户访问权限、chroot等功能。

专家建议:修改主配置文件之前,最好备份一下配置文件。备份文件的后缀通常为.bak或.org。

cd  /etc/vsftpd ; ls
cp  -av   vsftpd.conf{,.bak}

说明:-a 是复制时包括源文件的所有(all)的权限和属性、selinux属性都复制给目标文件。而-p选项时复制时不包含selinux属性的。

练习:

查看并熟悉vsftpd.conf主配置文件中的默认设置。查看时不包含#开头(#)的、空白行($),要求显示行号。

grep  -nEv  '^#|^$'  /etc/vsftpd/vsftpd.conf     内容如下(共13行)
12:anonymous_enable=YES     允许匿名访问共享
16:local_enable=YES         允许本地普通用户(是指用useradd创建的用户)访问共享
19:write_enable=YES         允许写操作,即可写权限
23:local_umask=022          本地用户的umask值
37:dirmessage_enable=YES    允许显示目录信息
40:xferlog_enable=YES       允许xferlog日志,xferlog文件路径是/var/log/xferlog文件,仅记录文件的上传和下载日志
43:connect_from_port_20=YES   启用20号端口的连接(data数据端口)
57:xferlog_std_format=YES     启用xferlog标准(std是standard)格式的日志
115:listen=NO                 不启用ipv4监听
124:listen_ipv6=YES           启用IPV6监听,会向下兼容ipv4
126:pam_service_name=vsftpd    vsftpd的pam用户认证服务文件,是/etc/pam.d/vsftpd文件
127:userlist_enable=YES       启用user_list用户列表文件
128:tcp_wrappers=YES          启用tcp_wrappers防火墙功能,用来做基于IP的TCP访问控制

vsftpd.conf默认设置的功能:

1.允许匿名用访问共享,访问的是/var/ftp目录,且只能下载文件,不能上传文件。

2.允许普通用访问共享,访问的是用户自己的家目录,既能下载文件,也能上传文件。

3.普通用户用ftp命令登录到vsftpd服务器之后,能chroot到服务器的其他目录路径下,此功能不安全,建议关掉。

练习:

设置vsftpd.conf配置文件中不允许anonymous匿名用户访问vsftpd共享,重启服务后,做访问测试。测试完毕后,将设置还原,并重启服务。

xferlog是一个上传下载日志。只是记录上传下载。如果要看更加具体的登录的一些日志,需要vsftpd.log日志文件。

例:/var/log/xferog日志文件内容如下。

Tue Jan 22 11:53:35 2019,1 ,::ffff:192.168.11.1 , 2061, /home/tom/qr.png ,b _ i r tom ftp 0 * c

发生时间,传输所花时间,客户端IP,文件大小byte,文件名路径,文件传输格式,文件特殊处理标记,i上传或o下载,r真实用户登录,tom用户,ftp服务器名,认证方式为0,认证用户ID为*,传输完成状态为c已完成。

下面解释一下xferlog日志文件中每一列的含义。

列号    列功能                说明                          示例1     发生时间        记录发生的时间                 例:SunJun1612:23:5320132      文件传输时间  传输该文件使用的时间          例:13     客户端         客户端主机的IP或主机名            例:192.168.1.1004     文件大小        单位:字节                        例:125        文件名         上传或下载的文件名称          例:/pub/dd6       文件传输类型  a表示ASCII(文本),b(二进制)  例:b7     包括四种文件特殊处理标记,“_”表不做任何处理,C表示文件时压缩格式,U表示文件是非压缩格式,T表示是tar格式    8       文件传输方向  o表示从服务器到客户端,i相反  例:i9     用户登录方式  a表示匿名登录,g表示虚拟用户登录,r表示真实用户登录。  例:a10    用户名称        用户名称    ?(匿名用户)11 服务器名        一般为FTp  ftp12   认证方式        0表示无,1表示RFC931认证     例:013    认证的用户ID *表示无法获得用户ID             例:*14    传输完成状态  c表示完成,i表示没完成         例:i

vsftpd的chroot牢笼功能:

vim  /etc/vsftpd/vsftpd.conf   找到如下内容chroot牢笼功能:锁定用户在自己的家目录中,即不允许用户访问自己家目录以外的目录。chroot_local_user=YES    允许本地用户chroot牢笼功能(change  root),默认为NO不启用chroot_list_enable=YES   启用chroot_list文件功能,默认NO不启用此功能(default follows)chroot_list_file=/etc/vsftpd/chroot_list   指定chroot_list文件及其路径,默认无此文,需要用户自己创建

chroot牢笼四种情况:

1.全部不锁(默认情况)

2.全部加锁(用两行代码)

3.少数不加锁(用三行代码)

4.少数加锁(用四行代码)

情况1.

关闭所有普通用户的牢笼功能(即不锁,默认情况)。设置如下

chroot_local_user=YES    允许本地用户chroot牢笼功能(change  root),默认为NO不启用chroot_list_enable=YES   启用chroot_list文件功能,默认NO不启用此功能(default follows)chroot_list_file=/etc/vsftpd/chroot_list

情况2.

启用所有普通用户的牢笼功能(即对所有人加锁)。设置如下

chroot_local_user=YES    启用本地用户chroot牢笼功能(change  root),默认为NO不启用
allow_writeable_chroot=YES  允许chroot牢笼功能下执行写操作(centos7中必加此行)

测试练习:

将vsftpd.conf文件中的chroot_local_user=YES功能启用,重启服务,用tom、lucy用访问共享,执行ls /usr看命令结果。

第1步,编辑vsftpd.conf文件。

vim  /etc/vsftpd/vsftpd.conf

启用如下chroot的4行代码

chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

第2步,修改chroot_list名单文件。(此文件中的用户不启用牢笼功能)

vim  /etc/vsftpd/chroot_list   添加如下内容
lucy
lily

第3步,重启服务,分别在ftp命令行用tom、lucy、lily做访问测试,执行pwd命令看显示的工作路径。

测试结果:tom启用了牢笼功能,lucy、lily是不启用牢笼功能的。

情况3.

给指定的少数普通用户不启用牢笼功能(即少数人不加锁,白名单)。设置如下

chroot_local_user=YES    启用本地用户chroot牢笼功能(change  root),默认为NO不启用
allow_writeable_chroot=YES  允许chroot牢笼功能下执行写操作(centos7中必加此行)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list    指定chroot_list文件及其路径

情况4.

给指定的少数普通用户启用牢笼功能(即少数人加锁,黑名单)。设置如下

chroot_local_user=YES    启用本地用户chroot牢笼功能(change  root),默认为NO不启用allow_writeable_chroot=YES  允许chroot牢笼功能下执行写操作(centos7中必加此行)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list    指定chroot_list文件及其路径

测试练习:

将vsftpd.conf文件中的chroot功能做如下chroot_list黑名单设置,重启服务,用tom、lucy用访问共享,执行pwd看命令结果。

第1步,编辑vsftpd.conf文件。

vim  /etc/vsftpd/vsftpd.conf

启用如下chroot的4行代码

chroot_local_user=YESallow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

第2,修改chroot_list名单文件。(此文件中的用户不启用牢笼功能)

vim  /etc/vsftpd/chroot_list   添加如下内容
lucy
lily

第3步,重启服务,分别在ftp命令行用tom、lucy、lily做访问测试,执行pwd命令看显示的工作路径。

测试结果:lucy、lily启用了牢笼功能,tom是不启用牢笼功能的。

练习:

将vsftpd.conf配置文件中的chroot功能的配置选项代码全部注释掉。再继续研究新的功能。

需求:实现允许anonymous匿名用户既能下载又能上传文件文件。

需求分析:匿名用户要想对共享目录有rw可读可写的权限,必须满足以下2个条件:

1.文件共享软件必须允许这个用户有可读可写的权限。

2.用户对共享目录自身要有可读可写的权限。

3.匿名用户仅允许上传文件到/var/ftp中的子目录中。如/var/ftp/upload,且ftp匿名用户对upload目录要有可读可写权限。

警告:/var/ftp目录的属主、属组不允许修改,且other权限不允许有w可写权限,否则用ftp匿名用户访问共享时会提示下面这个500错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Login failed.

421 Service not available, remote server has closed connection

实施参考:

第1步,在vsftpd.conf配置文件中允许anonymous匿名用户有可读可写的权限。

vim   /etc/vsftpd/vsftpd.conf  找到如下代码,去掉29、33行的#号
12 anonymous_enable=YES
29 #anon_upload_enable=YES      允许匿名用户上传
33 #anon_mkdir_write_enable=YES   允许匿名用户用mkdir创建目录
anon_other_write_enable=YES     允许匿名用户执行rm删除等操作(添加此行)
anon_world_readable_only=NO     关闭匿名用户只读的限制(为YES时会无法下载)

第2步,用root用户创建/var/ftp/upload目录,权限为777或属主和属组均为ftp,重启vsftpd服务,在win7/10中用ftp匿名用户访问共享ftp://192.168.11.11,上传一个文件到upload共享目录,看是否能传上去。结果是可以匿名用户上传文件到upload目录中。

mkdir  -v  /var/ftp/upload
chown  -v  ftp:ftp  /var/ftp/upload  或 chmod  -v  777  /var/ftp/upload
systemctl  restart  vsftpd

vsftpd.conf的其他配置选项:

man  vsftpd.conf48 #chown_uploads=YES      允许修改上传后的文件的属主和属组
49 #chown_username=whoever   文件的属主、属组修改成当前访问共享的用户
53 #xferlog_file=/var/log/xferlog   指定xferlog日志文件名及其路径,当xferlog_enable为YES时,此项默认为启用
60 #idle_session_timeout=600    (重点)空闲会话超时为600秒(即10分钟),默认开启了,时间是300秒
idle空闲会话超时时间是指用户登录到ftp服务后,n秒都没执行操作,服务器自动将此用户断开连接。(防止客户机占用服务器网络资源)
63 #data_connection_timeout=120   (重点)数据连接超时时间为120秒,默认开启了,时间是300秒
data_connection超时时间是指当客户端下载或上传文件时,由于网络不稳定,当数据掉线时间超过120秒,文件就下载或上传失败。(防止客户机占用服务器网络资源)
67 #nopriv_user=ftpsecure
72 #async_abor_enable=YES    允许异步方式传输数据
83 #ascii_upload_enable=YES   允许以ascii编码方式上传文件,默认为NO,是以binary二进制方式上传
84 #ascii_download_enable=YES   允许以ascii编码方式下载文件,默认为NO,是以binary二进制方式下载
87 #ftpd_banner=Welcome to blah FTP service.   (重点)自定义banner欢迎提示语(标语)(用于打广告)
banner_file=/etc/vsftpd/banner.txt     (重点)自定义banner标语文件(用于打广告)
91 #deny_email_enable=YES
93 #banned_email_file=/etc/vsftpd/banned_emailslocal_max_rate=0   本地用户(普通用户)最大传输速度,0是不限速。单位是byte字节
anon_max_rate=0    匿名用户最大传输速度,0是不限速。单位是byte字节
anon_other_write_enable=YES  允许匿名用户执行除了新建和上传外的其他权限,如删除、改名。listen_port=21      监听21号端口(默认开启)
pasv_enable=YES        启用pasv被动模式
pasv_min_port=5000 指定pasv被动模式的最小端口号
pasv_max_port=6000 指定pasv被动模式的最大端口号
dual_log_enable=YES  启用/var/log/xferlog 和 /var/log/vsftpd.log 双日志文件(默认关闭)
max_per_ip=数字     单个IP的最大并发量(即单个客户端IP能同时登录的数量),同时下载几个文件
max_clients=数字    最大客户端数量(即并发量),即允许有多少个IP的客户端同时访问服务器user_config_dir=/etc/vsftpd/userconf  定义用户个人配置文件所在目录。定义了这句之后,就要在userconf目录中创建以用户名命名的文件,这就是这个用户的配置文件。其中加入一条local_root=/home/ftp为指定用户登录目录。
setproctitle_enable=YES   将所有连接以不同的进程体现出来

练习:

要求在vsftpd.conf中对每个用户限制不同的文件传输速度,并且设置不同的登录“标示语”。

第1步,在vsftpd.conf配置文件中添加如下功能选项。

vim  /etc/vsftpd.conf  添加如下内容
user_config_dir=/etc/vsftpd/userconf    指定用户个性化配置文件的主目录

第2步,创建/etc/vsftpd/userconf目录,给tom限制上传和下载速度为2MB/s(约2000000字节)。

mkdir  -v  /etc/vsftpd/userconf
vim  /etc/vsftpd/userconf/tom   添加如下设置内容
local_max_rate=2000000

第3步,参考lucy的限速设置方法,给lucy设置成限制上传和下载速度为8M/s(约2000000字节)。

vim  /etc/vsftpd/userconf/tom   添加如下设置内容
local_max_rate=8000000

vsftpd的tcp_wrapers防火墙设置

查网络服务对应的端口手册文件:

more  /etc/services

tcp_wrapers的功能:是一个迷你的TCP防火墙,可以用来做基于TCP协议的应用程序的IP安全访问控制。

配置文件:

白名单:/etc/hosts.allow
黑名单:/etc/hosts.deny

技巧:让少数人为白户,那么先在hosts.deny中做拒绝所有(all)黑名单,然后在hosts.allow中做少数IP的放行白名单。

配置文件格式:

man  hosts.allow

格式说明: 守护进程名称:主机名或IP地址

守护进程名称可以是:vsftpd、sshd、httpd、in.tftpd等。

主机名或IP地址可以是:all所有主机、主机名、域名(网址)、IP地址、网络地址、IP地址范围。

设置举例:

vim  /etc/hosts.deny  黑名单
vsftpd:192.168.11.1     拒绝192.168.11.1这台主机访问vsftpd共享
sshd:192.168.11.1       拒绝192.168.11.1这台主机访问sshd共享

注意:做完hosts.deny黑名单测试后,请将hosts.deny文件中的设置注释掉或删掉。然后再做下面的vsftpd虚拟用户项目。

vsftpd虚拟用户

虚拟用户:即非useradd创建的用户账号(非/etc/passwd中的账号),而是用vim创建的属于vsftpd的独立用户账号。

虚拟用户的优势:可以避免系统中的用户账号过多,让vsftpd文件共享软件独立管理自己的用户账号。

虚拟用户账号文件格式:

文件中的奇数行是用户账号,偶数行是用户的密码。

vsftpd的虚拟用户方案思路:

0.准备工作:确保vsftpd文件共享服务已安装,并已启动vsftpd服务,且关闭了selinux和firewalld安全功能。

1.创建虚拟用户账号文件。

2.将虚拟用户账号用db_load转换成加密的数据库格式文件。

3.在vsftpd的pam认证文件中添加虚拟用户账号文件的认证关系。

4.用useradd创建一个普通用户账号vftper。

5.在vsftpd.conf配置文件中启用guest来宾(即虚拟用户)功能,设置一个真实用户账号,并将真实用户账号vftper和虚拟用户账号文件关联起来。

6.给每个虚拟用户账号设置独立的共享访问速度和访问目录。

7.重启vsftpd服务,并分别用虚拟用户账号访问共享。

vsftpd虚拟用户实施思路

0.准备工作:

确保关闭了selinux和firewalld安全功能。且vsftpd文件共享服务已安装,并已启动vsftpd服务。

setenforce  0
getenfroce
systemctl  stop  firewalld
systemctl  status  firewalld

1.创建虚拟用户账号文件。

cat  > /etc/vsftpd/vuser.txt <<EOF
f1
passf1
f2
passf2
f3
passf3
EOF

2.将虚拟用户账号转换成加密的数据库格式文件。

yum  provides  db_load
yum  install  -y  libdb-utils
cd  /etc/vsftpd
ls
db_load  -T  -t  hash  -f  /etc/vsftpd/vuser.txt  /etc/vsftpd/vuserdb.db
chmod  -v  600  /etc/vsftpd/vuserdb.dbdb_load选项:-T  是translation转换文件格式-t  hash  指定格式转换的算法为hash算法-f  是指定要转换格式的文件/etc/vsftpd/vuser.txt   是要转换格式的文件/et/vsftpd/vuserdb.db   是转换格式之后的文件

3.在vsftpd的pam认证文件中添加虚拟用户账号文件的认证关系。

cp  -av  /etc/pam.d/vsftpd{,.bak}
vim  /etc/pam.d/vsftpd  做如下修改%PAM-1.0以下两行的功能:仅能实现虚拟用户访问共享,普通用户不能访问共享。(不建议使用)required 意思是必须的     sufficient 意思是满足的、备选的auth  required  pam_userdb.so     db=/etc/vsftpd/vuserdbaccount  required  pam_userdb.so  db=/etc/vsftpd/vuserdb以下功能选项的功能:既能让虚拟用户访问共享,也能让普通用户访问共享。(推荐使用)auth  sufficient  pam_userdb.so     db=/etc/vsftpd/vuserdb
account  sufficient  pam_userdb.so  db=/etc/vsftpd/vuserdb以下几行功能选项是vsftpd的默认pam认证文件内容。(无需修改)session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

4.用useradd创建一个普通用户账号vftper。

useradd  vftper  -s  /sbin/nologin
id  vftper
ls  -ld  /home/vftper

5.在vsftpd.conf配置文件中设置一个真实用户账号,并将真实用户账号vftper和虚拟用户账号文件关联起来。

cd  /etc/vsftpd
cp  -av  vsftpd.conf{,.bak}
cat  /etc/vsftpd/vsftpd.conf
vim  vsftpd.conf  在文件最后添加如下内容
guest_enable=YES       允许来宾用户访问共享,即虚拟用户
guest_username=vftper      指定来宾用户名为vftper用户(即第4步新建的用户)
user_config_dir=/etc/vsftpd/vuser_conf    指定用户配置文件目录
allow_writeable_chroot=YES     允许chroot功能下执行写操作(必须加此行,否则会登录失败)user_sub_token=$USER          使用用户子令牌(通常不用)

6.给每个虚拟用户账号设置独立的共享访问速度和访问目录。

cd  /etc/vsftpd
mkdir  -v  vuser_conf
cd  vuser_conf创建f1、f2虚拟用户的会员个性化设置文件,允许f1这个虚拟用户在自己的家目录中可读可写。touch  f1  f2
mkdir  -v  /home/vftper/{f1,f2,f3}
chmod  -v  777  /home/vftper/{f1,f2,f3}
cat  > f1 <<EOF
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vftper/f1
EOF允许f2这个用户在自己的家目录中可读,但不可写。cat  > f2 <<EOF添加local_root这行即可,其余内容可以不添加。local_root=/home/vftper/f2
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NOEOF

7.重启vsftpd服务,并分别用虚拟用户账号访问共享。

systemctl  restart  vsftpd
ftp  192.168.11.11 -->用f1、f2虚拟用户分别访问共享,测试文件的上传。

使用ssl登入

cd  /etc/pki/tls/certs
openssl  req  -new  -x509  -nodes  -out   vsftpd.pem  -keyout  vsftp.crtvim /etc/vsftpd/vsftpd.conf.   创建vsftpd的ssl认证配置文件
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_sslv1=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt

重启vsftpd服务后,就可用客户端来尝试SSL加密连接了。

ftp的工作模式:

主动port、被动passive模式

ftp主动(port)模式工作过程:

1.客户机和服务器建立连接关系(登录): 客户机(>1024的随机端口号) <----> 服务器 21号port

2.双方建立数据连接关系,传输数据:客户机(>1024的随机port) <----> 服务器 20号port

ftp被动(pasv)模式工作过程:

1.客户机和服务器建立连接关系(登录): 客户机(>1024的随机端口号) <----> 服务器 21号port

2.双方建立数据连接关系,传输数据:客户机(>1024的随机port) <----> 服务器(>1024的随机port)

说明:当ftp服务器上有防火墙时,通常客户机是以被动模式去访问ftp服务器的。在ftp服务器的vsftpd.conf和防火墙上要指定放行的被动模式端口范围的最小值和最大值。

vsftpd.conf 的被动模式端口范围:

pasv_min_port=5000

pasv_max_port=6000

samba

功能:

采用smb和netbios协议实现linux和windows之间的文件共享。windows的网上邻居和文件夹共享就是采用的smb和netbios协议开发的软件。

smb:是服务器消息块(server message block)的缩写。

netbios:是网络基本输入输出系统(net basic input output system)的缩写。此协议是采用计算机主机名来实现主机间的互访。目前被直接捆绑在IP协议簇中。

smb协议的开发者:SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。

samba共享服务的端口号:445(data share) 139(netbios主机名解析)

部署:

环境准备:

关闭安全功能,并查状态:

systemctl  stop  firewalld    ;  setenforce  0
systemctl  status  firewalld  ;  getenforce

samba软件的安装:

说明:samba是服务器端软件

samba-client是端客户软件samba-common 是samba的公用程序文件

查是否已安装:

rpm  -qa | grep  samba  或  rpm  -q  samba  samba-common  samba-client

安装:

yum  install  -y   samba  samba-common  samba-client

查软件的文件列表:

rpm  -ql  samba

查配置文件列表:

rpm  -qc  samba   samba-common

samba服务管理:

重启动服务:

systemctl  restart  smb

允许开启自动启动:

systemctl  enable  smb

查服务状态:

systemctl  status  smb

查samba的服务端口:

netstat  -atunlp | grep  smb    或  lsof  -i:445

netstat选项:是查看网络进程状态(net stat)的命令。

-a  即all,显示所有网络进程-t  即tcp,显示TCP协议的网络进程-u  即udp,显示UDP协议的网络进程-n  即number,以数字方式显示协议的端口号,例 ftp 21、http  80、ssh 22、vnc 5900等-l  即listen,只显示状态为listen监听的网络进程-p  即PID进程号,显示网络进程的PID号

网络进程状态(用man netstat可查):listen监听 ESTABLISHED已连接 CLOSE_WAIT等待关闭

共享需要的文件:

samba的默认共享目录:

普通用户:访问的是普通用户自己的家目录,通常是"/home/用户名"文件夹自定义共享目录:需要在/etc/samba/smb.conf主配置文件中设置共享参数samba-common、samba的配置文件:rpm -qc samba-common  samba
/etc/logrotate.d/samba     日志轮滚策略文件
/etc/samba/lmhosts         本地主机配置文件
/etc/samba/smb.conf        (重点)samba的主配置文件,用于实现samba的环境设置和自定义共享目录
/etc/sysconfig/samba       samba的系统配置文件/etc/openldap/schema/samba.schema     samba的openldap认证配置文件
/etc/pam.d/samba           samba的pam认证文件

练习:

在系统中创建用户s1、s2、s3,用pdbedit将3个用户分别设置成samba用户并指定密码,用pdbedit显示samba用户账号列表,用win7/10访问samba共享。

useradd  s1    新建s1普通用户
useradd  s2
useradd  s3
pdbedit  -L   显示samba用户名列表
pdbedit  -a  s1    将s1用户设置成samba用户
pdbedit  -a  s2
pdbedit  -a  s3
pdbedit  -L
pdbedit  -Lv  s1   显示s1用户的详细信息

win7/10访问samba共享:Win+R—> \192.168.11.11\s1回车—> 输入s1用户名和密码—>上传1个文件。

linux中查samba共享资源:

smbclient  -L  192.168.11.11   在输入密码提示是,直接回车即可。

linux中登录到samba服务器:

smbclient  //192.168.11.11/s1   -U   s1%0

smbclient软件的内部命令:

help或?   显示命令帮助ls         显示共享目录的文件名列表!命令   执行客户端本地的shell命令。如 !date  、  !ls  、!pwdlcd     切换本地(local)的工作目录路径。如 lcd  /etc  pwd     显示共享目录的工作路径prompt   关闭或开启交互式操作模式,即是否提示Yes/Nomkdir    在共享目录中新建目录,如 mkdir  akmput   上传多个本地当前目录下的文件到远程服务器的的当前工作目录下。如mput  host*mget  从共享目录中下载多个文件到本地当前目录下。如 mget  hostsrm        删除文件rmdir   删除目录exit    退出smbclient软件

samba的自定义共享设置:man smb.conf

练习:

要求用samba共享/opt目录,共享名称为optsmb,允许任何人对此目录可读可写。

第1步,用vim编辑/etc/samba/smb.conf配置文件。

vim  /etc/samba/smb.conf   在文件最后添加如下内容
[optsmb]     共享名称(商标)
comment=opt  dir  share     描述信息(内容随意打,自己看着办)
path=/opt         共享目录路径
writable=yes      开启可写权限
browseable=yes    允许在网上邻居中显示(浏览)
public=yes     或   guest  ok=yes      允许匿名访问共享valid  users=s1      只允许s1用户有效访问共享的(即白名单)invalid  users=s3    只禁止s3用户访问共享(即黑名单)

第2步,检测smb.conf配置文件语法,重启smb服务,用s2用户做共享访问测试。

testparm     检测smb.conf配置文件语法
systemctl  restart   smb
smbclient   //192.168.11.11/optsmb    -U  s2%0   lslcd  /etcput  hosts    提示“无权限”   按下方操作步骤来解决exit

第3步,查看/opt目录的权限,将他的other权限改为rwx。

ls   -ld  /opt
chmod  -v  o+rwx   /opt    (不安全的做法)将/opt目录的other权限设置为rwx可读可写可执行安全的权限设置方法:
chmod  -v  o-w  /opt
getfacl  /opt    查/opt目录的FACL权限
setfacl  -m   u:s3:rwx   /opt   在/opt目录上设置FACL权限,允许s3用户可读可写可执行

第4步,再次执行第2步中的smbclient的相关操作。分别用s2、s3用户访问共享,做文件上传操作,看哪个用户上传文件时提示错误“NT_STATUS_ACCESS_DENIED opening remote file”。

第5步,用win7/10访问samba共享的optsmb名称所对应的名称的目录。分别用s2、s3用户访问共享。

win7/10查samba共享资源:Win+R—> cmd —> new view 192.168.11.11

访问方法一:Win+R—> \192.168.11.11\optsmb回车—> 输入s3用户名和密码—>上传1个文件。

访问方法二:鼠标右击“计算机图标”—> 映射网络驱动器—>输入 \192.168.11.11\optsmb—>不勾选“登录时重新连接”,勾选“使用其他凭据连接”—>确定—>输入s3用户名和密码—>确定即可。

访问方法三:Win+R—>cmd—>net use k: \192.168.11.11\optsmb 密码 /user:tom

断开映射的网络驱动器:net use * /del

win7/10系统中访问samba文件共享的缓存记录的清除:

首先,关闭访问共享的窗口。然后,Win+R--->cmd---> net use * /del  /y    清除共享访问记录---> gpupdate  /force     强制刷新组策略

samba的虚拟用户:

samba的虚拟用户是指给一个真实的samba用户定义多个别名(即绰号)。他们只是用户名不同,但是共用samba真实用户的密码。

Samba虚拟用户的实现方法:

练习:

采用samba虚拟用户功能,给s3用户分别设置tom、lucy这2个别名,给s2用户分别设置ak、bk这2个别名。分别在smbclient命中用s2、s3的别名访问共享。

第1步, 新建用户别名名单文件(即虚拟用户名单文件)。

vim   /etc/samba/vuser
s2 = ak  bk
s3 = tom  lucy

第2步,修改smb.conf主配置文件,在文件中指定虚拟用户名单文件路径。

vim  /etc/samba/smb.conf
[global]    (全局环境设置)找到此行
username  map=/etc/samba/vuser      (添加此行)指定虚拟用户名单文件路径

第3步,执行testparm命令,再重启smb服务,分别在smbclient中用tom、ak用户做访问测试。验证看到的共享文件是什么?看谁有权限执行mkdir haha?

testparm
systemctl  restart  smb
smbclient  //192.168.11.11/optsmb   -U  tom%0执行操作:lsmkdir  haha     能正常创建目录rmdir  haha     能正常删除目录smbclient  //192.168.11.11/optsmb   -U  ak%0执行操作:lsmkdir  haha   提示错误(无权限)"NT_STATUS_ACCESS_DENIED……"

练习:

在192.168.11.12客户机上,将192.168.11.11的optsmb共享名称所对应的目录挂载到/mnt/smbgua目录中。查看挂载状态,查看挂载点目录的文件名列表。

smbclient  -L  192.168.11.11   查指定服务器上的samba共享资源
mkdir  -v /mnt/smbgua
mount  -t  cifs  //192.168.11.11/optsmb   /mnt/smbgua   -o  username=tom,password=0
df  -hT
ls  -l  /mnt/smbgua

smb.conf主配置文件的其他功能选项:man smb.conf

smb.conf配置文件内容由global全局环境设置、共享目录设置两部分组成。

smb.conf的默认设置选项:

[global]   全局环境设置printcap name = cups       跟打印机有关的选项security = USER         安全等级设置为USER用户级,即需要用户名和密码验证。还可以是什么呢,请查man手册。username map = /etc/samba/vuser      (自己添加的)虚拟用户账号文件workgroup = SAMBA          计算机所在的局域网的工作组名idmap config * : backend = tdb      samba的用户账号数据库文件         cups options = raw      跟打印机有关的选项[homes]   用户家目录的共享设置browseable = No    不显示在网上邻居中comment = Home Directories    注释说明信息inherit acls = Yes     允许继承ACL权限read only = No         禁止只读操作,即可读可写,等同于writable=Yesvalid users = %S %D%w%S     有效用户账号。%S是samba服务中的用户账号,%D当前域或当前工作组中的用户账号,

smb.conf中基于用户访问控制的选项:

browseable=yes    允许在网上邻居中显示共享名称
public=yes  或 guest ok=yes    允许匿名用户访问
writable=yes 或 readonly=no    允许写操作,即可写权限valid  users=用户1,用户n,@组名       指定允许访问共享的用户账号(即白名单)invalid  users=s3,@组名             只禁止s3用户访问共享(即黑名单)

技巧:只允许少数人能访问共享时用白名单。只禁止少数人能访问共享时用黑名单。

write list=用户1,用户n,@组名     指定有可写权限的用户账号(即白名单)smb.conf中基于IP访问控制的选项:man  smb.conf  进入后执行/150就可以查到例子
hosts allow = 192.168.  EXCEPT 192.168.11.1   允许192.168.*.*的所有主机访问共享,除了192.168.11.1之外
hosts deny = 192.168.  EXCEPT 192.168.11.1    不允许192.168.*.*的所有主机访问共享,除了192.168.11.1之外

说明:hosts allow设置可以放在[global]全局环境设置中(限制访问所有共享目录),也可以放在自定义共享目录的设置中(仅限制访问此目录)。

Linux之文件共享相关推荐

  1. samba实现linux之间文件共享,使用 samba 实现文件共享

    Samba简述: SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议. Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软 ...

  2. linux nfs文件共享

    linux nfs文件共享 ◆一.概念 NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统. NFS由SU ...

  3. Linux——SAMBA文件共享

    文章目录 一.SAMBA概念 1. 什么是SAMBA 2. SAMBA主要进程 3. SAMBA软件安装(服务器搭建) 4. smb配置文件 二.SAMBA使用案例 1. 环境准备 1)配置静态ip ...

  4. Linux 网络文件共享服务详细介绍

    Linux 网络文件共享介绍 一.常见的存储类型 1.1 DAS 类型的存储 1.2 NAS 类型的存储 1.3 SAN 类型的存储 1.4 三种存储类型的比较 二.文件传输协议 FTP 2.1 FT ...

  5. linux 协议文件,下面支持UNIX和Linux的文件共享协议是() - 问答库

    问题: [单选] 下面支持UNIX和Linux的文件共享协议是() A . CIFS B . NFS C . iSCSI D . FCP Which log contains the output g ...

  6. linux l文件共享,llinux服务器文件共享的一种简单的方法

    如果Centos虚拟机没有安装文件共享功能,那么客户端与服务器文件共享会产生一些困扰: 这里有一个小的方法,可以快速实现linux服务器与windows共享:这里以CentOS 6.4 版本为例: 通 ...

  7. linux——SMB文件共享及应用实例

    SMB文件共享 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...

  8. 文件共享总结中篇-Linux服务器文件共享

    今天我们来讨论Linux系统之间的文件共享,包含:SCP.FTP.rz / sz.wget 一.SCP 其实我在写SSH协议常见问题排错章节中已介绍其SCP用法. 现我把SCP常用语法格式,给大家说下 ...

  9. Linux网络文件共享服务(一)存储类型和文件传输协议FTP

    成功不易,加倍努力! 网络文件共享服务 本章总目录 1 存储类型 1.1 DAS存储 1.2 NAS存储 1.3 SAN存储 1.4 三种存储比较 2 文件传输协议 FTP 2.1 FTP工作原理介绍 ...

最新文章

  1. 6、leetcode34 在排序数组中查找元素的第一个位置和最后一个位置**
  2. php投票系统报告,投票系统设计
  3. KVM 虚拟化技术以及 KVM 和云计算的关系
  4. EntityFramework Core上下文实例池原理
  5. 本地执行php查看内存占用,查看页面执行php占用内存情况
  6. .net mysql查询数据库连接_asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)...
  7. Easyui+Spring+Mybatis完整示例(后台)
  8. redhat linux 9.0 拷贝u盘的文件,肿么用U盘安装Linux,安装的是red hat 9.0…用Ubuntu很方便,redhat可以吗?...
  9. Ubuntu18.04配置视觉SLAM十四讲代码运行环境
  10. 德语区国家的摄影测量与遥感
  11. C语言:数组排序(冒泡法排序)
  12. 都2020年了,还在迷信啤酒与尿布!数据分析的真相是……
  13. 安卓开发— —仿微信界面(二)
  14. java 地图四色着色算法_趣味地图系列之6 四色定理之我见
  15. python暴力破解excel_使用 Python 读写 Excel 文件(一)
  16. 4K Video Downloader (4K视频下载器)V3.0.40
  17. RuoYi-Vue,执行npm run dev,报错“RuoYi-Vue\ruoyi-ui\node_modules\eslint\lib\cli-engine\cli-engine.js:421”
  18. 全球及中国白蚁诱饵产品行业发展价值与需求潜力分析报告2022版
  19. 001:数据分析概述
  20. hadoop 2.7.7 百度网盘下载链接

热门文章

  1. python学习--多值参数
  2. 让这世界再多一份GNU m4 教程 (全文整理)
  3. 详解Android电量优化
  4. 浪客云黑-自助收录网站源码
  5. 如何通过“云之讯”平台,完成短信的发送
  6. Morden Enum 巧用C++结构体封装枚举,实现类型安全和操作封装
  7. Ubuntu20.04中fastdfs,nginx的安装和配置(apt-get安装nginx添加fastdfs-nginx-module模块)
  8. OpenCV4-C++读图、显示图
  9. Qt 字体字号和字体像素关系
  10. DTX编解码原理New