请问Linux中,配置ftp服务的配置文件的时候,每行前面的”#”linux中 是什么意思思

* /etc/inetd.conf 文件
众所周知,作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证。所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80 和25端口,而将其他无关的服务如:finger auth等服务关掉,以减少系统漏洞。
而inetd,也叫作&超级服务器&,就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。inetd.conf则是inetd的配置文件。inetd.conf文件告诉inetd监听哪些网络端口,为每个端口启动哪个服务。在任何的网络环境中使用Linux系统,第一件要做的事就是了解一下服务器到底要提供哪些服务。不需要的那些服务应该被禁止掉,最好卸载掉,这样黑客就少了一些攻击系统的机会。查看&/etc/inetd.conf&文件,了解一下inetd提供哪些服务。用加上注释的方法(在一行的开头加上#号),禁止任何不需要的服务,再给inetd进程发一个SIGHUP信号。
第一步:把文件的许可权限改成600。
[root@deep]# chmod 600 /etc/inetd.conf
第二步:确信文件的所有者是root。
[root@deep]# stat /etc/inetd.conf
第三步:编辑&inetd.conf&文件(vi /etc/inetd.conf),禁止所有不需要的服务,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、auth,等等。如果你觉得某些服务有用,可以不禁止这些服务。但是,把这些服务禁止掉,系统受攻击的可能性就会小很多。改变后的&inetd.conf&文件的内容如下面所示:inetd.conf
为了保证&inetd.conf&文件的安全,可以用chattr命令把它设成不可改变。把文件设成不可改变的只要用下面的命令:
[root@deep]# chattr +i /etc/inetd.conf
这样可以避免&inetd.conf&文件的任何改变(意外或是别的原因)。一个有&i&属性的文件是不能被改动的:不能删除或重命名,不能创建这个文件的链接,不能往这个文件里写数据。只有系统管理员才能设置和清除这个属性。如果要改变inetd.conf文件,你必须先清除这个不允许改变的标志: [root@deep]# chattr -i /etc/inetd.conf
但是对于诸如sendmail,named,www等服务,由于它们不象finger,telnet等服务,在请求到来时由inet守护进程启动相应的进程提供服务,而是在系统启动时,作为守护进程运行的。而对于redhat linux,提供了一个linuxconfig命令,可以通过它在图形界面下交互式地设置是否在启动时运行相关服务。也可以通过命令来设置是否启动时启动某个服务,如:[root@deep]# chkconfig &level 35 named off
具体命令可以参考man chkconfig的说明。
* /etc/hosts.allow 文件
但是对于telnet、ftp等服务,如果将其一同关闭,那么对于管理员需要远程管理时,将非常不方便。Linux提供另外一种更为灵活和有效的方法来实现对服务请求用户的限制,从而可以在保证安全性的基础上,使可信任用户使用各种服务。Linux提供了一个叫TCP wrapper的程序。在大多数发布版本中该程序往往是缺省地被安装。利用TCP wrapper你可以限制访问前面提到的某些服务。而且TCP wrapper的记录文件记录了所有的企图访问你的系统的行为。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接你的系统。
在/etc目录下,有两个文件:hosts.deny hosts.allow 通过配置这两个文件,你可以指定哪些机器可以使用这些服务,哪些不可以使用这些服务。
当服务请求到达服务器时,TCP wrapper就按照下列顺序查询这两个文件,直到遇到一个匹配为止:
1.当在/etc/hosts.allow里面有一项与请求服务的主机地址项匹配,那么就允许该主机获取该服务
2.否则,如果在/etc/hosts.deny里面有一项与请求服务的主机地址项匹配,就禁止该主机使用该项服务。
3.如果相应的配置文件不存在,访问控制软件就认为是一个空文件,所以可以通过删除或者移走配置文件实现对清除所有设置。在文件中,空白行或者以#开头的行被忽略,你可以通过在行前加 # 实现注释功能。
配置这两个文件是通过一种简单的访问控制语言来实现的,访问控制语句的基本格式为:
程序名列表:主机名/IP地址列表。
程序名列表指定一个或者多个提供相应服务的程序的名字,名字之间用逗号或者空格分割,可以在inetd.conf文件里查看提供相应服务的程序名:如上面的文件示例中,telent所在行的最后一项就是所需的程序名:in.telnetd。
主机名/IP地址列表指定允许或者禁止使用该服务的一个或者多个主机的标识,主机名之间用逗号或空格分隔。程序名和主机地址都可以使用通配符,实现方便的指定多项服务和多个主机。
Linux提供了下面灵活的方式指定进程或者主机列表:
1.一个以&.&起始的域名串,如 . 那么就和这一项匹配
2.以&.&结尾的IP串如 202.37.152. 那么IP地址包括202.37.152. 的主机都与这一项匹配。
3.格式为n.n.n.n/m.m.m.m表示网络/掩码,如果请求服务的主机的IP地址与掩码的位与的结果等于n.n.n.n 那么该主机与该项匹配。
4.ALL表示匹配所有可能性
5.EXPECT表示除去后面所定义的主机。如:list_1 EXCEPT list_2 表示list_1主机列表中除去List_2所列出的主机
6.LOCAL表示匹配所有主机名中不包含&.&的主机
上面的几种方式只是Linux提供的方式中的几种,但是对于我们的一般应用来说是足够了。我们通过举几个例子来说明这个问题:
例一:我们只希望允许同一个局域网的机器使用服务器的ftp功能,而禁止广域网上面的ftp服务请求,本地局域网由 202.39.154.、202.39.153.和202.39.152. 三个网段组成。
在hosts.deny文件中,我们定义禁止所有机器请求所有服务:
在hosts.allow文件中,我们定义只允许局域网访问ftp功能:
in.ftpd -l &a: 202.39.154 202.39.153. 202.39.152.
这样,当非局域网的机器请求ftp服务时,就会被拒绝。而局域网的机器可以使用ftp服务。此外,应该定期检查/var/log目录下的纪录文件,发现对系统安全有威胁的登录事件。last命令可以有效的查看系统登录事件,发现问题所在。
最后tcpdchk是检查TCP_WAPPERS配置的程序。它检查TCP_WAPPERS的配置,并报告它可以发现的问题或潜在的问题。在所有的配置都完成了之后,请运行tcpdchk程序:
[root@deep]# tcpdchk
* /etc/services 文件
端口号和标准服务之间的对应关系在RFC 1700 &Assigned Numbers&中有详细的定义。&/etc/services&文件使得服务器和客户端的程序能够把服务的名字转成端口号,这张表在每一台主机上都存在,其文件名是&/etc/services&。只有&root&用户才有权限修改这个文件,而且在通常情况下这个文件是没有必要修改的,因为这个文件中已经包含了常用的服务所对应的端口号。为了提高安全性,我们可以给这个文件加上保护以避免没有经过授权的删除和改变。为了保护这个文件可以用下面的命令:
[root@deep]# chattr +i /etc/services
* /etc/securetty 文件
&/etc/securetty&文件允许你规定&root&用户可以从那个TTY设备登录。登录程序(通常是&/bin/login&)需要读取&/etc/securetty&文件。它的格式是:列出来的tty设备都是允许登录的,注释掉或是在这个文件中不存在的都是不允许root登录的。
注释掉(在这一行的开头加上#号)所有你想不让root登录的tty设备。
编辑securetty文件(vi /etc/securetty)象下面一样,注释掉一些行:
* 使Control-Alt-Delete关机键无效
把&/etc/inittab&文件中的一行注释掉可以禁止用Control-Alt-Delete关闭计算机。如果服务器不是放在一个安全的地方,这非常重要。
编辑inittab文件(vi /etc/inittab)把这一行:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
用下面的命令使改变生效:
[root@deep]# /sbin/init q
* 改变&/etc/rc.d/init.d/&目录下的脚本文件的访问许可
 /etc/rc.d/init.d/下的脚本主要包含了启动服务的脚本程序。一般用户没有什么必要知道脚本文件的内容。所以应该改变这些脚本文件的权限。
[root@deep]# chmod -R 700 /etc/rc.d/init.d/*
这样只有root可以读、写和执行这个目录下的脚本。
* /etc/rc.d/rc.local 文件
在默认情况下,当登录装有Linux系统的计算机时,系统会告诉你Linux发行版的名字、版本号、内核版本和服务器名称。这泄露了太多的系统信息。最好只显示一个&Login:&的提示信息。
编辑&/ect/rc.d/rc.local&文件,在下面这些行的前面加上&#&:
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo && & /etc/issue
#echo &$R& && /etc/issue
#echo &Kernel $(uname -r) on $a $(uname -m)& && /etc/issue
#cp -f /etc/issue /etc/issue.net
#echo && /etc/issue
删除&/etc&目录下的&issue.net&和&issue&文件:
[root@deep]# rm -f /etc/issue
[root@deep]# rm -f /etc/issue.net
注意:&/etc/issue.net&文件是用户从网络登录计算机时(例如:telnet 、SSH),看到的登录提示。同样在&&目录下还有一个&issue&文件,是用户从本地登录时看到的提示。这 两个文件都是文本文件,可以根据需要改变。但是,如果想删掉这两个文件,必须向上面介绍的那样把 &/etc/rc.d/rc.local&脚本中的那些行注释掉,否则每次重新启动的时候,系统又会重新创建这两个文件。
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号3629人阅读
1: 安装vsftpd
#aptitude install vsftpd
2:配置 vsftpd
#vim /etc/vsftpd.conf
# 服务器以standalong模式运行,这样可以进行下面的控制
listen=YES
# 接受匿名用户
anonymous_enable=YES
# 匿名用户login时不询问口令
no_anon_password=YES
# 接受本地用户
local_enable=YES
# 可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES,
# 若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿名用户上传,所以不设置这两项
write_enable=YES
# 本地用户上传文件的umask
local_umask=022
# 如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对上
# 层目录的写入权。
anon_upload_enable=YES
# 定义匿名登入的使用者名称。默认值为ftp
ftp_username=ftp
# 如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层目录
# 的写入权。
anon_mkdir_write_enable=YES
# 为YES则进入目录时显示此目录下由message_file选项指定的文本文件
# (,默认为.message)的内容
dirmessage_enable=YES
# 本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录
# (/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root
# local_root=/home
anon_root=/home/ftp/
# 使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file
# 选项修改
xferlog_enable=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
# 日志使用标准xferlog格式
xferlog_std_format=YES
# You may change the default value for timing out a data connection.
data_connection_timeout=120
# 关闭本地用户chroot()
chroot_local_user=NO
# 设置为yes则下面的控制有效。
# 开启要设置chroot()用户项.
chroot_list_enable=YES
# (default follows)
# 指定要设置chroot()的特定用户文件
chroot_list_file=/etc/vsftpd.chroot_list
# 若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)
# 中的用户无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES
# 若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)
# 中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_deny=NO
# 注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将
# 无法login!!
# 匿名用户的传输比率(b/s)
anon_max_rate=512000
# 本地用户的传输比率(b/s)
local_max_rate=1024000
# 可接受的最大client数目
max_clients=100
# 每个ip的最大client数目
max_per_ip=5
# This option should be the name of a directory which is empty.
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem access.
secure_chroot_dir=/var/run/vsftpd
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
tcp_wrappers=YES
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
# 每一个联机,都能以独立的process 来呈现.
setproctitle_enable=YES
# 若是启动,所有匿名上传数据的拥有者将被更换为chown_username当中所设定的使用
# 者。这样的选项对于安全及管理,是很有用的。
chown_uploads=YES
# 这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称。预
# 设值为root。
chown_username=root
3: 增加用户名 用户组
#groupadd ftpuser
#mkdir /home/tom/
#useradd -g ftpuser tom
passwrd tom
4:修改权限
#vim /etc/passwd
最后面是权限
tom:x:::/home/tom:
增加/bin/bash
tom:x:::/home/tom:/bin/bash
更改文件所有者权限
#chown -v -R tom:ftpuser /home/tom/
#chmod -v -R 700 /home/tom/
共享给ftpuser组一个文件夹,做一个连接
#ln -v -s /home/ftpuser/ /home/tom/ftpuser
设置欢迎信息,在每个用户的文件夹中新建.message
编辑/etc/vsftpd.user_list 填写所有ftp的用户,包括匿名的anonymous
编辑/etc/vsftpd.chroot_list 填写不准进入上层目录的用户名
给/home/ftp/ 中允许匿名写的目录的修改权限,没有新建
保存后重启vsftpd
#/etc/init.d/vsftpd restart
chmod -v 777 /home/ftp/temp/
5. vsftpd的log默认在/var/log/vsftpd.log&
ftp的目录在/home/ftp
如果用户登录报错530&
那么检查下/etc/passwd 的shell,改为/sbin/ nologin
并且在 /etc/shell里面加入上面的地址 保存后重启vsftpd
要挂载非ftp的目录,比如其他的路径,使用mount --bind
比如要挂在/home/music 到/home/ftp/music &先mkdir /home/ftp/music
#mount --bind /home/music /home/ftp/music
如果需要重启后自动mount,需要修改/etc/fstab
加入需要mount的 device name , mount point , filessystem, options
或者直接在/etc/rc.local 里面把mount 命令加入让它开机自动mount&
mount --bind /home/media/ /home/ftpuser/media/
mount --bind /home/manual/ /home/ftpuser/manual/
mount --bind /home/tools/ /home/ftpuser/software/
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:471657次
积分:5668
积分:5668
排名:第2222名
原创:148篇
转载:12篇
评论:126条
文章:91篇
阅读:229368
(1)(2)(1)(1)(1)(1)(4)(1)(2)(1)(1)(2)(1)(4)(3)(3)(2)(4)(1)(1)(2)(2)(2)(3)(6)(2)(1)(3)(2)(4)(5)(4)(1)(1)(2)(1)(2)(4)(9)(5)(3)(1)(7)(5)(1)(3)(16)(2)(3)(5)(2)(5)(10)在Linux系统下配置FTP服务器时,配置文件修改好后,在Linux下用命令如何测试???_百度知道
在Linux系统下配置FTP服务器时,配置文件修改好后,在Linux下用命令如何测试???
提问者采纳
你好1.首先,配置文件修改后,先要重新启用ftp服务器守护进程,不同的ftp服务器不同2.其次,使用命令 &netstat -ant | grep 21& (不含引号)查看系统是否打开了21端口,当然前提是你并没有修改默认端口3.使用 &telnet localhost 21&(不含引号)尝试连接本机21端口,如果提示拒绝连接说明端口没有打开或ftp服务器错误4.在启用防火墙的情况下,配置相应的规则以使服务器可对外访问希望有用
其他类似问题
为您推荐:
您可能关注的推广
ftp服务器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看:7993|回复:3
FTP服务器默认使用TCP协议的20,21端口与客户端进行通信。21端口用于建立控制连接,并传输FTP控制命令,20端口用于建立数据连接,并传输文件数据。
[root@linux ~]# rpm -ivh /media/RHEL_5.5\ i386\ DVD/Server/vsftpd-2.0.5-16.el5_4.1.i386.rpm
warning: /media/RHEL_5.5 i386 DVD/Server/vsftpd-2.0.5-16.el5_4.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID
Preparing...& && && && && & ########################################### [100%]
& &1:vsftpd& && && && && & ########################################### [100%]
[root@linux ~]#
安装好vsftp软件包后,将自动添加vsftp系统服务,通过“/etc/init.d/vsftp”脚本可以控制vsftp服务的启动和终止,而无须手动执行“/usr/sbin/vsftpd”程序。
vsftp服务的配置文件默认位于/etc/vsftp/文件夹中,主要包括用户控制列表文件(ftpusers, user_list)和主配置文件(vsftpd.conf)。
ftpusers和user_list文件中包含一份FTP用户的列表,两个文件虽然都用于FTP用户的控制,但是具体作用存在一些差异
ftpusers文件:该文件包含的用户账户将被禁止登录vsftp服务器,不管该用户是否在user_list文件中出现。通常将root,bin,daemon等特殊用户在该文件中,禁止用于登录FTP服务
user_list文件:该文件中包含的用户账户可能被禁止登录,也可能被允许登录,具体在主配置文件vsftpd.conf中决定。当存在“userlist_enable=YES”配置项时,user_list文件生效,如果配置“userlist_deny=YES” 则仅禁止列表中的用户账户登录,如果配置“userlist=deny=NO”则仅允许列表中的用户账户登录
ftpusers文件为vsftpd服务器提供了一份用于禁止登录的FTP用户列表,而user_list文件提供了一份可灵活控制的FTP用户列表。二者相互结合,为FTP用户控制提供了良好的基础。
vsftpd.conf常见配置项及含义说明
作用范围 配置项及示例 含义说明& &
匿名用户 anonymous_enable=YES 是否允许匿名访问& &
&&anon_umask=022 设置匿名用户所上传文件的默认权限掩码值& &
&&anon_root=/var/ftp 设置匿名用户的FTP根目录(缺省为/var/ftp)& &
&&anon_upload_enable=YES 是否允许匿名用户上传文件& &
&&anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的写入权限& &
&&anon_other_write_enable=YES 是否允许匿名用户有其他写入权限。如对文件改名,覆盖及删除文件& &
&&anon_max_rate=0 限制匿名用户的最大传输速率(0为无限制)单位为字节& &
本地用户 local_enable=YES 是否允许本地系统用户访问& &
&&local_umask=022 设置本地用户所上传文件的默认权限掩码值& &
&&local_root=/var/ftp 设置本地用户的FTP根目录(却省为用户的宿主目录)& &
&&chroot_local_user=YES 是否将FTP本地用户禁止在宿主目录中& &
&&local_max_rate=0 限制本地用户的最大传输速率(0为无限制)单位为字节& &
全局配置 listen=YES 是否以独立运行的方式监听服务& &
&&listen_port=21 设置监听FTP服务的端口号& &
&&write_enable=YES 启用任何形式的写入权限(如上传,删除文件等)都需要开启此项& &
&&download_enable=YES 是否允许下载文件(建立仅限于浏览,上传的FTP服务器是可将其设为NO)& &
&&dirmessage_enable=YES 用户切换进入目录时显示 .message文件(如果存在)的内容& &
&&xferlog_enable=YES 启用xferlog日志,默认记录到“/var/log/xferlog”文件& &
&&xferlog_std_format=YES 启用标准的xferlog日志格式,若禁用次选项,将使用vsftp自己的日志格式& &
&&connect_from_port_20=YES 允许服务器主动模式(从20端口建立数据连接)& &
&&pasv_enable=YES 允许被动模式连接& &
&&pasv_max_port=24600 设置用于被动模式的服务器最大端口号& &
&&pasv_min_port=24500 设置用于被动模式的服务器最小端口号& &
&&pam_service_name=vsftpd 设置用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名)& &
&&userlist_enable=YES 是否启用user_list用户列表文件& &
&&userlist_deny=YES 是否禁止user_list列表文件中的用户账号& &
&&max_per_ip=0 对来自相同IP地址的客户端,最多允许多个并发连接(0为无限制)& &
&&tcp_wrappers=YES 是否启用TCP_Wrappers主机访问控制(TCP_Wrappers的应用将在后来课程中讲解)&&
匿名FTP:访问匿名FTP服务器时不需要密码,只需要用户名“ftp”或“anonymous”即可通过验证。当需要提供公开访问的文件下载资源(如),或者上用户上传一些无需保密的数据资料时,可以选择搭建匿名FTP服务器。
匿名用户对应的系统账号为ftp,其宿主目录为“/var/ftp”该目录也就是匿名用户访问vsftp服务时所在的根目录(可以通过anon_root配置项更改)。将其中pub子目录的属主修改为ftp,保留其可写权限,可提供给匿名用户上传文件使用。
调整匿名上传目录权限,并准备下载测试文件。
[root@linux ~]# ls -dl /var/ftp/pub/& &&&//查看vsftp的根目录权限
drwxr-xr-x 2 root root -04 /var/ftp/pub/
[root@linux ~]# chown ftp /var/ftp/pub/& & //修改根目录的属主
[root@linux ~]# ls -dl /var/ftp/pub/& &&&//修改后的结果
drwxr-xr-x 2 ftp root -04 /var/ftp/pub/
[root@linux ~]# tar jcf /var/ftp/pub/ftpconfig.tar.bz2 /etc/vsftpd/&&//复制文件供下载测试使用
tar: 从成员名中删除开头的“/”
[root@linux ~]#
[root@linux ~]# vim /etc/vsftpd/vsftpd.conf& &//修改主配置文件
anonymous_enable=YES& &&&//允许匿名用户访问
local_enable=NO& && &//若不需要启用本地用户,可以将此项设置为NO
write_enable=YES& && &//允许开放写入权限
anon_umask=022& && &//设置匿名用户上传建立文件时的权限掩码
anon_upload_enable=YES& & //允许匿名上传文件
anon_mkdir_write_enable=YES& &//允许匿名用户创建目录
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=NO& &&&//未启用本地用户时,可以将用户列表功能禁用
tcp_wrappers=YES
…..上下配置文件中以#开头的注释文全为略过
如果希望匿名用户在上传目录中能够进行覆盖,删除,重命名文件等写入操作,还可以添加“anon_other_write_enable=YES”的配置项。此项配置可能带来安全性问题,应谨慎使用
[root@linux ~]# service vsftpd start& && &//启用FTP服务
为 vsftpd 启动 vsftpd:& && && && && && && && && && && && &[确定]
以命令方式访问FTP服务
[root@linux5 ~]# ftp 192.168.1.1& & //登录vsftpd服务器
Connected to 192.168.1.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.1.1:root): ftp& & //以匿名用户进行认证
331 Please specify the password.
Password:& && & //密码可以为空或任意字符
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp& ls& && &&&//查看FTP根目录下的文件,目录列表
227 Entering Passive Mode (192,168,1,1,150,9)
150 Here comes the directory listing.
drwxr-xr-x& & 2 14& && & 0& && && && &4096 Jan 09 02:27 pub
226 Directory send OK.
ftp& cd pub& && & //切换目录
250 Directory successfully changed.
ftp& ls& && &&&//确定是否切换
227 Entering Passive Mode (192,168,1,1,36,86)
150 Here comes the directory listing.
-rw-r--r--& & 1 0& && &&&0& && && && &2655 Jan 09 01:50 ftpconfig.tar.bz2
226 Directory send OK.
ftp& get ftpconfig.tar.bz2& &&&//下载服务器中的ftpconfig.tar.bz2文件到本地
local: ftpconfig.tar.bz2 remote: ftpconfig.tar.bz2
227 Entering Passive Mode (192,168,1,1,59,99)
150 Opening BINARY mode data connection for ftpconfig.tar.bz2 (2655 bytes).
226 File send OK.
2655 bytes received in 0.024 seconds (1.1e+02 Kbytes/s)
ftp& put install.log& && &//上传本地的install.log文件到服务器
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,1,186,32)
150 Ok to send data.
226 File receive OK.
30057 bytes sent in 0.048 seconds (6.1e+02 Kbytes/s)
ftp& ls& && &&&//查看上传目录中的文件属性
227 Entering Passive Mode (192,168,1,1,72,154)
150 Here comes the directory listing.
-rw-r--r--& & 1 0& && &&&0& && && && &2655 Jan 09 01:50 ftpconfig.tar.bz2
-rw-r--r--& & 1 14& && & 50& && && & 30057 Jan 09 02:38 install.log
226 Directory send OK.
ftp& quit& && &&&//断开FTP连接并退出
421 Timeout.
[root@linux5 ~]# ls -lh ftpconfig.tar.bz2
-rw-r--r-- 1 root root 2.6K 01-09 10:37 ftpconfig.tar.bz2
如果只下载文件也可以使用wget工具,指定服务器地址及文件路径即可进行下载
[root@linux5 ~]# wget &&//wget工具下载
-- 10:52:24--&&
& && && &&&=& `ftpconfig.tar.bz2'
Connecting to 192.168.1.1:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==& SYST ... 完成。& & ==& PWD ... 完成。
==& TYPE I ... 完成。&&==& CWD /pub ... 完成。
==& SIZE ftpconfig.tar.bz2 ... 2655
==& PASV ... 完成。& & ==& RETR ftpconfig.tar.bz2 ... 完成。
100%[=====================================================================&] 2,655& && & --.-K/s& &in 0s& && &
10:52:24 (257 MB/s) - `ftpconfig.tar.bz2' saved [2655]
[root@linux5 ~]#
本地用户FTP
vsftpd可以直接使用linux系统的本地用户作为FTP用户,提供基于用户/密码的登录验证。使用本地用户登录FTP服务器后,默认将位于自己的宿主目录中,且在宿主目录中拥有读写权限,并允许切换到其他目录。使用chroot_local_user配置项可以将本地用户禁止锢在宿主目录中(部允许切换袋其他目录)。使用local_root配置项可以将本地用户的FTP根目录设置为同一个文件夹。
以配置一个基于本地用户并进行宽带,用户数限制的FTP服务器为例
添加FTP用户(即为本地用户)
[root@linux ~]# useradd qiao& &&&//添加用户
[root@linux ~]# passwd qiao& &&&//添加用户密码
Changing password for user qiao.
New UNIX password:& && & //设置密码
BAD PASSWORD: it is WAY too short
Retype new UNIX password:& && &//确认密码
passwd: all authentication tokens updated successfully.
[root@linux ~]# ls -lh /etc/*.conf & /home/qiao/etcconf.list&&//建立测试文件
[root@linux ~]# vim /etc/vsftpd/vsftpd.conf& &&&//修改配置文件
anonymous_enable=NO& & //若不需要启用匿名访问,可将此选项设为NO
local_enable=YES& &&&//允许本地用户访问
write_enable=YES& &&&//允许开发写入权限
local_umask=022& &&&//设置本地用户上传建立文件时的权限掩码
chroot_local_user=YES& & //为安全起见,建议将用户禁锢于其宿主目录中
max_clients=20& &&&//限制并发客户连接数位最多20个
max_per_ip=2& && &//限制来自同一IP的客户连接数最多2个
local_max_rate=102400& & //本地用户下载,上传限速为100KB/s
pasv_enable=YES& &&&//允许被动模式并设置端口范围
pasv_min_port=24500
pasv_max_port=24600
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@linux ~]# vim /etc/vsftpd/user_list
qiao& && && & //添加此行,并注释掉其他内容
[root@linux ~]# vim /etc/vsftpd/vsftpd.conf&&//修改配置文件
userlist_enable=YES& && &//添加此行时user_list列表用户禁止登录
userlist_deny=NO& && & //添加此行时user_list列表用户允许登录
[root@linux ~]# service vsftpd restart& &//重启服务
关闭 vsftpd:& && && && && && && && && && && && && && && & [确定]
为 vsftpd 启动 vsftpd:& && && && && && && && && && && && &[确定]
建立基于虚拟用户的vsftpd服务
vsftpd服务同时支持匿名用户,本地用户和虚拟用户三类账号,使用虚拟用户账号可以提供集中管理的FTP根目录,同时将于FTP登录的用户名。密码与系统用户账号区分开,进一步加强了FTP服务器的安全性。
建立虚拟用户的用户名/密码数据库
vsftpd服务的虚拟用户数据库使用Berkeley DB格式的数据文件。建立该数据库文件需要用到db_load命令工具
[root@linux ~]# rpm -ivh /media/RHEL_5.5\ i386\ DVD/Server/db4-utils-4.3.29-10.el5.i386.rpm
& && && && &&&//安装db_load命令工具
warning: /media/RHEL_5.5 i386 DVD/Server/db4-utils-4.3.29-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID
Preparing...& && && && && & ########################################### [100%]
& &1:db4-utils& && && && &&&########################################### [100%]
[root@linux ~]# vim /etc/vsftpd/vusers.list&&//建立文本格式的用户名/密码文件
usera& && && &//奇数行为用户名
123456& && && &//偶数行为上一行中用户所对应的密码
userb& && && &//第二个用户
123456& && && &//对应的密码
[root@linux ~]# cd /etc/vsftpd/& & //切换目录
[root@linux vsftpd]# db_load -T -t hash -f vusers.list vusers.db //将列表文件转化为DB数据库
[root@linux vsftpd]# file vusers.db& && & //查看文件类型
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
[root@linux vsftpd]# chown 600 /etc/vsftpd/vusers.* //降低文件权限以提供安全性
在db.load命令中,“-f”选项用于指定用户名/密码列表文件,“-T”选项允许Berkey DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项允许指定读取数据文件的基本方法。
[root@linux ~]# useradd -d /var/ftproot -s /sbin/nologin virtual //建立映射账号virtual
[root@linux ~]# chmod 755 /var/ftproot/& && &//更改FTP根目录权限
[root@linux ~]# ls -lh /boot & /var/ftproot/vutest.file& & //建立测试文件
vsftpd虚拟用户需要有一个对应的系统用户账号(该账号无需设置密码及登录Shell),该用户账号的宿主目录作为所有虚拟用户登录后共同FTP根目录。
建立PAM认证文件
PAM配置文件主要用于为程序提供用户认证控制,vsftpd服务使用的默认PAM配置文件为“/etc/pam.d/vsftpd”可以参考该文件的格式建立新的PAM配置文件,用于虚拟用户认证控制,配置时注意将db选项指定为先前建立的虚拟用户数据文件vusers(省略.db扩展名)。
[root@linux ~]# vim /etc/pam.d/vsftpd.vu
auth& && & required& &&&pam_userdb.so db=/etc/vsftpd/vusers
account& & required& &&&pam_userdb.so db=/etc/vaftpd/vusers
修改vsftpd.conf配置文件,添加虚拟用户支持
在vsftpd.conf配置文件中添加guest_enable,guest_username配置项,将访问FTP服务的所有虚拟用户对应到同一系统用户账号virtual,并修改pam_service_name配置项,指定上一步建立的PAM配置文件“/etc/pam.d/vsftpd.vu”。
anonymous_enable=NO
local_enable=YES& &&&//使用虚拟用户需要启用本地用户
write_enable=YES
anon_umask=022& &&&//设置虚拟用户所上传文件 的默认权限掩码
guest_enable=YES& &&&//启用用户映射功能
guest_username=virtual& &//将映射用户指定为virtual
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.vu& & //修改使用的PAM文件位置
userlist_enable=YES
tcp_wrappers=YES
在vsftpd服务中, 虚拟用户账号默认作为匿名用户处理以降低权限,因此对应的权限设置通常使用anon_开头的配置项。例如,在设置虚拟用户所有上传文件的默认权限掩码时应采用配置项anon_uamsk而不是local_umask。
为不同的虚拟用户建立独立的配置文件
通过前面的四个步骤,实际上已经可以重新启动vsftpd斌提供服务了,使用虚拟用账号可以登录FTP服务器并下载文件。以下步骤将设置如何为个别虚拟用户设置不同的访问权限。
修改vsftpd.conf主配置文件,添加用户配置目录支持
[root@linux ~]# vim /etc/vsftpd/vsftpd.conf //修改主配置文件
user_config_dir=/etc/vsftpd/vuser_dir&&//添加此行配置项,指定用户配置目录位置
[root@linux ~]# mkdir /etc/vsftpd/vusers_dir //创建用户配置目录
[root@linux ~]# cd /etc/vsftpd/vusers_dir/&&//切换目录
[root@linux vusers_dir]# vim usera& &//为usera用户建立独立的配置文件
anon_upload_ebanle=YES& &&&//允许用户有上传文件的权限
anon_mkdir_write_enable=YES& & //允许用户有创建目录的写入权限
[root@linux vusers_dir]# touch userb&&//为userb用户创建空配置文件(无额外权限设置)
[root@linux ~]# service vsftpd restart& &//重新启动
关闭 vsftpd:& && && && && && && && && && && && && && && & [确定]
为 vsftpd 启动 vsftpd:& && && && && && && && && && && && &[确定]
[root@linux ~]# chkconfig --list vsftpd
vsftpd& && && & 0:关闭&&1:关闭&&2:关闭&&3:关闭&&4:关闭&&5:关闭&&6:关闭
[root@linux ~]# chkconfig --level 35 vsftpd on
[root@linux ~]# chkconfig --list vsftpd
vsftpd& && && & 0:关闭&&1:关闭&&2:关闭&&3:启用&&4:关闭&&5:启用&&6:关闭
如果需要禁用或者仅允许一部分虚拟用户账号,同样可以使用“/etc/vsftpd/user_list”列表文件。需要注意的是,在“/etc/vaftpd/ftpusers”文件中加入虚拟用户名,并不能禁用对应的系统账号。
测试虚拟用户账户将得到以下结果
使用usera用户可以登录vsftpd服务器,且可以浏览,下载文件,也可以上传文件。
使用userb用户可以登录vsftpd服务器,并可以浏览,下载文件,但无法上传文件。
使用匿名用户或其他系统用户时,将不能登录该vsftpd服务器。
初级工程师
LZ帮我解释2个问题吧?
这里~这里~
mount -o noauto这个参数不管用,reboot后,还是会被挂载。
本帖最后由 黑夜迷离 于
19:25 编辑
我一只在虚拟机是用呀
一用完就快照
给你找一高手qq
我是找他的

我要回帖

更多关于 linux是什么 的文章

 

随机推荐