一、NFS配置

NFS服务:即是共享存储,如有ABC三台服务器,那么文件存放在A上,BC可通过NFS服务即可访问A共享的文件。

1、服务端安装过程

yum install -y nfs-utils

vim /etc/exports

写入以下内容:

/proc/ 14.120.0.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

##rw:表示可读可写,若为ro表示只读

##sync表示同步模式,内存中数据无时无刻写入磁盘;若为async表示非同步,内存中的数据定期写入到磁盘中

##all_squash表示无论客户端使用nfs服务的用户是谁,都限制为非root用户;若为root_squash则表示root用户对该共享目录权限不高,有有非root权限;若为no_root_squash 表示使用nfs时用root用户最高权限,不建议使用该选项

##anonuid以及anongid 要与all_squash或者root_squash共用,指定被限制后的uidgid,但前提服务端的/etc/passwd文件中有这个uid以及gid

 

启动服务:

/etc/init.d/rpcbind start;/etc/init.d/nfs start

##若要开机启动,加入到rc.local

 

若修改过/etc/exports文件,不需要restart服务

执行命令:exportfs -arv

 

2、客户端

yum install -y nfs-utils

showmount -e 120.24.98.198:    #查看该IP地址的共享目录,120.24.98.198为服务端IP

mount -t nfs 120.24.98.198:/proc/ /mnt/  ##挂载改IP地址的proc共享目录挂载到客户端的/mnt目录下。

 

 

 

二、FTP

方法一:

1、获取源码包

wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2

tar -jxvf pure-ftpd-1.0.42.tar.bz2

2、编译安装

./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls

make

make install

3、配置pure-ftpd

cd /usr/local/src/pure-ftpd-1.0.42/configuration-file

mkdir -p /usr/local/pureftpd/etc/

cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf

cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl

chmod 755 /usr/local/pureftpd/sbin/pure-config.pl

4、启动前需要先修改配置文件

vim pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf

找到PureDB修改为  PureDB   /usr/local/pureftpd/etc/pureftpd.pdb

找到PIDFile修改为  PIDFile   /usr/local/pureftpd/var/run/pure-ftpd.pid

5、启动pure-ftpd服务:

cd /usr/local/pureftpd/

./sbin/pure-config.pl ./etc/pure-ftpd.conf

##显示running表示启动成功

6、建立账户

mkdir -p /data/ftp_share/

useradd ftp_share

chown -R ftp_share:ftp_share /data/ftp_share/

/usr/local/pureftpd/bin/pure-pw useradd liang -uftp_share -d /data/ftp_share

##创建liang用户与之前创建的ftp_share用户关联,用liang登陆后会以ftp_share用户读写文件;-d后面跟的是共享目录

/usr/local/pureftpd/bin/pure-pw mkdb   ##创建用户信息库文件,这步是重点

/usr/local/pureftpd/bin/pure-pw list      ##列出当前已创建的账户以及所访问的目录

/usr/local/pureftpd/bin/pure-pw userdel liang    #删除ftp用户

 

 

方法二:

1、安装包,创建ftp用户

yum install -y vsftpd db4-utils

useradd virftp -s /sbin/nologin

2、编辑登陆账户,改变该文件安全权限

vim /etc/vsftpd/vsftpd_login

输入以下内容:

test1

123456

chmod 600 /etc/vsftpd/vsftpd_login

3、生成库

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

4、创建虚拟用户相关配置存放的对应目录

mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

5、创建第一个虚拟用户(有多小用户创建多小个)

vim test1    #这是用户配置文件,有多小个用户配置多小个这样的文件,对应上面的test1,并输入以下内容

local_root=/data/www/    #此处为ftp的物理路径

anonymous_enable=NO   #是否允许匿名登陆

write_enable=YES       #是否可写

local_umask=022        #指定umake

anon_upload_enable=NO  #是否允许匿名账户上传文件

idle_session_timeout=600  

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

6、在/home/virftp/目录创建对应用户文件夹,并改变权限

mkdir /home/virftp/test1 #对应上面的test1

chown -R virftp:virftp /home/virftp

7、添加配置参数

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

