搭建FTP服务器实现文件共享和NFS服务器配置

内容:
     4.1  VSFTP服务器概述
     4.2  安装配置VSFTP
     4.3  实战:匿名访问VSFTP
     4.4  实战:用户名密码方式访问VSFTP
     4.5  NFS概述-配置NFS服务器并实现开机自动挂载

服务器信息:
FTP服务端:A-CRMDB01   IP:192.168.31.63
FTP客户端:A-CRMDB02   IP:192.168.31.64

4.1  VSFTP服务器概述
4.1.1  FTP服务概述
FTP服务器(File Transfer Protocol Server)文件传输协议服务器,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。
FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。

常见FTP服务器:
Windows:Serv-U 、FTP Server、filezilla_server
Linux:ProFTPD:(Professional FTP daemon)一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序。

4.1.2  本节主讲:VSFTP
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
特点:
        它是一个安全、高速、稳定的FTP服务器。

VSFTP模式: C/S 模式

监听端口:20、21
[root@A-CRMDB02 ~]# vim /etc/services         #查看services文件,如图 4-1 所示。

图 4-1 FTP端口
FTP监听的端口有两个:
端口20:用于传输数据   
端口21:用于传输指令
FTP(File Service Protocol):文件服务协议。

4.1.3  工作流程(原理)分为两种模式:
主动和被动模式:
FTP会话包含了两个通道,控制通道和数据传输通道,FTP的工作有两种模式,一种是主动模式,一种是被动模式,以FTP Server为参照,主动模式,服务器主动连接客户端传输,被动模式,等待客户的连接。

主动模式的工作原理:
FTP客户端连接到FTP服务器的21号端口,发送用户名和密码,客户端随机开放一个端口(1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据,原理如图 4-2 所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别)


被动模式的工作原理:
PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,发送PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图 4-3 所示。


注:
以上的说明主动和被动,是相对于的FTP server 端而判断,如果server 去连接client 开放的端口,说明是主动的,相反,如果client去连接server开放的端口,则是被动。

4.2  安装vsftp服务器端、客户端
使用rpm安装本地光盘中的vsftp程序包:
[root@A-CRMDB01 ~]# rpm -ivh /mnt/cd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm    
或:
使用Yum直接安装(两种安装方法,选取其中一种即可):
[root@A-CRMDB01 ~]# yum -y install vsftpd
    
4.2.1  安装客户端:
[root@A-CRMDB02 ~]# yum install -y lftp            #使用Yum安装ftp客户端。
lftp
注:从CentOS开始,系统镜像中默认没有ftp客户端命令。取而代之的是lftp命令。
Linux客户端:
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp、ftps、http、https、hftp、fish(其中ftps和https需要在编译的时候包含openssl库),lftp的界面非常类似一个Shell,有命令补全、历史记录、允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载、等功能。

4.2.2  配置文件位置:
vsftpd 相关文档:
/etc/vsftpd/vsftpd.conf            #vsftpd 的核心配置文件。
/etc/vsftpd/ftpusers            #用于指定哪些用户不能访问FTP 服务器,即黑名单。
/etc/vsftpd/user_list            #指定允许使用VSFTP的用户列表文件,即白名单。

[root@A-CRMDB01 ~]# vim /etc/vsftpd/user_list        #查看user_list文件,如图 4-4 所示。

图 4-4 VSFTP的用户列表文件
图4-4中的说明:如果userlist_deny= YES(默认),绝不允许在这个文件中的用户登录ftp,甚至不提示输入密码。

/etc/vsftpd/vsftpd_conf_migrate.sh        #是vsftpd 操作的一些变量和设置脚本。
/var/ftp/            #默认情况下匿名用户的根目录

4.2.3 启动服务
[root@A-CRMDB01 vsftpd]# systemctl start vsftpd         #启动FTP服务。
[root@A-CRMDB01 vsftpd]# systemctl enable vsftpd    #设置开启自动启动FTP服务。

#注意关闭iptables 和SElinux 

[root@A-CRMDB01 ~]# netstat -antup | grep ftp        #查看FTP服务监听的端口。
tcp    0     0 0.0.0.0:21          0.0.0.0:*          LISTEN       11725/vsftpd

