42121 发表于 2015-11-2 09:15:40

lamp 模块化+vsftd+samba

                         领导看了之后,说你也试试php和ftp在同一个机器上,另外给你一台机器做samba和ftp让大家放点资料;同时我希望你详细了解vftpd配置文件的基本意思,做共享的时候领导和特殊岗位是有写权限的。
   
一 、模块化lamp
1、安装libxml2支持库:
    yum install -y libxml2-devel支持库
   2、备份编httpd.conf文件:
cp /etc/httpd24/httpd.conf/etc/httpd24/httpd.bak.conf
   3、下载编译PHP
cd /usr/local/download
# wget http://au2.php.net/get/php-5.5.30.tar.gz/from/this/mirror
./configure --with-apxs2=/usr/local/apache/bin/apxs --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5 --enable-sockets --enable-mbstring --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
    make&& make install
   # cp php.ini-production /etc/php.ini
4、编译httpd文件
   vim /etc/httpd24/httpd.conf
   DocumentRoot "/web/myadmin" 开启主服务器
   <Directory "/web/myadmin">
   Options Indexes FollowSymLinks 基于安全考虑 建议改成none
   AllowOverride None      不允许覆盖
   Require all granted   允许所有主机访问这个文档下的文件
</Directory>
#Include /etc/httpd24/extra/httpd-vhosts.conf 关闭虚拟主机
#LoadModule proxy_module modules/mod_proxy.so 关闭代理模块
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.sodule 关闭fcgi代理模块
    AddType application/x-httpd-php .php       确认支持PHP文件类型      
    AddType application/x-httpd-php-source .phps
   <IfModule dir_module>         
    DirectoryIndex index.php index.html 确认php索引         
   </IfModule>         
5、phpmyadmin配置
   cd /web/myadmin
   # cp config.sample.inc.phpconfig.inc.php
   # vim config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'cookie';      
/* Server parameters */      
$cfg['Servers'][$i]['host'] = '192.168.3.56'; 数据库服务器地址      
$cfg['Servers'][$i]['connect_type'] = 'tcp';      
$cfg['Servers'][$i]['compress'] = false;      
$cfg['Servers'][$i]['AllowNoPassword'] = false;
   # service httpd restart
    执行结果如图
      
二、vsftp的安装配置
   1、安装vsftpd,并查看相应文件位置和作用
    yum install vsftpd
   rpm -ql vsftpd
       /etc/pam.d/vsftpd   基于pam认证的vsftpd的启动文件      
    /etc/rc.d/init.d/vsftpdvsftpd 服务启动文件         
    /etc/vsftpd      
    /etc/vsftpd/ftpusers   是否允许用户登录vsftpd服务器         
    /etc/vsftpd/user_list    用户列表(白名单或者黑名单)         
    /etc/vsftpd/vsftpd.confvsftp主配置文件
    /var/ftp/pub             vsftp公用文件夹
2、查看vsftpd配置选项
    vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=YES 是否允许匿名访问;
    local_enable=YES   是否允许系统用户登录;
    write_enable=YES   开启写入权限;
    local_umask=022      文件上传后的权限,用最高权限666减去你给的就是文件上传后的权限;
    anon_upload_enable=YES   允许匿名用户上传文件;
    anon_mkdir_write_enable=YES 允许匿名用户建立文件夹;
    dirmessage_enable=YES是否显示目录说明文件, 默认是YES 但需要手工创建.message文件;
   xferlog_enable=YES记录使用者所有上传下载信息;
   connect_from_port_20=YES控制以PORT模式进行数据传输时是否使用20端口;
   chown_uploads=YES开启匿名用户上传用户映射,默认不启用;
   chown_username=whoever 指定匿名用户上传映射的用户名;
   xferlog_file=/var/log/xferlog 指定上传下载信息记录文件路径;
   xferlog_std_format=YES
   idle_session_timeout=600 会话超时断开时间;
   data_connection_timeout=120 数据连接超时断开时间;
   nopriv_user=ftpsecure指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户;
   async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR;
   ascii_upload_enable=YES 以二进制格式上传文件;
   ascii_download_enable=YES 以二进制格式下载文件;
   ftpd_banner=Welcome to blah FTP service. 登录ftp后的欢迎信息;
   deny_email_enable=YES 拒绝指定email地址的用户登录;
   banned_email_file=/etc/vsftpd/banned_emails 指定拒绝登录email的地址列表;
chroot_local_user=YES 是否将所有用户锁定在主目录;
chroot_list_enable=YES 开启锁定主目录的用户列表;
chroot_list_file=/etc/vsftpd/chroot_list 指定锁定用户列表的文件路径;
   ls_recurse_enable=YES   ls_recurse_enable=YES 是否允许使用ls -R等命令;
   listen=YES    开启ipv4监听;
   listen_ipv6=YES 开启ipv6监听;
   pam_service_name=vsftpd 设置PAM使用的名称,默认值为/etc/pam.d/vsftpd;
   userlist_enable=YES为yes时, /etc/vsftpd/user__list文件中的用户将不能访问vsftpd服务器;
   tcp_wrappers=YES 启用tcp_wrappers实现服务器端针对客户端请求的访问控制;
