首页 百科知识 配置常规服务

配置常规服务

时间:2024-10-05 百科知识 版权反馈
【摘要】:安装并启动vsftpd后以一个实例来对vsftpd进行配置, 现有一台FTP和Web服务器, FTP的功能主要用于维护学校的Web网站内容, 包括上传文件、 创建目录、 更新网页等。出于安全性的考虑, 建议将本地用户也锁定在指定的FTP目录中。若设置为yes时, 则/etc/vsftpd.user_list文件中的用户不能访问FTP服务器; 若设置为no时,则只有/etc/vsftpd.user_list文件中的用户才能访问FTP服务器。

【任务描述】

安装并启动vsftpd后以一个实例来对vsftpd进行配置, 现有一台FTP和Web服务器, FTP的功能主要用于维护学校的Web网站内容, 包括上传文件、 创建目录、 更新网页等。学校现有两个部门负责维护任务, 并分别使用user1和user2账号进行管理。 先要求仅允许user1和user2账号登录FTP服务器, 但不能登录本地系统, 并将这两个账号的根目录限制为/var/www/html, 不能进入该目录以外的任何目录。

【任务分析】

将FTP和Web服务器做在一起是企业经常采用的方法, 这样方便实现对网站的维护,为了增强安全性, 首先, 需要使用仅允许本地用户访问, 并禁止匿名用户登录。 其次, 使用chroot功能将user1和user2锁定在/var/www/html目录下。 如果需要删除文件, 则还需要注意本地权限。

【任务实施】

1. 了解vsftpd常用的配置参数和相关配置文件

与vsftpd服务相关的配置文件包括以下几个。

•/etc/vsftpd/vsftpd.conf: vsftpd服务器的主配置文件。

•/etc/vsftpd.ftpusers: 在该文件中列出的用户清单将不能访问FTP服务器。

•/etc/vstpd.user_list: 当/etc/vsftpd/vsftpd.conf文件中的 “userlist_enable” 和 “userlist_deny” 的值都为yes时, 在该文件中列出的用户不能访问FTP服务器。 当/etc/vsftpd/vsft⁃pd.conf文件中的 “userlist_enable” 的取值为yes而 “userlist_deny” 的取值为no时, 只有/etc/vstpd.user_list文件中列出的用户才能访问FTP服务器。

(1) 登录及对匿名用户的设置。

anonymous_enable=yes:设置是否允许匿名用户登录FTP服务器。

local_enable=yes:设置是否允许本地用户登录FTP服务器。

write_enable=yes:全局性设置,设置是否对登录用户开启写权限。

local_umask=022:设置本地用户的文件生成掩码为022。则对应权限为755 (777-022=755)。

anon_umask=022:设置匿名用户新增文件的umask掩码。

anon_upload_enable=yes:设置是否允许匿名用户上传文件, 只有在write_enable的值为yes时, 该配置项才有效。

anon_mkdir_write_enable=yes:设置是否允许匿名用户创建目录, 只有在write_enable的值为yes时, 该配置项才有效。

anon_other_write_enable=no: 若设置为yes, 则匿名用户会被允许拥有多于上传和建立目录的权限, 还有删除和更名的权限。 默认值为no。

ftp_username=ftp:设置匿名用户的账户名称,默认值为ftp。

no_anon_password=yes:设置匿名用户登录时是否询问口令。设置为yes,则不询问。

用户登录FTP服务器成功后, 服务器可以向登录用户输出预设置的欢迎信息。

ftpd_banner=Welcometoblah FTPservice:设置登录FTP服务器时显示的信息。

banner_file=/etc/vsftpd/banner:设置用户登录时, 将会显示banner文件中的内容, 该设置将覆盖ftpd_banner的设置。

dirmessage_enable=yes:设置进入目录时是否显示目录消息。若设置为yes,则用户进入目录时, 将显示该目录中由message_file配置项指定文件 (.message) 中的内容。

message_file=.message:设置目录消息文件的文件名。 如果dirmessage_enable的取值为yes, 则用户在进入目录时会显示该文件的内容。

(2) 设置用户在FTP客户端登录后所在的目录。

local_root=/var/ftp:设置本地用户登录后所在的目录,默认情况下,没有此项配置。 在vsftpd.conf文件的默认配置中, 本地用户登录FTP服务器后, 所在的目录为用户的家目录。

anon_root=/var/ftp:设置匿名用户登录FTP服务器时所在的目录。 若未指定, 则默认为/var/ftp目录。

(3) 设置是否将用户锁定在指定的FTP目录。

默认情况下, 匿名用户会被锁定在默认的FTP目录中, 而本地用户可以访问到自己FTP目录以外的内容。 出于安全性的考虑, 建议将本地用户也锁定在指定的FTP目录中。 可以使用以下几个参数进行设置:

chroot_list_enable=yes:设置是否启用chroot_list_file配置项指定的用户列表文件。

chroot_local_user=yes:用于指定用户列表文件中的用户, 是否允许切换到指定FTP目录以外的其他目录。

chroot_list_file=/etc/vsftpd.chroot_ list: 用于指定用户列表文件, 该文件用于控制哪些用户可以切换到指定FTP目录以外的其他目录。

(4) 设置用户访问控制。

对用户的访问控制由/etc/vsftpd.user_list和/etc/vsftpd.ftpusers文件控制。 /etc/vsft⁃pd.ftpusers文件专门用于设置不能访问FTP服务器的用户列表。 而/etc/vsftpd.user_list由下面的参数决定。

userlist_enable=yes:取值为yes时/etc/vsftpd.user_list文件生效, 取值为no时/etc/vsft⁃pd.user_list文件不生效。