思考:以上内容中说明FTP监听两个端口,但目前FTP已经启动了,但经过查看,只查看到21号端口,还有20号端口没有查看到?是因为没有数据传输,20号端口是用于传输数据的,所以20号端口是尚未开启,如有数据传输时,20号端口则会开启。

4.2.4  FTP服务的使用方法 
Linux系统:以A-CRMDB01主机示例(即服务端、客户端为一台主机)
[root@A-CRMDB01 ~]# rpm -ivh /mnt/Packages/lftp-4.4.8-8.el7_3.2.x86_64.rpm        #安装FTP客户端
[root@A-CRMDB01 ~]# lftp 192.168.31.63            #连接FTP服务器。

Windows系统:
通过浏览器访问或 打开文件夹,在地址栏输入地址:ftp://192.168.31.63/。


4.2.5  修改配置文件,实战举例
例4.1:公司技术部准备搭建一台功能简单的FTP 服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。
分析:
允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启。

4.3  允许匿名用户访问
anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。
[root@A-CRMDB01 ~]# cd /etc/vsftpd/        #切换工作目录至FTP工作目录下。
[root@A-CRMDB01 vsftpd]# cp vsftpd.conf{,.bak}    #使用命令展开式,FTP配置文件备份,便于后期恢复还原。
[root@A-CRMDB01 vsftpd]# vim  /etc/vsftpd/vsftpd.conf      #编辑FTP配置文件,修改以下内容。
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
允许匿名用户上传文件并可以创建目录,如图 4-6、4-7 所示。

图 4-6 允许匿名用户上传文件并可以创建目录

图 4-7 允许匿名用户上传文件并可以创建目录

重启FTP服务,使配置文件生效:
[root@A-CRMDB01 vsftpd]# systemctl restart vsftpd
测试:提示不能写,如图 4-8所示。

图 4-8 测试连接FTP服务器

[root@A-CRMDB01 vsftpd]# chown ftp.ftp /var/ftp/pub/            #修改FTP共享目录属主、属组为ftp用户。
再次测试,结果:可以新建文件夹,但是不能重命名,不能删除!

[root@A-CRMDB01 vsftpd]# vim vsftpd.conf        #编辑FTP配置文件,修改以下内容。
anon_other_write_enable=YES          #默认没有,需要手动添加下这行(匿名帐号可以有写的权限)。

重启FTP服务,使配置文件生效:
[root@A-CRMDB01 vsftpd]# systemctl restart vsftpd

但是可以删除文件夹了,这个参数对匿名用户来说权限太大,不安全,使用这个参数需要考虑安全性。
注意:默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!

下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫xuegoddata,设置拥有者为ftp 用户所有,目录权限是755。

4.4  用户名密码方式访问VSFTP
例4.2:
公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文
件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别使用team1和team2
帐号进行管理。先要求仅允许team1 和team2 帐号登录FTP 服务器,但不能登录本地系统,并将
这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。
ftp 和www web服务器相结合。
www web服务器根目录:/var/www/html
只允许:team1和team2两用户 可以上传,vsftp禁止匿名。

分析:
将FTP 和WEB 服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot 功能将team1和team2 锁定在/var/www/html 目录下。如果需要删除文件则还需要注意本地权限。

解决方案:
建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码。
[root@A-CRMDB01 ~]# useradd -s /sbin/nologin team1        #创建team1用户,并禁止登录系统。
[root@A-CRMDB01 ~]# useradd -s /sbin/nologin team2     #创建team2用户,并禁止登录系统。
[root@A-CRMDB01 ~]# echo "123456" | passwd --stdin team1    #设置team1用户密码。
Changing password for user team1.
passwd: all authentication tokens updated successfully.
[root@A-CRMDB01 ~]# echo "123456" | passwd --stdin team2    #设置team2用户密码。
Changing password for user team2.
passwd: all authentication tokens updated successfully.