3、配置虚拟用户访问vftpd
   1)安装pam_mysql
vim /etc/yum.repos.d/CentOS-Base.repo
      
name=aliyun for centos6-epel      
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/      
enabled=1      
gpgcheck=0
   # yum repolist
   # yum install pam_mysql
2)数据库建立用户
进入数据库服务器192.168.3.56
   mysql
   MariaDB [(none)]> CREATE DATABASE vsftpd CHARACTER SET utf8 COLLATE utf8_general_ci ;
   grant select on vsftpd.* to 'my'@'192.168.3.55' identified by 'test@1996';
   flush privileges;
   MariaDB [(none)]> use vsftpd      

   MariaDB > create table users (      
    ->      id int AUTO_INCREMENT NOT NULL,      
    ->   name char(20) binary NOT NULL,      
    ->      password char(48) binary NOT NULL,      
    ->      primary key(id)      
    ->      );      

    MariaDB > insert into users(name,password) values('tom',password('magedu'));
    MariaDB > insert into users(name,password) values('ray',password('magedu'));
   3、配置vsftpd
    1)建立pam认证所需文件
   #vim /etc/pam.d/vsftpd.mysql         
      添加如下两行         
    auth required /lib/security/pam_mysql.so user=mytestpasswd=tets@1996 host=192.168.3.56 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0      
      account required /lib/security/pam_mysql.so user=mytest passwd=tets@1996 host=192.168.3.56 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0
    2)修改vsftpd的配置文件,使其适应mysql认证
       建立虚拟用户映射的系统用户及对应的目录      
       # useradd -s /sbin/nologin -d /var/ftproot vuser      
       # chmod go+rx /var/ftproot
       vim /etc/vsftpd.conf确认以下选项是否开启
      anonymous_enable=YES      
      local_enable=YES      
      write_enable=YES      
      anon_upload_enable=NO      
      anon_mkdir_write_enable=NO      
      chroot_local_user=YES
      而后添加以下选项      
         guest_enable=YES      
         guest_username=vuser
      并确保pam_service_name选项的值如下所示      
         pam_service_name=vsftpd.mysql
      4、配置并使用虚拟用户
       1) 添加虚拟用户配置文件路径
      # vim vsftpd.conf
       添加如下选项      
       user_config_dir=/etc/vsftpd/vusers_config
       mkdir /etc/vsftpd/vusers_config/   
       cd /etc/vsftpd/vusers_config/      
       touch tom jerry
   2) 添加虚拟用户配置文件
      vim tom
         anon_upload_enable=YES   
         anon_mkdir_write_enable=YES      
         anon_other_write_enable=YES
      
   5.验证效果:   
      
      
    三、samba共享
1、下载安装samaba
    yum install samba.x86_64 –y
2、建立共享用户和组
1)建立系统用户
[root@localhost test]# groupadd -r develop   
# groupadd -r readonly      
# useradd -g readonly -G develop-s /bin/nologin gentoo      
# id gentoo      
uid=502(gentoo) gid=492(readonly) groups=492(readonly),493(develop)      
# useradd -g readonly -G develop-s /bin/nologin centos      
# useradd -g readonly-s /bin/nologin ubuntu
2)建立共享用户
smbpasswd –aubuntu
smbpasswd –a centos
smbpasswd –a gentoo
密码为mageedu
smbpasswd选项:   
         -a 将系统用户添加为samba用户;      
         -d 在samba中禁用此帐号;      
         -e 启用禁用的帐号      
         -x 从samba中删除此帐号
3、编辑共享文件:
   vim /etc/samba/smb.conf
      1)文件各选项说明
       workgroup = MYGROUP 定义工作组   
      netbios name = MYSERVERnetbios解析中的名字      
      interfaces =定义监听地址      
      host allow =   定义基于ip控制的白名单;      
      用[自定义共享 ]      
      path= 你要共享的目录      
      guest OK=   是否允许来宾帐号      
      wirteable= 是否拥有写权限      
      printable= 是否打印      
      writelist= +你要给写权限的组这个选项要指明你要哪些用户可写。   
      testparm 测试语法是否有误
   2)实际配置
       workgroup = magedu 设定工作组为magedu   
      netbios name = magedu test netbios解析中到的名字为 magedu test      
      hosts allow = 127. 192.168.3. 只允许本机和192.168.3.网段内的机器访问      
         共享名为shared      
         comment = mage注释 mage      
         path = /data    将本地根目录下的data共享出去      
         guest ok = no    不允许来宾访问      
         writable = yes    具有写权限      
         write list = +readonly readonly组中的成员可写,实际上不可写 还需要系统中授权
      
4、建立系统文件夹,启动服务测试:
   1)mkdir /data
    setfacl -m g:develop:rwx /data
    getfacl -a /data
   
    $ service smb start;service nmb start
   service iptables stop
   setenforce 0
5、客户端测试结果如下图:
   
   
   
            搞定 等待领导验收!
                   

页: [1]
查看完整版本: lamp 模块化+vsftd+samba