Vsftpd的安装: aptitude update //更新数据源列表 aptitude install vsftpd //安装vsftpd
Vsftpd的文件结构: /usr/sbin/vsftpd —- VSFTPD的主程序 /etc/init.d/vsftpd —- 启动脚本 /etc/vsftpd.conf —- 主配置文件 /etc/pam.d/vsftpd —- PAM认证文件 /etc/ftpusers —-记录不允许访问FTP服务器的用户名单 /home/ftp —-Vsftpd的根目录 此外VSFTPD的日志文件为/var/log/vsftpd.log。
Vsftpd的管理控制。 /etc/init.d/vsftpd start //启动vsftpd /etc/init.d/vsftpd stop //停止vsftpd /etc/init.d/vsftpd restart //重新启动vsftpd /etc/init.d/vsftpd reload //重新导入vsftpd
Vsftpd的配置文件。 Vsftp的配置文件默认情况下就已经比较安全,一般不需要修改,下面对常用的几个配置选项进行说明: Listen=yes 是否以独立进程启动 anonymous_enable=YES 是否允许匿名ftp,如否则选择NO local_enable=YES 是否允许本地用户登录 anon _enable=YES 是否允许匿名ftp用户访问 anon_upload_enable=YES 是否允许匿名上传文件 anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利 dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件 xferlog_enable=YES 是否记录ftp传输过程 xferlog_file=/var/log/vsftpd.log 设置日志文件的路径 connect_from_port_20=YES 是否确信端口传输来自20(ftp-data) idle_session_timeout=600 设置默认的断开不活跃session的时间 data_connection_timeout=120 设置数据传输超时时间 max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止 anon_max_rate 匿名最大传输速度,0为无限制 local_max_rate 本地用户最大传输速度,0为无限制 max_clients 最多客户端连接,0为无限制 max_per_ip 一个ip的最大连接数,0为无限制 更多的配置内容请访问vsftpd的官方网站查看: http://vsftpd.beasts.org/vsftpd_conf.html
配置本地组访问FTP
(adsbygoogle = window.adsbygoogle || []).push({});
首先创建用户组clin003和FTP的目录 groupadd clin003-com (组名是随便取的,只是便于管理以后可以随时cat /etc/group |grep clin003-com) mkdir /tmp/clin003 (我直接给用户分配管理/var/www文件,用来管理apache的web目录) 然后创建用户 useradd -G clin003-com -d /tmp/clin003 -M user1 注:G:用户所在的组 d:指定创建用户的自己目录 M:不建立默认的自家目录,就是在/home下没有自己的目录
我只是为了给自己的web server做文件传输服务,所以做了一个帐户. useradd -G ftp -d /var/www -M clin003-admin
接着改变文件夹属于的组和用户 chown clin003-admin.clin003-com /var/www 把/var/www改变属主为clin003-admin chmod 711 /var/www 我这设置的读取权限是711.也就是文件夹所有者完全权限,同组也就是上面的FTP组和所有人都是可执行权限.
Vsftpd添加FTP账号 A. 登录Linux主机后,运行命令:”useradd ftp-clin003 -s /sbin/nologin “。该账户路径默认指向/home/ftp-clin003目录;如果需要将用户指向其他目录,请运行命令:useradd ftp-clin003 -s /sbin/nologin –d /www(其他目录)
B. 设置ftp-clin003用户密码,运行命令:”passwd ftp-clin003” ; 输入两次密码,匹配成功后,就设置好了ftp-clin003用户的密码了。
C.测试连接,您可以在“我的电脑”地址栏中输入 ftp://IP 来连接FTP服务器,根据提示输入账户密码。
umask=022 umask=022中”022″是八进制的写法,如果换成二进制是000010010
在unix中文件权限是三类用户,三种权限。三类用户分别是文件所有者user(u),文件所有者所在主群组group(g)、其它用户others(o),三种权限分别是起读read(r)、写write(w)、执行execute(x)。
如果一个文件的权限如下:所有者有读写的权限,群组有读和执行权限、其它用户有读权限,可以写成: rw-r-xr– 其中前三位指明了所有者的权限、中间三位指明了组权限、最后三位指明了其它用户的权限。我们用ls -l可以看到文件权限详情,列出来的是10位,最前一位如果是d表示是子目录。 说回来,如果把这上面9位字母换成二进制数则是: 110101100 如果换成八进制是多少?
因此文件权限可以用9位二进制数表示。umask在英文中是屏蔽的意思,那么 umask=022 指屏蔽文件的022权限,到底屏蔽了什么?将这个八进制数用二进制表示 000010010 换算成字母是 —-w–w- 指取消组的写权限、取消其它用户的写权限。 屏蔽这些权限后,剩下什么权限呢?用字母表示是: rwxr-xr-x 用二进制数表示是: 111101101 你可以对比一下 000010010 可以知道屏蔽前后的换算关系。
在vsftpd的配置文件中,umask=022表示了上权后的文件被屏蔽的权限,另一句话说,就是上传的文件所具有的权限。
本文转自这里。