linux学习笔记-第二十五课-NFS与FTP

一、NFS

NFS是Network File System的缩写,即网络文件系统。

NFS服务器安装

1、NFS服务器主要的软件是rpcbind(rhel 5中的版本叫portmap)和nfs-utils

rpcbind:是RPC主程序,负责NFS端口的监听。

nfs-utils:是NFS主程序

我们只有通过yum或者RPM来安装就可以

2、启动NFS

[[email protected] ~]# service nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]

3、NFS服务端配置

# 编辑NFS服务端配置
[[email protected] data]# vim /etc/exports
# 配置的格式:服务端要共享的目录 允许访问共享目录的计算机(选项)
/data 192.168.1.*(rw,sync,all_squash,anonuid=500,anongid=500)

当配置更改之后需要使之生效,无需重启NFS服务

[[email protected] data]# exportfs -arv
exporting 192.168.1.*:/data
# -a 全部,对所有的共享目录
# -r 重新加载配置
# -v 显示当前共享的目录及他们的配置
# -u 取消一个或者多个共享目录

常用的客户端选项示例:
客户端选项 说明
ro 客户端只能以只读方式访问共享目录中的文件,不能写入,删除,创建
rw 对共享目录可读写
sync 同步写入,对数据的安全性有好处,但是降低效率
async 异步写入,效率高,但是对数据的安全性比较差
all_squash
不管登陆NFS的使用者身份是什么,都把它的UID和GID映射为匿名用户和

用户组一般是nfsnobody

no_all_squash 保留用户原来的UID和GID,不进行映射

anonuid=id

指定NFS服务器使用/etc/passwd文件中的UID为该值的用户作为匿名用户
anongid=id 指定NFS服务器使用/etc/passwd文件中的GID为该值的用户作为匿名用户组
root_squash
如果登陆NFS服务器使用共享目录的使用者是root,则把这个使用者的权限

映射为匿名用户

no_root_squash
如果登陆NFS服务器使用共享目录的使用者是root,那么就保留它的root的

权限,不映射为匿名用户,不建议使用,影响安全性



4、客户端的使用

客户端如果想要使用NFS的共享目录,也需要在客户安装并启动rpcbind服务

# 查看NFS服务端共享目录的列表
[[email protected] mnt]# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/data 192.168.1.*
# 挂载共享目录
# 挂载的格式:mount [选项] NFS服务器IP或主机名:共享目录 挂载点
# 常用选项:-t nfs 指定要挂载的文件系统类型为NFS
[[email protected] ~]# mount -t nfs 192.168.1.10:/data  /mnt
[[email protected] ~]# df -t nfs
Filesystem          1K-blocks    Used Available Use% Mounted on
192.168.1.10:/data/  16180224 1676544  13675008  11% /mnt

二、FTP

Puer-FTP:是一个高效,简单,安全的FTP服务器软件,功能多,使用



1、Puer-FTP

pure-ftp可以用源码包进行编译安装,也可以通过yum源进行安装,源码安装在这里就不讲了,今天我们通过用yum安装

# yum安装前先要安装扩展源
[[email protected] ~]# yum install -y epel-release
[[email protected] ~]# yum list |grep pure-ftpd
pure-ftpd.i686                             1.0.30-1.el6                  epel
pure-ftpd-selinux.i686                     1.0.30-1.el6                  epel
[[email protected] ~]# yum install -y pure-ftpd
# 编辑配置文件
[[email protected] ~]# vim /etc/pure-ftpd/pure-ftpd.conf
# 默认参数不需要去修改什么,就可以直接用,有一些地方需要注意一下
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
# 数据类型,这里我们使用pureftpd.pdb,这个功能需要打开
PureDB                        /etc/pure-ftpd/pureftpd.pdb
PAMAuthentication             yes
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       133:022
MinUID                      500
UseFtpUsers                 no
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         yes
AltLog                     clf:/var/log/pureftpd.log
MaxDiskUsage               99
CustomerProof              yes

2、创建连接用的虚拟用户

# 创建一个系统用户
[[email protected] ~]# useradd -s /sbin/nologin testftp
# 在创建一个匿名用户,并把这个用户挂依靠到指定的系统用户下,指定匿名用户家目录
[[email protected] ~]# pure-pw useradd ftp_user1 -u testftp -d /data/ftpuser1
Password:
Enter it again:
# 列出已经创建的匿名用户及其家目录
[[email protected] ~]# pure-pw list
ftp1                /data/www/./
ftp_user1           /data/ftpuser1/./
# 生成数据库
[[email protected] ~]# pure-pw mkdb
# 启动pureftpd
[[email protected] ~]# /etc/init.d/pure-ftpd start
正在启动 pure-ftpd:                                       [确定]

3、在客户端上的登陆与访问

在客户端需要安装lftp,进行登陆工作