配置vsftpd.conf 主配置文件并作相应修改
[root@A-CRMDB01 vsftpd]# cp vsftpd.conf.bak vsftpd.conf        #恢复此前备份的FTP配置文件覆盖当前的FTP配置文件。
cp:是否覆盖"vsftpd.conf"? y        #输入y确认覆盖当前配置文件。
[root@A-CRMDB01 vsftpd]# vim /etc/vsftpd/vsftpd.conf        #编辑FTP配置文件,修改如图 1-11 所示内容。
anonymous_enable=NO        #禁止匿名用户登录
local_enable=YES            #允许本地用户登录

图 4-11 禁止匿名用户、允许本地用户登录
修改如图 4-12 所示的内容:

图 4-12
修改为,如图 4-13 所示内容:

图 4-13
local_root=/var/www/html        #设置本地用户的根目录为/var/www/html 。
chroot_list_enable=YES            #激活chroot 功能。
chroot_list_file=/etc/vsftpd/chroot_list        #设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名。
allow_writeable_chroot=YES         #允许锁定的用户有写的权限。
修改完成后保存并退出。

建立/etc/vsftpd/chroot_list 文件,添加team1 和team2 帐号
[root@A-CRMDB01 vsftpd]# touch /etc/vsftpd/chroot_list        #创建chroot_list文件。
[root@A-CRMDB01 vsftpd]# ll !$
ll /etc/vsftpd/chroot_list
-rw-r--r-- 1 root root 0 Nov 10 17:08 /etc/vsftpd/chroot_list
[root@A-CRMDB01 vsftpd]# vim /etc/vsftpd/chroot_list      #写入以下内容,一行一个用户名。
team1
team2

修改本地权限
[root@A-CRMDB01 vsftpd]# ll -d /var/www/html/        #以长格式查看/var/www/html/目录,-d选项用于查看目录本身,不包含目录下的文件。
drwxr-xr-x. 2 root root 4096 Oct  6  2011 /var/www/html/
[root@A-CRMDB01 vsftpd]# chmod -R o+w /var/www/html/        #赋予/var/www/html/目录和该目录下所有文件的写权限。
[root@A-CRMDB01 vsftpd]# ll -d /var/www/html/
drwxr-xrwx. 2 root root 4096 Oct  6  2011 /var/www/html/

重启vsftpd 服务使配置生效
[root@A-CRMDB01 vsftpd]# systemctl restart vsftpd
[root@A-CRMDB01 vsftpd]# cp /etc/passwd /var/www/html/

测试
客户端用lftp登陆查看:
root@A-CRMDB02 ~]# lftp 192.168.31.63 -u team1,123456
lftp team1@192.168.0.63:~> ls
-rw-r--r--    1 0        0            1384 Jul 30 01:56 passwd
lftp team1@192.168.0.63:/>

补充: 配置vsftpd,使用SSL证书加密数据传输
 FTP与HTTP一样缺省状态都是基于明文传输,希望FTP服务器端与客户端传输保证安全,可以为FTP配置SSL

