Linux下VsFTP和ProFTP用户管理高级技巧 之一

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
运维安全中心(堡垒机),免费版 6个月
简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://chenguang.blog.51cto.com/350944/217853
Linux VsFTP ProFTP 用户管理高级技巧
 
    FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用MySQLProFTPVsFTP软件结合可以搭建一个高效、稳定且集中管理的FTP服务器。本来就来介绍一下如何搭建一个方便管理的基于MySQL数据库的FTP服务器。
一、软件版本的选择:
搭建基于数据库的FTP服务器首先要选择合适的软件。下面就是所选择软件的详细信息:
Linux版本RHEL5
MySQL版本MySQL-standard-5.1.30-1.rhel5.src.rpm;
FTP服务器proftpd-1.3.2.tar.gzvsftpd-2.2.1.tar.gz;
MySQLPAM验证程序pam_mysql-0.8RC1.tar.gz;
    需要说明的是,RHEL5安装时自定义安装,“development tools”项必须选择,否则编译调试软件时需要的软件包需另行安装;其次,要确保所安装Linux系统时没有安装MySQLFTP服务器等软件,如果有则先卸载;再次,ProFTPDVsFTPD两者不要在同台计算机同时使用,这样会造成意想不到的问题,读者根据自己的需求和软件的具体功能选择其中之一。
建立程序安装目录
整个安装过程以root用户执行如下命令:
    #cd /soft/programe
    #mkdir mysq
  需要注意目录名称的大小写。
    #mkdir proftpd
    #mkdir pam_mods
MySQL的安装目录为/soft/program/mysql,ProFTPD的安装目录为/soft/program/proftpdpam_mysq1.so的安装目录为/soft/program/pam_mods/storage是一个已经存在的目录,所有的FTP用户上传和下载文件都存放在这里。
安装MySQL
 增加一个管理MySQL的用户和组:
#groupadd mysqlgrp
#useradd  -g mysqlgrp mysqladm
#passwd  mysqladm
 切换到MySQL-stan-dard-5.1.30-1.rhel5.src.rpm文件所在的目录,执行以下步骤安装:
#rpm-ivh MySQL-stan-dard-5.1.30-1.rhel5.src.rpm
此条命令解压出mysql-5.1.30.tar.gz文件存放在以下的目录中。
#cd /usr/src/redhat/SOURCE
#tar zxvf mysqt-5.1.30.tar.gz
#cd mysql-5.1.30
#./configure Prefix=/soft/program/mysql --with-extra-charsets=all
其中,--prefix=/soft/program/mysql”参数是用来指定Mysql的安装目录,“--with-extra-charsets=all”是用来支持所有的字符集。
#make
#make install
 初始化数据库
#cd /soft/program/mysql/bin
#./mysql_install_db
 为了安全要修改数据库存放目录的属主信息和访问模式/soft/program/mysqll/var为数据库存放的缺省目录
#cd /soft/program/mysql
#chown –R mysqladm:mysqlgrp var
#chmod -R go-wrx var
 修改配置文件
#cd /soft/program/mysql/share/mysql
#cp my-small.cnf /etc/my.cnf
#cd /etc
my.cnf文件中,增加如下内容:
[mysql]
user=mysqladm  #表示用mysqladm 用户启动MySQL#
default-character-set=utf8  #表示使用UTF-8字符集,此种字符集通用性较好,也很好的支持中文,当然也可以直接使用GBK
 [clent]
Default-character-set=utf8
 启动
启动方式有两种,一种是手工启动,一种是自动启动,其中手工启动的操作如下:
#cd /soft/program/mysql/bin
#./mysqld_safe&
自动启动则需要在/etc/rc.d/rc/local中加入以下的内容,开机自动启动MySQL数据库:
If [-x /soft/program/mysql/bin/mysqld_safe]; then
    install_path_name /bin/mysqld_safe&
fi
 修改管理员密码
使用如下命令修改数据库密码:
#cd /soft/program/mysql/bin
#./mysqladmin -h localhost -u root password '123456'
上述命令的意思是本机上(-h host)使用的管理数据库的缺省管理账号root。需要注意的事,此root并非Linux系统中的root用户,密码设置为123456.
 
