Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2454256
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: LINUX

2011-02-16 11:20:47

目录:
  1. 配置FTP
    1. 启动ftp
    2. 更换端口
    3. 配置用户
    4. 取消anonymous 登录
    5. 配置欢迎语
  2. 附录
    1. FTP自动登录并批量下载
    2. FTP自动登录并上传文件
    3. 配置文件示例

1、这个例子是RedHat的预设范例,直接启动vsftp。 
[root@relay vsftpd]# /sbin/service vsftpd start 
Starting vsftpd for vsftpd: OK ]

2、更换port 提供服务:将预设的port 21 更换为2121 
为了安全,或是以port 来区隔不同的ftp 服务,我们可能会将ftp port 改为21 之外的port,那么,可参考以下步骤。 
Step1. 修改/etc/vsftpd/vsftpd.conf 
新增底下一行 
listen_port=2121 
Step2. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ]

3、 特定使用者peter、john 不得变更目录 
使用者的预设目录为/home/username,若是我们不希望使用者在ftp 时能够 
切换到上一层目录/home,则可参考以下步骤。 
Step1. 修改/etc/vsftpd/vsftpd.conf 
将底下三行 
#chroot_list_enable=YES 
# (default follows) 
#chroot_list_file=/etc/vsftpd.chroot_list 
改为 
chroot_list_enable=YES 
# (default follows) 
chroot_list_file=/etc/vsftpd/chroot_list 
Step2. 新增一个档案: /etc/vsftpd/chroot_list 
内容增加两行: 
peter 
john 
Step3. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ] 
若是peter 欲切换到根目录以外的目录,则会出现以下警告: 
ftp> cd /home 
550 Failed to change directory.

或者编辑/etc/pam.d/vsftpd文件,其中
auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
/etc/vsftpd.ftpusers里面就是禁止ftp登录的用户名单
/etc/vsftpd.user_list 同样

不过这样只有默认的权限读取,不能写入
所以你必须这样操作才能写入
chmod 700 目录名
chmod 用户名 目录名


4、取消anonymous 登入 
若是读者的主机不希望使用者匿名登入,则可参考以下步骤。 
Step1. 修改/etc/vsftpd/vsftpd.conf 
将 
anonymous_enable=YES 
改为 
anonymous_enable=NO 
Step2. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ]

5、安排欢迎话语 
若是我们希望使用者在登入时,能够看到欢迎话语,可能包括对该主机的说明,或是目录的介绍,可参考以下步骤。 
首先确定在/etc/vsftpd/vsftpd.conf 当中是否有底下这一行 
dirmessage_enable=YES 
RedHat9 的默认值是有上面这行的。 
接着,在各目录之中,新增名为.message 的档案,再这边假设有一个使用者test1,且此使用者的根目录下有个目录名为abc,那首先我们在/home/test1 
之下新增.message,内容如下: 
Hello~ Welcome to the home directory 
This is for test only... 
接着,在/home/test1/abc 的目录下新增.message,内容如下: 
Welcome to abc‘s directory 
This is subdir... 
那么,当使用者test1 登入时,会看到以下讯息: 
230- Hello~ Welcome to the home directory 
230- 
230- This is for test only... 
230- 
若是切换到abc 的目录,则会出现以下讯息:

附录:
【1】FTP自动登录并批量下载
#!/bin/bash
FTP -n< open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!
【2】FTP自动登录并上传文件
#!/bin/bash
FTP -n< open 192.168.1.171
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye 

【3】配置文件示例
编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):

anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #开启本地用户登录
local_umask=022 #新建文件权限
xferlog_enable=YES #开启日志记录功能
connect_from_port_20=YES #开启20端口数据传输
xferlog_std_format=YES #日志记录格式
listen=YES #监听
write_enable=YES #对文件有写的权限
anon_upload_enable=YES #允许匿名上传
anon_mkdir_write_enable=YES#允许匿名用户新建目录
anon_other_write_enable=YES #是否拥有其他权限
one_process_model=NO
chroot_local_user=YES
ftpd_banner=Welcom to my FTP server.
anon_world_readable_only=NO
guest_enable=YES
guest_username=virtual_user
pam_service_name=vsftp.vu



  上面代码中,guest_enable=YES表示启用虚拟用户;guest_username=virtual则是将虚拟用户映射为本地用户,这样虚拟 用户登录后才能进入本地用户virtual的目录/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件为 vsftp.vu。

阅读(1498) | 评论(0) | 转发(0) |
0

上一篇:Linux 用户管理

下一篇:查看进程的端口号

给主人留下些什么吧!~~