您的位置:首页 > 编程语言 > PHP开发

NFS FTP Samba 搭建

2015-11-22 11:17 435 查看
一、NFS配置
NFS服务:即是共享存储,如有A、B、C三台服务器,那么文件存放在A上,B、C可通过NFS服务即可访问A共享的文件。1、服务端安装过程yum install -y nfs-utilsvim /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共用,指定被限制后的uid和gid,但前提服务端的/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-utilsshowmount -e 120.24.98.198: #查看该IP地址的共享目录,120.24.98.198为服务端IPmount -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实现windows与linux的文件共享
yum install -y smaba samba-client
vim /etc/samba/smb.conf #修改配置文件
##[global]表示全局配置 [homes]表示共享用户自己的家目录 [printers]用于设置打印机共享
修改如下:
workgroup = MYGROUP改workgroup = 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

实践二:
要求:共享一个目录,需要用户名和密码才可以访问,可读可写
1、vim /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
##把user01、user02设置为Samba账户:
pdbedit -a user01
pdbedit -a user02
##列出所有Samba账户
pdbedit -L
3、启动samba服务
service smb start
本文出自 “linux小记” 博客,请务必保留此出处http://lstulinux.blog.51cto.com/3938932/1701472
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NFS ftp samba