4.4.1  使用OpenSSL生成自签证书
[root@A-CRMDB01 vsftpd]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 3560
Generating a 2048 bit RSA private key
..........................................................................................+++
.....................+++
writing new private key to 'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ZH
State or Province Name (full name) []:JS
Locality Name (eg, city) [Default City]:NJ
Organization Name (eg, company) [Default Company Ltd]:XS
Organizational Unit Name (eg, section) []:XS
Common Name (eg, your name or your server's hostname) []:XS.COM
Email Address []:XS@163.COM

OpenSSL 简单参数解释:
req         #是 X.509 Certificate Signing Request (CSR,证书签名请求)管理的一个命令。
x509         #X.509 证书数据管理。
days         #定义证书的有效日期。
newkey         #指定证书密钥处理器。
keyout         #设置密钥存储文件。
out             #设置证书存储文件,注意证书和密钥都保存在一个相同的文件

4.4.2  创建证书文件存放目录
[root@A-CRMDB01 vsftpd]# mkdir .sslkey        #创建隐藏目录存放证书文件。
[root@A-CRMDB01 vsftpd]# mv vsftpd.pem .sslkey/        #移动证书文件到.sslkey目录下。
[root@A-CRMDB01 vsftpd]# chmod 400 .sslkey/vsftpd.pem        #赋予证书文件400权限。

4.4.3  修改配置文件,支持SSL
[root@A-CRMDB01 vsftpd]# vim vsftpd.conf        #编辑配置文件,添加配置如图 4-14 所示。


图 4-14 添加支持ssl配置
ssl_enable=YES             #启用SSL支持。
allow_anon_ssl=NO 
force_local_data_ssl=YES   
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
#上面四行force 表示强制匿名用户使用加密登陆和数据传输。
ssl_tlsv1=YES       #指定vsftpd支持TLS v1。
ssl_sslv2=YES       #指定vsftpd支持SSL v2。
ssl_sslv3=YES       #指定vsftpd支持SSL v3。
require_ssl_reuse=NO       #不重用SSL会话,安全配置项 。
ssl_ciphers=HIGH            #允许用于加密 SSL 连接的 SSL 算法。这可以极大地限制那些尝试发现使用存在缺陷的特定算法的攻击者。
rsa_cert_file=/etc/vsftpd/.sslkey/vsftpd.pem 
rsa_private_key_file=/etc/vsftpd/.sslkey/vsftpd.pem
#定义 SSL 证书和密钥文件的位置。

注意:上面的配置项不要添加到vsftpd.conf 文件最后,否则启动报错。

修改完配置文件后,重启服务:
[root@A-CRMDB01 vsftpd]# systemctl restart vsftpd

4.4.4  配置FileZilla客户端验证,如图 4-15 所示。

图 4-15  配置FileZilla客户端验证
提示证书认证,点击“在以后的会话中始终信任该证书”---》点击“确定”如图 4-16 所示。

图 4-16 未知证书

连接成功,可以使用TLS加密传输了,如图 4-17 所示。

如图 4-17 使用TLS加密传输

注意: 在工作中,内网FTP传输,可以不用证书加密传输,如果FTP服务器在公网,为了数据的安全性,就一定要配置证书加密传输。


4.5  NFS概述-配置NFS服务器并实现开机自动挂载
4.5.1  NFS服务端概述:
NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,如图 4-18 所示。

图 4-18 NFS网络文件系统拓扑图
NFS的模式: C/S 模式
NFS监听的端口: 2049
CentOS 7是以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接。
[root@A-CRMDB01 ~]# vim /etc/services        #查看services文件,如图 4-19 所示。

图 4-19 NFS监听端口号
4.5.2  安装NFS:
[root@A-CRMDB01 ~]# yum -y install rpcbind nfs-utils        #使用Yum安装NFS。

配置文件位置:
[root@A-CRMDB01 ~]# ls /etc/exports        #NFS的主目录。
/etc/exports

启动NFS服务
[root@A-CRMDB01 ~]# netstat -antpu | grep 2049        #先查看2049端口是否开放。
[root@A-CRMDB01 ~]# systemctl start rpcbind        #启动rpcbind 。
[root@A-CRMDB01 ~]# systemctl start nfs-server.service     #启动NFS。

[root@A-CRMDB01 ~]# netstat -antpu | grep 2049        #再次查看端口监听状态
tcp        0      0 0.0.0.0:2049           0.0.0.0:*         LISTEN     -
tcp        0      0 :::2049                :::*              LISTEN     +

[root@A-CRMDB01 ~]# chkconfig nfs-server on        #设置NFS开机自动启动。

服务的使用方法
showmount -e NFS服务器IP

例:
[root@A-CRMDB02 ~]# showmount -e 192.168.31.63
Export list for 192.168.31.63:

挂载:
[root@A-CRMDB02 ~]# mount 192.168.31.63:/tmp /opt

修改配置文件,实战举例:
[root@A-CRMDB01 ~]# vim /etc/exports
/media  *(rw)

注意:
/media    表示共享的目录。
* 表示对所有网段开放权限,也可以设置指定特定的网段。
(rw)    表示访问权限。

NFS支持动态装载配置文件:
[root@A-CRMDB01 ~]# exportfs -rv           #重新读取配置文件不中断服务。
客户端查看:
[root@A-CRMDB02 ~]# showmount -e 192.168.31.63
Export list for 192.168.0.63:
/media *

挂载NFS服务的共享设备:
[root@A-CRMDB02 ~]# mount -t nfs 192.168.31.63:/media/ /opt/
[root@A-CRMDB02 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.7G  4.0G  5.2G  44% /
tmpfs                 996M   80K  996M   1% /dev/shm
/dev/sda1             485M   39M  421M   9% /boot
/dev/sr0              3.7G  3.7G     0 100% /mnt
192.168.0.63:/media/  9.7G  4.0G  5.3G  43% /opt

实现开机自动挂载NFS服务共享设备:
[root@A-CRMDB01 ~]# vim /etc/fstab        #编辑/etc/fstab文件,在文件最后添加自动挂载的信息如图 4-20 所示。

图 4-20 开机自动挂载
验证写入权限:
[root@A-CRMDB02 ~]# touch /opt/a.txt        #在NFS共享设备上创建文件。
touch: 无法创建"/opt/a.txt": 权限不够


解决方法:
设置访问权限一般包含2部分
服务本身权限
目录访问权限

nfs默认使用nfsnobody用户
[root@A-CRMDB01 ~]# grep nfs /etc/passwd
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

修改权限
[root@A-CRMDB01 ~]# chmod 777 -R /media/

[root@A-CRMDB01 ~]# chown nfsnobody.nfsnobody -R /media/

再次验证写入权限:
[root@A-CRMDB02 ~]# touch /opt/a.txt
[root@A-CRMDB02 ~]# ll !$
ll /opt/a.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 5月  24 2016 /opt/a.txt

以下是一些NFS共享的常用参数: 
     ro                    #只读访问。
     rw                   #读写访问。
    sync                #资料同步写入到内存与硬盘当中。
     async              #资料会先暂存于内存当中,而非直接写入硬盘。
 secure             #NFS通过1024以下的安全TCP/IP端口发送。
     insecure          #NFS通过1024以上的端口发送。
     wdelay            #如果多个用户要写入NFS目录,则归组写入(默认)。
     no_wdelay      #如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
     hide                #在NFS共享目录中不共享其子目录。
     no_hide           #共享NFS目录的子目录。
     subtree_check   #如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)。 
     no_subtree_check   #和上面相对,不检查父目录权限。
     all_squash               #共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
     no_all_squash          #保留共享文件的UID和GID(默认)。
     root_squash             #root用户的所有请求映射成如anonymous用户一样的权限(默认)。
     no_root_squash        #root用户具有根目录的完全管理访问权限。

选项使用方法示例:
 [root@A-CRMDB01 ~]# cat /etc/exports    
/tmp/a/no_root_squash      *(rw,no_root_squash)
/tmp/a/sync               192.168.0.0/24(rw,sync)
/tmp/a/ro                  192.168.31.64(ro)
/tmp/a/all_squash             192.168.0.0/24(rw,all_squash,anonuid=500,anongid=500)
/tmp/a/async                    192.168.3.0/255.255.255.0(async)
/tmp/a/rw          192.168.3.0/255.255.255.0(rw)    192.168.4.0/255.255.255.0(rw)
/tmp/a/root_squash   *(rw,root_squash)    

注意:在发布共享目录的格式中除了共享目录是必跟参数外,其他参数都是可选的。并且共享
目录与客户端之间及客户端与客户端之间需要使用空格符号,但是客户端与参数之间是不能有
空格。

NFS客户端挂载参数的优化:
NFS高并发环境下的服务端重要优化(mount -o 参数)。
async:异步同步,此参数会提高I/O性能,但会降低数据安全(除非对性能要求很高,对数据可靠性不要求的场合。一般生产环境,不推荐使用)。
noatime:取消更新文件系统上的inode访问时间,提升I/O性能,优化I/O目的,推荐使用。
nodiratime:取消更新文件系统上的directory inode访问时间,高并发环境,推荐显式应用该选项,提高系统性能。
intr:可以中断不成功的挂载。
rsize/wsize:读取(rsize)/写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务端传输数据的缓冲存储量。一般来说,如果在局域网内,并且客户端与服务端都具有足够的内存,这个值可以设置大一点,比如说32768(bytes),提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好是实现网络能够传输的最大值为限。

内核优化:
[root@A-CRMDB01 ~]# vim /etc/sysctl.conf        #修改此文件,在文件尾部加入如下内容。
net.core.wmem_default = 8388608     #内核默认读缓存
net.core.rmem_default = 8388608      #内核默认写缓存
net.core.rmem_max = 16777216        #内核最大读缓存
net.core.wmem_max = 16777216       #内核最大写缓存
 [root@A-CRMDB01 ~]# sysctl -p        #使sysctl.conf文件内的参数生效。

挂载选项用法,如图 4-21 所示:

图 4-21 挂载选项用法
或者写到挂载文件里:
192.168.31.63:/media /mnt nfs       noatime,nodiratime,rsize=131072,wsize=131072,intr 0 0


总结:
        4.1  VSFTP服务器概述
     4.2  安装配置VSFTP
        4.3  实战:匿名访问VSFTP
     4.4  实战:用户名密码方式访问VSFTP
        4.5  NFS概述-配置NFS服务器并实现开机自动挂载
(ps:虚拟用户配置到防火墙以上就可以了,防火墙不用配置)


 

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一. Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFSNFS也是需要架设服务器的; 大家知道在Windows 网络中的每台机器即可以是文件共享服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。 二. Samba的几个套件,安装及简单配置 samba,samba-client, samba-common 一句 sudo apt-get install samba samba-client 就能全部装上 启动samba也很简单: sudo /etc/init.d/samba start 设置samba的密码, 可以先添加samba用户, 必须是系统用户。 smbpasswd -a yourname 三. 互访 1)windows访问ubuntu windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可, 鼠标右键点目录,选择sharing options, 够选share this folder,需要的话也可以够选下面的allow write 这时在windows的网络邻居中的网络中查找就能找到共享目录了,通过//host也行 2)ubuntu访问windows 第一种:在ubuntu的网络中直接浏览访问 位置->网络,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。 第二种:用ubuntu 系统自带的连接到服务器功能访问 位置->连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷,里面就是windows计算机的共享目录了。 同样在访问的时候要输入smb的用户名和密码。 第三种:用mount’挂载windows的共享目录到本地磁盘 首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下: mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind 有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 第四种:使用smbclient 命令 一般来讲先列出所有共享目录,命令如下: smbclient –L //192.168.0.1/ -U yourname 输入smb的密码后,将看到共享目录列表。 假设进入共享目录share,命令如下: smbclient //192.168.0.1/share -U yourname 之后将看到一个smb:> 已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 五. 小结 以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:http://linux.vbird.org/linux_server/0370samba.php#server_pkg
1.首先本人声明者这只是一个迅雷下载的种子文件,下载该种子后再用迅雷下载。因为有五百多兆。分解上传不大好 2. 本教材从零开始,由浅入深,全面采用X Window和Webmin相结合的图形管理界面作为配置手段,开创了Linux管理的新概念,让您无需记忆Linux的命令,就能轻松快速地完成Red Hat Linux 9各种流行网络服务器配置与管理。主要内容包括:Linux系统和相关管理工具的安装与使用,常用网络服务(DNS、DHCP、网关、路由)的启动与配置,Squid局域网共享上网服务器、Samba资源共享服务器NFS网络文件服务器、LDAP目录服务器、Wu-FTP文件服务器、Sendmail电子邮件服务器、Apache WWW服务器、MySQL数据库服务器、Jabber即时消息服务器、INN新闻组服务器的快速架设与应用,以及系统安全和防火墙的配置等。 光盘主要内容:快速安装Linux系统与管理工具、Linux系统的配置与管理、架设Samba资源共享服务器、架设FTP服务器、架设Sendmail电子邮件服务器、架设Apache服务器等。    图书目录 第一章 Linux概述和快速安装 第一节 认识Linux 1.Linux的起源 2.Linux发行版本 第二节 安装Red Hat Linux 1.安装前的准备工作 2.快速安装系统 第三节 初识Linux 1.登录Linux系统2.图形操作环境X Window3.常用Linux命令简介 第二章 Linux系统管理 第一节 Linux系统管理工具 1.基于X Window的管理工具Linuxconf 2.基于浏览器的管理工具Webmin 第二节 用户管理与磁盘限额 1.用户管理 2.用户组管理 3.用户磁盘限制 第三节 配置本机网络信息 1.基本主机信息 2.指定DNS服务器地址 第四节 网络服务配置与管理 1.网络服务的启动方式 2.Xinetd服务管理 3.DNS服务 4.DHCP服务 5.网关和路由 6.网络诊断命令 第三章 局域网共享上网 第一节 使用Modem拨号上网 1.准备工作 2.使用KPPP拨号上网 第二节 使用Squid共享上网 1.认识代理服务器 2.Squid代理服务器 3.安装Squid 4.Squid代理服务器配置 5.Squid高级配置 6.启动Squid 7.设置Squid客户机 第四章 资源共享与应用 第一节 管理Samba服务器 1.认识Samba 2.Samba的组成 3.Samba的安装 4.Samba的配置 5.启动Samba 6.使用Samba 7.Samba实用程序 第二节 资源共享 1.文件共享 2.打印机共享第三节 Samba安全 1.加密口令认证 第五章 NFS、LDAP和FTP服务 第一节 NFS网络文件服务 1.认识NFS 2.安装NFS软件包 3.配置NFS服务器 4.启动NFS服务器 5.使用NFS 第二节 LDAP目录服务 1.认识目录服务 2.目录结构 3.LDAP协议 4.安装OpenLDAP 5.配置OpenLDAP服务器 6.启动OpenLDAP 7.OpenLDAP应用 第三节 FTP服务 1.安装Wu-FTP服务器 2.配置Wu-FTP服务器 3.启动Wu-FTP 第六章 电子邮件服务 第一节 电子邮件系统 1.E-mail系统组成 2.E-mail协议 3.E-mail工作方式 4.认识Sendmail 第二节 SMTP邮件系统 1.配置DNS邮件交换记录 2.安装Sendmail 3.配置Sendmail 4.启动Sendmail 5.测试Sendmail 6.管理邮件队列 第三节 POP和IMAP邮件系统 1.安装POP和IMAP服务器 2.启动POP和IMAP服务器 3.测试POP服务器 4.测试IMAP服务器 第七章 配置与管理WWW服务 第一节 Apache服务器管理 1.认识Apache 2.安装Apache 3.配置Apache 4.启动Apache 第二节 主页空间管理 1.开辟个人主页空间 2.基于IP的虚拟主机 3.基于域名的虚拟主机 第三节 授权访问 1.基于主机的授权 2.基于用户的认证 第四节 动态网站开发 1.认识PHP 2.搭建PHP运行环境 3.用PHP开发动态网站 第八章 数据库服务 第一节 数据库系统与SQL 1.数据库系统 2.SQL服务器 3.认识MySQL 第二节 管理MySQL 1.安装MySQL 2.启动MySQL 3.数据库管理 4.权限管理 5.MySQL客户端工具 第三节 MySQL应用 1.用Perl同MySQL交互 2.Apache、PHP与MySQL的完美组合 第九章 信息交流服务 第一节 即时消息服务 1.认识Jabber 2.安装Jabber服务器 3.配置Jabber服务器 4.Jabber网上聊天 第二节 Usenet新闻服务 1.认识INN 2.安装INN服务器 3.配置INN服务器 4.启动INN 5.新闻组管理 6.阅读新闻 第十章 Linux系统安全 第一节 扫描和嗅探 1.认识扫描和嗅探 2.安装安全工具 3.端口扫描 4.网络嗅探 第二节 安全网络连接 1.认识安全网络连接 2.安装OpenSSH 3.配置OpenSSH服务器 4.启动OpenSSH服务器 5.安全连接 第三节 防火墙 1.认识防火墙 2.配置防火墙 3.启用防火墙 附录 Linux常用命令快速查询

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

の正在缓存99%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值