Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83272
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 507
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-02 17:11
个人简介

还年轻,还有梦

文章分类

全部博文(51)

文章存档

2015年(51)

我的朋友

分类: LINUX

2015-05-23 16:06:21

一. NFS
1. NFS简介
NFS全称是network file system
NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 
假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. 但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的那个目录的。 

2. 安装、配置NFS服务
需要安装两个包(nfs-utils和rpcbind)
yum install -y nfs-utils  会同时安装上rpcbind
提供nfs服务的机器上 vim /etc/exports  //内容如下:
      /home/ 192.168.1.0/24(rw,sync,all_squash,anonuid=501,anongid=501) 
共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。它表示:共享的目录为/home,信任的主机为192.168.137.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。
启动 /etc/init.d/rpcbind start; /etc/init.d/nfs start  


3. NFS配置的一些选项说明
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。


4. 客户端上挂载NFS
客户端同样安装 yum install -y nfs-utils 
查看服务器端都共享了哪些目录 
    showmount -e 192.168.1.110
   

在客户端上挂载服务端的nfs 
    mount -t nfs  -onolock,nfsvers=3 192.168.1.110:/home/ /mnt/     //如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root
df -h  查看挂载的情况



5. exportfs 命令的使用
-a :全部挂载或者卸载;
-r :重新挂载;
-u :卸载某一个目录;
-v :显示共享的目录
改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可
exportfs -arv  使生效

在使用nfs时,常用一个选项就是 -o nolock  
我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中  192.168.1.110:/tmp/ /test nfs nolock 0 0  然后 mount -a 


二. ftp
1. 什么是ftp

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。
FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd  


2. 使用pure-ftpd搭建FTP服务
pure-ftpd 官网   

yum install -y epel-release
yum install -y pure-ftpd
curl  > /etc/pure-ftpd/pure-ftpd.conf        #修改配置文件

user=`mkpasswd -l 5 -s 0 -d 0 -C 0`
pass=`mkpasswd -s 0`
echo $user $pass > /tmp/ftp.pass
mkdir /data/ftp  #创建ftp服务的目录
echo -e "$pass\n$pass"|pure-pw useradd $user -u apache -d /data/ftp/
pure-pw mkdb  #创建密码文件

pure-pw list #列出用户
pure-pw useradd $user #创建账号
pure-pw userdel $user #删除账号
/etc/init.d/pure-ftpd  start  #启动服务
客户端需要安装lftp
yum install -y lftp
客户端登陆
get  filename     #下载文件到当前目录
put filename      #上传文件到共享目录,前提目标目录有写权限


3. vsftp配置ftp服务  
yum install -y vsftpd db4-utils
建立虚拟账号相关联的系统账号 useradd virftp -s /sbin/nologin  
建立虚拟账户相关的文件  vim  /etc/vsftpd/vsftpd_login //内容如下: 
奇数行是用户名,偶数行是密码
    test1
    123456
    test2
    abcdef
chmod 600 /etc/vsftpd/vsftpd_login
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
如果修改了用户文件,记得重新db_load一下,还有重启服务resart


建立虚拟账号相关的目录以及配置文件 mkdir  /etc/vsftpd/vsftpd_user_conf
cd   /etc/vsftpd/vsftpd_user_conf  创建和用户对应的配置文件
vim test1 内容如下:
local_root=/home/virftp/test1
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

mkdir /home/virftp/test1
修改权限: chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd   在最开头添加两行 
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统,则改为/lib64/security/pam_userdb.so 
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统,则改为/lib64/security/pam_userdb.so 
再修改/etc/vsftpd.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

启动vsftpd服务 /etc/init.d/vsftpd start  
如果启动失败,查看谁占用了21端口
put到登陆用户test1配置文件里定义的根目录:local_root=/home/virftp/test1
客户端:
服务端:


扩展阅读部分:  
vsftp使用mysql存放虚拟用户并验证 
ftp的主动和被动模式  
阅读(735) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~