[[email protected] ~]# yum install -y lftp
# 格式 lftp 匿名用户@ftp服务器地址
[[email protected] ~]# lftp [email protected]
口令:
lftp [email protected]:~> ls
drwxr-xr-x    2 0          0                4096 May 24 11:12 .
drwxr-xr-x    2 0          0                4096 May 24 11:12 ..


vsftpd:安全,稳定,高性能的开源FTP服务器软件

虚拟用户认证

1、yum 安装vsftpd与db4-utils

[[email protected] ~]# yum install -y vsftpd db4-utils
[[email protected] ~]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd:                                    [确定]
[[email protected] ~]# useradd virftp -s /sbin/nologin
[[email protected] ~]# vim  /etc/vsftpd/vsftpd_login
hp
1
lenovo
2
[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login
[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[[email protected] ~]# mkdir  /etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf
[[email protected] vsftpd_user_conf]# vim hp
local_root=/data/virftp/hp
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

[[email protected] vsftpd_user_conf]# ls
hp  lenovo
[[email protected] vsftpd_user_conf]# mkdir -p /data/virftp/hp
[[email protected] vsftpd_user_conf]# mkdir -p /data/virftp/lenovo
[[email protected] vsftpd_user_conf]# chown -R virftp.virftp /data/virftp/hp/
[[email protected] vsftpd_user_conf]# chown -R virftp.virftp /data/virftp/lenovo/
[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd
# 增加的内容
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
# 修改的内容
anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
# 增加的内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

对于iptables的设置需要开发默认21监听端口,在设置数据传输端口

示例:

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
# 增加内容
pasv_min_port=6000
pasv_max_port=7000
[[email protected] ~]# iptables -I INPUT -p tcp --dport 6000:7000 -j ACCEPT
[[email protected] OS]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
时间: 2024-12-15 11:30:15

linux学习笔记-第二十五课-NFS与FTP的相关文章

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

linux学习笔记-第二十四课-LNMP-Nginx高级配置(三)

一.用户认证 用户认证功能是利用Apache的工具htpasswd生成的密钥,所以需要安装Apache的这个工具即可,我们用yum来安装就可以. [[email protected] ~]# yum install -y httpd-tools [[email protected] ~]# htpasswd -cm /usr/local/nginx/conf/.htpasswd mydiscuz New password: Re-type new password: Adding passwor

linux学习笔记-第十五课-日常管理(二)

一.抓包工具,分析工具 抓包工具 : tcpdump 格式 : tcpdump [-AennqX] [-i 接口] [-w 储存档名] [-c 次数] [-r 档案] [所欲撷取的封包数据格式] 常用选项 : -A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料.    -e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示:    -nn:直接以 IP 及 port number 显示,而非主机名与服务名称    -q :仅列出较为简短的封包信息,每一行

linux学习笔记-第二十八课-MySQL主从复制,读写分离配置

MySQL主从配置 配置准备将要配置的数据库进行主从同步,主从的服务器上都要有同一个数据库 一.配置mysql主服务器 [[email protected] ~]# vim /etc/my.cnf .................................... log-bin=mysql-bin     <== 打开日志格式 .................................... server-id=1           <== 主从标记 ............

学习笔记第二十五节课

正则介绍_grep 正则就是一串有规律的字符串,包含特殊符号. 对以后的写shell脚本很大的帮助.可以实现很多复杂的需求. 第一个工具 grep grep 用来过滤关键词. -c 行数,过滤出来的这些行有多少行. 做实验,先把etc/passwd 作为一个样本文件 cp 到 创建的grep目录下. 然后 用grep 过滤 nologin grep有一个好处,在过滤关键词的时候,会自动对关键词上颜色. 然后用-c 选项 可以显示刚才过滤的 有多少行. -n选项可以显示带颜色的 行号. -i选项不

linux学习笔记-第十四课-日常管理(一)

一.w和uptime [[email protected] ~]# w  20:29:01 up 28 min,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT mylinux  pts/0    192.168.1.105    20:12    0.00s  0.32s  0.26s sshd: my

linux学习笔记-第十八课-LAMP之环境搭建(一)

一.LAMP搭建前的准备 LAMP是四套软件的缩写,分别指的是L-Linux,A-Apache,M-Mysql,P-php,利用这四套软件搭建的web的运行环境. 搭建前需要需要下载好软件 apache http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz mysql  32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glib

学习笔记第二十八节课

使用w命令查看系统负载 w查看系统的负载,分三部分. 1 是当前时间 和终端开启的时间.加上系统负载. 分别表示一分钟 五分钟 十五分钟 时间段内系统负载值. 表示的含义和cpu有关系,单位时间段内,使用cpu的活动的进程有多少个. 表示一分钟内cpu活动的进程有多少个,这个是个平均值,不一定是整数. 这个数值 当前值为0 表示没有负载,说明系统处于一个很空闲的状态.(如果是0表示系统处于空闲状态,说明你的系统在空跑.) 数值最理想要看你有几颗cpu (逻辑cpu 不是物理的) 现在我们常用的