安装ProFTPD
◆切换到proftpd-1.3.2.tar.gz文件所在的目录,执行以下步骤安装:
#tar zxvf proftpd-1.3.2.tar.gz
#cd proftpd-1.3.2
#./configure--prefix=/soft/program/proftpd --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql
此参数将支持MySQLQuota模块添加进来。
--with-includes=/soft/program/mysql/include/mysql
上述参数指定MySQLinclude的目录路径。
--with-libraries=/soft/program/mysql/lib/mysql
此参数指定MySQLlib的目录路径。
#make
#make install
使用如下命令建立一个用于管理ProFTPDLinux系统账号和组。
#groupadd  -g  2009 ftpgroup
#useradd -u 2009 –s /bin/false -d /storage -g ftpgroup ftpuser
#chown  -R  ftpuser.ftpgroup /storage
#chmod –R go-wrx- /storage
#chmod –R u+wrx /storage
简单修改ProFTPD配置文件,使之正常运行:
#cd /soft/program/proftpd/etc
用编辑器打开proftpd.conf,修改一下的内容:
#Set the user and group under which the server will run.
User    ftpuser
Group   ftpgroup
◆启动ProFTPD
启动Proftpd同样有两种方法,即手工启动和自动启动,其中手工启动操作如下:
#cd /soft/program/proftpd/sbin/
#./proftpd
此时一个基本的FTP服务器已经搭建成,可以进行测试了。需要注意的是,启动时如果出现具有以下信息的错误:
error while loading shared libraries:libmysqlclient.so.15:cannot open shared object file:No such file or directory
通常的解决办法如下:
#cd  /etc
用文本工具打开ld.so.conf,添加以下的内容/soft/program/mysql/lib/mysql
#ldconflg
更新ld.so cache file
要让ProFTPD自动启动在/etc/rc.d/rc.local中加入以下的内容,开机即可自启动ProFTPD:
/soft/program/proftpd/sbin/proftpd
 

本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/217853

目录
相关文章
|
8月前
|
存储 运维 安全
linux用户管理
在Linux系统中,用户管理涉及创建、修改和删除用户及用户组,确保权限控制。关键命令如`useradd`用于新建用户,`usermod`调整用户属性,`userdel`删除用户,`passwd`变更密码。用户分为超级用户(root)、普通用户和系统用户。用户组管理包括`groupadd`、`groupdel`、`groupmod`和`gpasswd`。系统通过`/etc/passwd`和`/etc/group`文件存储用户和组信息,采用基于用户和组的权限模型。`su`和`sudo`用于切换用户权限,而`/etc/skel`目录提供新用户家目录的模板。这些机制保障了系统的安全和资源管理。
54 2
|
8月前
|
Linux API 数据安全/隐私保护
【Linux 用户管理】Linux用户身份信息获取与管理API 接口
【Linux 用户管理】Linux用户身份信息获取与管理API 接口
93 0
|
8月前
|
存储 Linux 数据安全/隐私保护
Linux文件权限及用户管理
Linux文件权限及用户管理
62 0
|
8月前
|
Linux Shell 数据安全/隐私保护
Linux用户管理
简单说一下 Linux的用户管理
95 1
|
Linux Go 数据安全/隐私保护
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
107 2
|
8月前
|
Linux 程序员 Shell
Linux编辑器,开机重启,用户注销,用户管理 常用命令
Linux编辑器,开机重启,用户注销,用户管理 常用命令
139 0
|
安全 Linux Shell
Linux用户管理指南:创建、删除、权限、最佳实践,全面掌握用户管理技巧
Linux用户管理指南:创建、删除、权限、最佳实践,全面掌握用户管理技巧
1720 0
|
7月前
|
Linux
【Linux】一条命令,转发所有请求到另一台服务器上 -高级技巧
【Linux】一条命令,转发所有请求到另一台服务器上 -高级技巧
115 0
|
8月前
|
大数据 Linux 数据安全/隐私保护
linux语法复习-01天-用户管理-关机和重启
linux语法复习-01天-用户管理-关机和重启
|
8月前
|
缓存 Unix Linux
Linux 常用命令汇总(四):信息显示 & 用户管理
hostname是一个 Unix/Linux 命令行工具,用于显示或设置系统的主机名dmesg是一个在 Unix-like 系统中常用的命令行工具,用于显示内核缓冲区的消息uptime是一个在 Unix 和类 Unix 系统(如 Linux)中常用的命令,用于显示系统已经运行了多长时间,以及当前有多少用户登录和系统负载的平均值stat是一个在 Unix 和类 Unix 系统(如 Linux)中常用的命令行工具,用于显示文件或文件系统的状态信息du。