保存(若系统是32位的,把lib64改成lib

8、修改vsftp服务的全局配置参数

vim /etc/vsftpd/vsftpd.conf

在文档最下加入:

chroot_local_user=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

 

另外找到   anon_mkdir_write_enable=YES  改成NO

           anon_mkdir_write_enable=YES  改成NO

           anonymous_enable=YES  改成NO

9、启动FTP服务

/etc/init.d/vsftpd start

 

方法三:

利用mysql验证用户

1  安装vsftpd

 (1) yum install -y  vsftpd

 (2)编辑vsftpd.conf

 内容如下

 listen=YES

 connect_from_port_20=YES

 pasv_enable=YES

 tcp_wrappers=YES

 local_enable=YES

 chroot_local_user=yes

 anonymous_enable=NO

 guest_enable=YES

 guest_username=vsftpdguest

 user_config_dir=/etc/vsftpd/vsftpd_user_conf

 pam_service_name=/etc/pam.d/vsftpd

 dirmessage_enable=YES

 idle_session_timeout=600

 check_shell=NO

 (3)创建一个虚拟用户映射系统用户    

 useradd –s /sbin/nologin vsftpdguest

 

 

 2 安装 mysql

 具体步骤参考 http://www.lishiming.net/thread-7-1-2.html

 

 3 安装 pam-mysql

 wget http://cdnetworks-kr-1.dl.source ... mysql-0.7RC1.tar.gz

 tar zxvf  pam_mysql-0.7RC1.tar.gz

 cd pam_mysql-0.7RC1

 ./configure --with-mysql=/usr/local/mysql --with-pam=/usr --with-pam-mods-dir=/usr/lib

 make && make install

 

 4 创建vsftp 库和相关的表并授权

 

 >create database vsftp;

 >use vsftp ;

 >create table users ( name char(16) binary ,passwd char(125) binary ) ;

 >insert into users (name,passwd) values ('test001',password('123456'));

 >insert into users (name,passwd) values ('test002',password('234567'));

 >grant select on vsftp.users to vsftpdguest@localhost identified by 'vsftpdguest';

 

 5 创建虚拟账户的配置文件

 mkdir /etc/vsftpd/vsftpd_user_conf 

 cd  /etc/vsftpd/vsftpd_user_conf

 vim test001

 内容如下

 local_root=/ftp/        

 write_enable=YES

 virtual_use_local_privs=YES

 chmod_enable=YES

 

 6  编辑验证文件

 vim  /etc/pam.d/vsftpd

 内容如下

 #%PAM-1.0

 auth required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

 account required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

 

三、SAMBA

Samba实现windowslinux的文件共享

yum install -y smaba samba-client

vim /etc/samba/smb.conf        #修改配置文件

##[global]表示全局配置 [homes]表示共享用户自己的家目录 [printers]用于设置打印机共享

修改如下:

workgroup = MYGROUPworkgroup = WORKGROUP ##workgroup代表windows的工作组

security = user  ##指定samba的安全等级,安全等级按需求修改

    ## share表示 不需要账户以及密码即可登陆samba服务器

    ## user 表示由samba服务器负责检查账户以及密码

    ## server 表示检查账户以及密码由另外一台windows或者samba服务器负责

    ## domain指定windows域控制服务器来检验账户以及密码    

Passdb backend =tdbsam ##指定用户后台,有三种用户后台:

  ## smbpasswd 表示该方式使用smb工具给系统用户(真实或者虚拟用户)设置一个samba密码,客户端只需用此密码即可访问samba资源,smbapasswd存放在/etc/samba目录下

  ## tdbsam 表示该方式使用数据库文件创建用户数据库。数据库文件为passdb.tdb,同样存放在/etc/samba目录下,passdb.tdb用户数据可使用smbpasswd -a 创建samba用户,创建samba用户必是系统用户,另外也可以使用pdbedit命令创建samba账户。pdbedit参数有:

       ## pdbedit -a username ##创建samba账户

       ## pdbedit -x username ##删除samba账户

       ## pdbedit -L   ##列出samba用户列表,读取passdb.tdb数据库文件内容

       ## pdbedit -Lv   ##列出samba用户列表的详细信息

       ## pdbedit -c [D] -u username  ##暂停该samba用户账号

       ## pdbedit -c [] -u username   ##恢复该samba用户账号

  ## ldapsam 表示基于LDAP账户管理方式验证用户,首先要建立LDAP服务,设置“passdb backend = ldapsam://LDAP Server

  ## load printers 以及 cpus options 用于设置打印机相关的

       ##netbios name = MYSERVER   ##用来设置出现在网上邻居中的主机名

       ##hosts allow = 127.192.168.12 192.168.13.0/24 ##设置允许的主机,注释后允许所有

       ##log file = /var/log/samba/%m.log   ##%m表示前面netbios name的值

       ##max log size = 50  ##指定日志的最大容量,单位KB

 

实践一:

要求:共享一个目录,所有人可以访问,不用输入密码,只可读。

vim /etc/samba/smb.conf

修改如下:

workgroup = WORKGROUP

security = share

在最后加上

#####SHARE只读######

[share]

comment = share all

path = /share

browseable = yes

public = yes

writable = no

 

##启动服务

server smb start

 

实践二:

要求:共享一个目录,需要用户名和密码才可以访问,可读可写

1vim /etc/samba/smb.conf

修改以下内容:

workgroup = WORKGROUP

server string = Samba Server Version %v

security = user

passdb backend = tdbsam

load printers = yes

cups options = raw

在末端加入:

[myshare]

  comment = share for users

  path = /share

  browseable = yes

  writable = yes

  public = no

 

2、创建用户

   useradd user01

   useradd user02

   ##user01user02设置为Samba账户:

   pdbedit -a user01

   pdbedit -a user02

   ##列出所有Samba账户

   pdbedit -L

3、启动samba服务

   service smb start