设为首页 收藏本站
查看: 494|回复: 0

[经验分享] NFS、FTP、SAMBA服务搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-12 13:05:24 | 显示全部楼层 |阅读模式
一、NFS配置
NFS服务:即是共享存储,如有A、B、C三台服务器,那么文件存放在A上,B、C可通过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共用,指定被限制后的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-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-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


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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125905-1-1.html 上篇帖子: ubuntu下golang的安装、编译、运行 下篇帖子: Samba服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表