userlist_deny=yes:设置/etc/vsftpd.user_list文件中的用户是否允许访问FTP服务器。若设置为yes时, 则/etc/vsftpd.user_list文件中的用户不能访问FTP服务器; 若设置为no时,则只有/etc/vsftpd.user_list文件中的用户才能访问FTP服务器。

(5) 设置主机访问控制。

tcp_wrappers=yes:设置是否支持tcp_wrappers。 若取值为yes, 则由/etc/hosts.allow和/etc/hosts.deny文件中的内容控制主机或用户的访问。 若取值为no, 则不支持。

(6) 设置FTP服务的启动方式及监听IP。

vsftpd服务既可以以独立方式启动, 也可以由xinetd进程监听以被动方式启动。

listen=yes:若取值为yes则vsftpd服务以独立方式启动。 如果想以被动方式启动, 将本行注释掉即可。

listen_address=IP:设置监听FTP服务的IP地址, 适合于FTP服务器有多个IP地址的情况。 如果不设置, 则在所有的IP地址监听FTP请求。 只有vsftpd服务在独立启动方式下才有效。

(7) 与客户连接相关的设置。

anon_max_rate=0:设置匿名用户的最大传输速度,若取值为0,则不受限制。

local_max_rate=0:设置本地用户的最大传输速度,若取值为0,则不受限制。

max_clients=0:设置vsftpd在独立启动方式下允许的最大连接数, 若取值为0, 则不受限制。

max_per_ip=0: 设置vsftpd在独立启动方式下允许每个IP地址同时建立的连接数目。若取值为0, 则不受限制。

accept_timeout=60:设置建立FTP连接的超时时间间隔,以秒为单位。

connect_timeout=120:设置FTP服务器在主动传输模式下建立数据连接的超时时间, 单位为秒。

data_connect_timeout=120:设置建立FTP数据连接的超时时间,单位为秒。

idle_session_timeout=600:设置断开FTP连接的空闲时间间隔,单位为秒。

pam_service_name=vsftpd:设置PAM所使用的名称。

(8) 设置上传文档的所属关系和权限。

chown_uploads=yes: 设置是否改变匿名用户上传文档的属主。 默认为no。 若设置为yes, 则匿名用户上传的文档属主将由chown_username参数指定。

chown_username=whoever:设置匿名用户上传文档的属主。建议不要使用root。

file_open_mode=755:设置上传文档的权限。

(9) 设置数据传输模式。

FTP客户端和服务器端在传输数据时, 既可以采用二进制方式, 也可以采用ASCII码方式。

ascii_download_enable=yes:设置是否启用ASCII码模式下载数据。默认为no。

ascii_upload_enable=yes:设置是否启用ASCII码模式上传数据。默认为no。

2. 建立维护网站内容的本地用户user1和user2并禁止本地登录, 然后设置其密码

输入命令如下:

[root@RHEL6~]#useradd -s /sbin/nologin user1

[root@RHEL6~]#useradd -s /sbin/nologin user2

[root@RHEL6~]#passwd user1

[root@RHEL6~]#passwd user2

3. 创建上传根目录并修改其权限

输入命令如下:

[root@RHEL6~]##mkdir -p /var/www/html //创建目录

[root@RHEL6~]#ll -d /var/www/html //显示目录属性

drwxr-xr-x2rootroot409611-1418:46/var/www/html

[root@RHEL6~]#chmod -R o+w /var/www/html //修改目录权限

[root@RHEL6~]#ll -d /var/www/html //显示目录属性

drwxr-xrwx2rootroot409611-1418:46/var/www/html

[root@ftp_server~]#echo "thisiswww.RHEL6.edu′sweb">

4. 修改安全上下文使上传根目录具有写入 (上传) 的功能

[root@ftp_server~]#chcon -t public_content_rw_t /var/www/html

5. 配置vsftpd.conf主配置文件并作相应修改

[root@ftp_server~]#vim /etc/vsftpd/vsftpd.conf

//查找或添加以下行并修改之, 其他配置行保持默认

anonymous_enable=no //禁止匿名用户登录

local_enable=yes //允许本地用户登录

write_enable=yes

local_umask=022

local_root=/var/www/html //设置本地用户的根目录为/var/www/html

chroot_local_user=yes

chroot_list_enable=yes //开启能锁定用户的chroot功能

chroot_list_file=/etc/vsftpd/chroot_list //设置锁定用户在根目录中的列表文件

userlist_enable=yes

//保存退出

6. 建立/etc/vsftpd/chroot_list文件并添加user1和user2账号

[root@RHEL6~]#vim /etc/vsftpd/chroot_list

User1

user2

7. 修改SELinux允许本地用户登录

[root@ftp_server~]#getsebool -a|grepftp

//查看与ftp有关的所有SELinux的布尔值

[root@ftp_server~]#setsebool -P ftp_home_dir on

8. 重启vsftpd服务使配置生效并开启21号端口

[root@ftp_server~]#service vsftpd restart

[root@ftp_server~]#iptables -I INPUT -p tcp --dport21 -j ACCEPT

9. 登录

在客户端IE浏览器的地址栏中输入 “ftp: //172.16.102.61” 后按Enter键, 在打开的FTP登录窗口中输入用户名和密码,单击“登录” 按钮,如图5-2所示。

图5-2 IE浏览器登录FTP

10. 上传和下载

从FTP登录窗口内拖拽文件 (夹) 到本地硬盘 (E:) 的窗口完成下载, 从本地硬盘(E:) 的窗口内将文件(夹) 拖拽到FTP登录窗口完成上传,如图5-3所示。

图5-3 FTP和本地硬盘间的文件传递

11. 测试在物理机的字符

其界面如图5-4所示。

图5-4 测试字符界面结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