CentOS安装ProFTPd服务和ProFTPd服务器的管理(4)

http://www.itjxue.com  2015-07-19 16:32  来源:未知  点击次数: 

系统用户和用户组ftp的UID和GID的调整

由于我们在配置文件中,把ftp的用户和用户组的UID和GID都设置为了1000;所以大家在设置chown的时候不要直接输入ftp:ftp而是用1000:1000 。

本人测试,如果修改系统用户组文件,会出现无法登录SSH的问题,所以还是直接设置为1000:1000吧。

[root@localhost ~]# chown -R 1000:1000 /home

启动ProFTPD,并测试

[root@localhost ~]# /usr/local/proftpd/sbin/proftpd //改成上面的安装路径

[root@localhost ~]# pgrep proftpd

22490 //每个人都不同,能出现这个数(进程数)就可以了。

上面就把proftpd 启动起来了;我们通过pgrep 来查看是否有ProFTPD的进程,查看得知已经有了;证明服务器已经启动。我们进入测试阶段;

测试:测试帐号是test,密码是test;您可以用ftp命令来测试,也可以用lftp来测试,也可以用gftp来测试;找一个FTP客户端就行;这个test帐号是怎么来的呢。回头看一下proftpd.sql那段代码中,是否有下面这行;

INSERT INTO 'ftpusers' VALUES ('test','test', 1000, 1000, '/home/test', '/sbin/nologin',0,",");

这是我在写文档时,添加的一个测试帐号;只要您把proftpd.sql文件导入了,就有这个帐号;您当然也可以删除它;上面这行说的是在ftpusers的表中,添加一个录;也就是ftp用户的记录;在本文的最下面有说明如何通过MySQL来管理帐号;在这里我们只是测试是不是FTP能用了;

在默认的情况下,test用户的家目录是在/home/test,密码是test;而/home/test是当您第一次以用户test登录时,系统自动建立的;这些都自动的;

这时请使用FTP客户端来测试一下,账号test ,密码test。

如果出现无法上传的问题,请设置你们的文件夹属组,添加用户的时候默认是使用了FTP组的。

用下面命令把文件夹属组改成FTP;

chown -R 1000:1000 /home/test //这里对你的用户目录进行授权,-R为递进,这里的R是大写。

添加到开机自启动

[root@localhost ~]# vi /etc/rc.local

在下面加入 /usr/local/proftpd/sbin/proftpd //请对照自己的安装目录进行修改

按“Esc”键,输入 “ :wq ” 保存并退出

关于ProFTP的服务器管理、用户管理和磁盘限额管理

ProFTPd 服务器的管理

ProFTPD服务器的启动程序是在安装目录的sbin中,也就是proftpd;我们还是以安装目录/usr/local/proftpd 为准来说明;

下面是一些实用的ProFTPD服务器管理命令

[root@localhost ~]# /usr/local/proftpd/sbin/proftpd 注:服务器的启动;

[root@localhost ~]# pgrep proftpd 注:查看服务器是不是启动起来了;如果没有进程,说明失败;

[root@localhost ~]# pkill proftpd 注:杀死proftpd的进程;也就是关掉服务器;

注意:我们更改proftpd.conf后,要重启proftpd ,否则改动不会生效。这时就要用到pkill proftpd ,然后再重启proftpd 服务器;每次改动proftpd.conf都要这么做;

下面是几个查看ProFTPD服务器状态的命令,您也可以尝试一下,具体用法自己尝试吧;具体安装目录以自己的为准。

[root@localhost ~]# /usr/local/proftpd/bin/ftpcount

[root@localhost ~]# /usr/local/proftpd/bin/ftpwho

[root@localhost ~]# /usr/local/proftpd/bin/ftptop

[root@localhost ~]# /usr/local/proftpd/bin/ftpdctl

通过MySQL来管理FTP用户

在本文档中,ProFTPD 对FTP用户是通过MySQL来进行的,现在我们分析一下我们前面所提到proftpd数据库;ftp所有的用户都装在ftpusers这个表中,我们先分析一下这个表;分析这个表的目的是我们能明白如何添加用户;

首先,我们以proftpd 用户和密码登录到MySQL;并查看ftpusers表的结构;

[root@localhost ~]# mysql -uproftpd -p
Enter password: 注:在这里输入proftpd用户的密码;

mysql> 注:成功进入;

mysql> show databases; 注:查看数据库都有哪些;
+———-+
| Database |
+———-+
| proftpd |
| test |
+———-+
2 rows in set (0.00 sec)
注:我们看到了proftpd 还是存在的;

mysql> use proftpd; 注:要对proftpd 数据库进行操作,我们要先USE(用)proftpd数据库;

mysql> show tables; 注;我们在执行use proftpd;后,我们再查看proftpd中所有的表;
+——————-+
| Tables_in_proftpd |
+——————-+
| ftpgroups |
| ftpusers |
| quotalimits |
| quotatallies |
+——————-+
4 rows in set (0.00 sec)

我们要查看ftpusers 这个表的结构,我们要用到 DESCRIBE 这个指令,后面接表的名称;

mysql> DESCRIBE ftpusers;
+———–+——————+——+—–+—————+——-+
| Field | Type | Null | Key | Default | Extra |
+———–+——————+——+—–+—————+——-+
| userid | varchar(30) | | PRI | | |
| passwd | varchar(80) | | | | |
| uid | int(10) unsigned | | | 1000 | |
| gid | int(10) unsigned | | | 1000 | |
| homedir | varchar(255) | | | | |
| shell | varchar(255) | | | /sbin/nologin | |
| count | int(10) unsigned | | | 0 | |
| host | varchar(30) | | | | |
| lastlogin | varchar(30) | | | | |
+———–+——————+——+—–+—————+——-+
9 rows in set (0.00 sec)

说明:

如果不懂上面的命令请无视,可以使用phpmyadmin在添加,请对应字段解释来添加。也可以对比test默认建立的那条记录。

userid 就是FTP的用户名,这个是必填写字段;

passwd 是FTP用户的密码,这个是必填写字段;

uid和gid字段默认是1000;

homedir 是FTP用户的家目录放在哪里,要自己指定;

shell 这个是用来指定用户是否能登录系统,这里默认的是不能登录,因为是虚拟用户,所以不能让虚拟用户来登录系统;所以默认是/sbin/nologin;

count 是访问次数,默认是0;

host 是登录FTP服务器的IP地址记录,可以不设置;服务器会自己纪录;

lastlogin 是最后登录时间,这个也是自动生成,可以不必理会;

(责任编辑:IT教学网)

更多