网络文件共享--(一)FTP

本文介绍如何在CentOS 6上快速部署VSFTPD服务,包括安装软件包、准备虚拟账号、配置服务及测试连通性等步骤,并详细说明如何为不同虚拟账户配置不同的权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速部署FTP


一、安装软件包

[root@CentOS6 ~]$yum install vsftpd  #服务器安装软件包
[root@CentOS6 ~]$yum install ftp     #客户端安装软件包

二、准备虚拟账号
(1)生成账号数据库文件

[root@CentOS6 ~]$cd /etc/vsftpd/
[root@CentOS6 /etc/vsftpd]$vim /etc/vsftpd/vusers.txt
tom        #奇数行为虚拟账号
123123     #偶数行为密码
jerry
123123
[root@CentOS6 /etc/vsftpd]$db_load -T -t hash -f vusers.txt vusers.db

-T 允许应用程序能够将文本文件转译载入进数据库
-t 指定转译载入数据库类型
hash 使用hash加密
-f 指定账户文本文件

(2)创建pam配置文件

[root@CentOS6 /etc/vsftpd]$vim /etc/pam.d/vsftpd.db
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required  pam_userdb.so db=/etc/vsftpd/vusers

db后指定的是生成的数据库文件,只是省略了后缀

(3)准备系统账号及其ftp服务根目录

[root@CentOS6 /etc/vsftpd]$useradd -d /var/ftproot -s /sbin/nologin vuser
[root@CentOS6 /etc/vsftpd]$chmod 755 /var/ftproot

-d 指定家目录
-s 指定shell类型
并给创建的根目录设置权限

(4)配置vsftpd

[root@CentOS6 /etc/vsftpd]$vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.db
guest_enable=YES
guest_username=vuser

指定pam模块
开启虚拟帐号映射
指定映射系统账号

三、测试服务连通性
(1)关闭SElinux

[root@CentOS6 /etc/vsftpd]$setenforce 0
[root@CentOS6 /etc/vsftpd]$getenforce 
Permissive

(2)关闭防火墙

[root@CentOS6 ~]$service iptables stop
[root@CentOS6 ~]$service iptables status
iptables: Firewall is not running.

(3)重载服务

[root@CentOS6 /etc/vsftpd]$service vsftpd reload
Starting vsftpd for vsftpd:                       [  OK  ]

(4)在客户端测试连通

[root@CentOS6 ~]$ftp 172.18.46.162      #尝试IP登录指定ftp服务器
Connected to 172.18.46.162 (172.18.46.162).
220 (vsFTPd 2.2.2)
Name (172.18.46.162:root): tom      #输入虚拟账号
331 Please specify the password.
Password:        #输入对应密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

登录成功


五、配置不同虚拟账户权限
(一)创建账号配置目录

[root@CentOS6 /etc/vsftpd]$mkdir /etc/vsftpd/vusers.d
[root@CentOS6 /etc/vsftpd]$vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers.d

在vsftp主配置文件中制定配置目录位置

(二)准备各账号配置文件

[root@CentOS6 /etc/vsftpd]$touch vusers.d/tom
[root@CentOS6 /etc/vsftpd]$touch vusers.d/jerry
[root@CentOS6 /etc/vsftpd]$vim vusers.d/tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@CentOS6 /etc/vsftpd]$vim vusers.d/jerry
local_root=/app/ftproot

tom账号设置:允许上传 允许创建 允许删除修改
jerry账号设置:指定默认根目录

(三)基于新根目录给映射系统账号授以响应权限

[root@CentOS6 /etc/vsftpd]$setfacl -m u:vuser:rwx /app/ftproot
[root@CentOS6 /etc/vsftpd]$getfacl /app/ftproot/
getfacl: Removing leading '/' from absolute path names
/# file: app/ftproot/
/# owner: root
/# group: root
user::rwx
user:vuser:rwx
group::r-x
mask::rwx
other::r-x

六、最终测试结果
(1)测试tom账户权限

[root@CentOS6 ~]$ftp 172.18.46.162
Connected to 172.18.46.162 (172.18.46.162).
220 (vsFTPd 2.2.2)
Name (172.18.46.162:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls    #查看
227 Entering Passive Mode (172,18,46,162,129,48).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Oct 11 07:12 check
226 Directory send OK.
ftp> put /app/46-reset.sh 46-reset.sh  #测试上传权限
local: /app/46-reset.sh remote: 46-reset.sh
227 Entering Passive Mode (172,18,46,162,176,251).
150 Ok to send data.
226 Transfer complete.
1872 bytes sent in 0.0883 secs (21.19 Kbytes/sec)
ftp> mkdir shiyan    #测试创建权限
257 "/shiyan" created
ftp> ls
227 Entering Passive Mode (172,18,46,162,63,153).
150 Here comes the directory listing.
-rw-------    1 501      501          1872 Oct 11 09:22 46-reset.sh
drwxr-xr-x    2 0        0            4096 Oct 11 07:12 check
drwx------    2 501      501          4096 Oct 11 09:22 shiyan
226 Directory send OK.
ftp> rmdir shiyan   #测试删除权限
250 Remove directory operation successful.
ftp> ls
227 Entering Passive Mode (172,18,46,162,251,143).
150 Here comes the directory listing.
-rw-------    1 501      501          1872 Oct 11 09:22 46-reset.sh
drwxr-xr-x    2 0        0            4096 Oct 11 07:12 check
226 Directory send OK.

(2)测试jerry账号区别设置

[root@CentOS6 ~]$ftp 172.18.46.162
Connected to 172.18.46.162 (172.18.46.162).
220 (vsFTPd 2.2.2)
Name (172.18.46.162:root): jerry
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls    #查看,登录根目录不同于tom账号
227 Entering Passive Mode (172,18,46,162,247,140).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Oct 11 07:13 show
226 Directory send OK.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值