Linux下搭建FTP并开放相应端口
1、 FTP安装步骤如下:进入安装界面,按提示操作即可完成。
2、 通过yum命令可直接安装FTP服务
3、 启动和关闭FTP服务的命令
4、 启动服务:执行命令开启 vsftpd 服务进程。
5、 停止服务:执行命令关闭 vsftpd 服务。
6、 安装完成后,可用FTP软件在本地连接,账号密码默认为虚拟机的登录凭证。
7、 在Linux系统中创建FTP用户,限定其仅能访问自身主目录,且主目录显示为根路径/,无法查看上级目录,实现安全隔离的文件传输环境。
8、 创建用户test,设置密码123456,主目录指定为/home/ftp/test。
9、 在Linux系统中创建一个名为test的用户。
10、 使用ftp账户登录系统后,创建test用户的主目录/home/ftp/test,执行命令:mkdir /home/ftp/test。
11、 使用root账户登录系统后,执行命令创建新用户并指定主目录:useradd -d /home/ftp/test test,该命令将为用户test建立专属目录结构。
12、 分配密码并执行输入指令操作
13、 此时执行命令查看系统用户信息:cat /etc/passwd。
14、 用户配置信息显示为:test:x:504:504::/home/ftp/test:/bin/bash,其中包含用户名、用户ID、组ID、家目录路径及默认shell等信息。
15、 系统已为用户分配新的用户ID和组ID,均为504。为实现文件对ftp用户的访问权限,可将test用户加入组ID为500的ftp组,从而确保其文件在该组内可被共享访问。
16、 将用户加入新用户组,执行命令: usermod -g ftp test。此操作会更改用户的主用户组为ftp组。
17、 现在执行命令查看系统用户信息:cat /etc/passwd。
18、 用户配置信息显示为:test:x:504:500::/home/ftp/test:/bin/bash,其中包含用户名、用户ID、组ID、家目录路径及默认 shell。
19、 设置用户FTP权限并限制访问路径。
20、 使用test账户登录FTP系统,查看能否正常访问。若无法进入,则表明该FTP已设置访问限制。
21、 编辑 /etc/vsftpd/vsftpd.conf 文件,找到 userlist_enable、userlist_deny 和 userlist_file 这三个配置项,根据需要进行修改以控制用户访问权限。
22、 当userlist_deny设置为NO时,仅允许userlist_file文件中列出的用户访问FTP服务,其他用户均被拒绝。
23、 当userlist_deny设置为YES时,userlist_file文件中列出的用户将被禁止通过FTP访问系统,而userlist_enable用于控制此功能的启用与否。当前系统的配置情况如下所示:
24、 需将用户test添加至/etc/vsftpd/user_list文件,每个用户独占一行。
25、 由于该主目录由FTP用户创建,而test属于ftp用户组,因此test默认拥有对该目录的读写执行权限。同时,作为ftp组成员,test对/home/ftp下的各个子目录也可能具备访问权限,具体取决于各目录的权限设置。登录FTP后会发现,test用户能够访问超出其主目录范围的其他路径,并享有组内权限,这存在安全隐患,不符合最小权限原则。为确保安全,必须将test用户的访问权限严格限制在其个人主目录内。可通过配置chroot机制或调整目录权限实现,使用户登录后无法跳转至上级或其他敏感目录,从而实现访问隔离。
26、 进入FTP配置目录:cd /etc/vsftpd。
27、 编辑 vi vsftpd.conf 文件,找到 chroot_list_enable=YES 这一行,去掉前面的 号,启用该限制功能,从而实现对用户访问目录的控制。
28、 查找配置文件中的 chroot_list_file 项,其路径为 /etc/vsftpd/chroot_list,用于指定用户根目录限制列表的存放位置。
29、 编辑chroot_list文件,将需限制的用户名test逐行添加,每个用户占一行。
30、 若提示无写入权限,需在vsftpd.conf配置文件中添加allow_writeable_chroot=YES以开启可写权限支持。
31、 更新vsftpd.conf后需重启FTP服务,执行相应命令即可生效。
32、 可通过执行命令/etc/init.d/vsftpd restart或service vsftpd restart来重启FTP服务,确保配置生效并恢复文件传输功能,适用于系统中使用vsftpd作为FTP服务器的情况。
33、 通过FTP使用test账户登录系统,用户成功进入并被限定在主目录中,无法访问其他目录。
34、 在配置文件 /etc/vsftpd/vsftpd.conf 中添加相应设置项。
35、 重启vsftpd服务,执行命令:service vsftpd restart。
36、 编辑 /etc/sysconfig/iptables 文件,使用 vim 打开进行配置修改。
37、 开启20和21端口,允许新的TCP连接通过multiport模块指定多个目标端口进行访问。针对21端口单独设置一条规则,启用主动模式下的FTP服务,允许状态为NEW的TCP连接进入系统。同时,为支持被动模式传输,需开放30000至31000范围内的高位端口,确保数据连接可正常建立。所有规则均作用于INPUT链,通过匹配协议类型、端口号及连接状态,控制入站流量的放行策略。配置完成后,能够满足FTP服务在主动与被动模式下的通信需求,保障文件传输过程中控制连接与数据连接的顺利通行。此方案兼顾安全性与功能性,确保仅必要端口对外开放。
评论
更多评论