领导看了之后,说你也试试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
[root@http 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
[root@http php-5.5.30]# 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
[root@http myadmin]# cp config.sample.inc.php config.inc.php
[root@http myadmin]# 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;
[root@http php-5.5.30]# service httpd restart
执行结果如图
二、vsftp的安装配置
1、安装vsftpd,并查看相应文件位置和作用
yum install vsftpd
rpm -ql vsftpd
/etc/pam.d/vsftpd 基于pam认证的vsftpd的启动文件
/etc/rc.d/init.d/vsftpd vsftpd 服务启动文件
/etc/vsftpd
/etc/vsftpd/ftpusers 是否允许用户登录vsftpd服务器
/etc/vsftpd/user_list 用户列表(白名单或者黑名单)
/etc/vsftpd/vsftpd.conf vsftp主配置文件
/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
[ali-epel]
name=aliyun for centos6-epel
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
enabled=1
gpgcheck=0
[root@www ~]# yum repolist
[root@www ~]# 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 [vsftpd]> 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 [vsftpd]> insert into users(name,password) values('tom',password('magedu'));
MariaDB [vsftpd]> 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=mytest passwd=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 �Cy
2、建立共享用户和组
1)建立系统用户
[root@localhost test]# groupadd -r develop
[root@localhost test]# groupadd -r readonly
[root@localhost test]# useradd -g readonly -G develop -s /bin/nologin gentoo
[root@localhost test]# id gentoo
uid=502(gentoo) gid=492(readonly) groups=492(readonly),493(develop)
[root@localhost test]# useradd -g readonly -G develop -s /bin/nologin centos
[root@localhost test]# useradd -g readonly -s /bin/nologin ubuntu
2)建立共享用户
smbpasswd �Ca ubuntu
smbpasswd �Ca centos
smbpasswd �Ca gentoo
密码为mageedu
smbpasswd选项:
-a 将系统用户添加为samba用户;
-d 在samba中禁用此帐号;
-e 启用禁用的帐号
-x 从samba中删除此帐号
3、编辑共享文件:
vim /etc/samba/smb.conf
1)文件各选项说明
workgroup = MYGROUP 定义工作组
netbios name = MYSERVER netbios解析中的名字
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] 共享名为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
[test@localhost samba]$ service smb start;service nmb start
service iptables stop
setenforce 0
5、客户端测试结果如下图:
搞定 等待领导验收!