Debian 使用VSFtpd安装配置架设FTP服务器「建议收藏」

Debian 使用VSFtpd安装配置架设FTP服务器「建议收藏」Vsftpd的安装:aptitudeupdate//更新数据源列表aptitudeinstallvsftpd//安装vsftpdVsftpd的文件结构:/usr/sbin/vsftpd—-VSFTPD的主程序/etc/init.d/vsftpd—-启动脚本/etc/vsftpd.conf—-主配置文件/etc/pam…

大家好,又见面了,我是你们的朋友全栈君。

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

首先创建用户组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表示了上权后的文件被屏蔽的权限,另一句话说,就是上传的文件所具有的权限。

本文转自这里


原文发布时间:2011-03-09
本文来自云栖社区合作伙伴“
Debian社区”,了解相关信息可以关注“
Debian社区”。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162594.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • uwsgi部署django_django调用python脚本

    uwsgi部署django_django调用python脚本一.收集静态资源1.settings.py#静态资源访问的起始urlSTATIC_URL=’/static/’#指定静态资源所在的目录STATICFILES_DIRS=[os.path.join(BASE_DIR,’static’)]#设置收集静态资源的路径(部署时使用)STATIC_ROOT=’/home/kzzf/project/OfferHelp…

  • linux 修改文件内容命令

    linux 修改文件内容命令1、进入文件:vim文件名eg#vim/etc/httpd/httpd.conf2、查找待修改内容位置:(1)shift+“:”,使文件变成可查询状态(2)输入/+查询内容(eg查询Directory参数,即/Directory)eg找到Directory参数,注释掉Requirealldenied添加Requireallgranted3、找到位置后修改:按键盘i键即变成可编辑状态4、修改文件内容后退出:按ESC键5、保存修改:(1)shift+“:”,使

  • Android下载apk异常java.net.SocketTimeoutException: timeout解决办法

    Android下载apk异常java.net.SocketTimeoutException: timeout解决办法1、问题实现下载apk的时候,抛出下面异常java.net.SocketTimeoutException:timeout2、分析很明显是socket超时了,由于我的wifi网络比较慢,设置的超时时间可能短了。在写入由GetRequestStream方法返回的流时,或在读取由GetResponseStream方法返回的流时,会用到ReadWriteTimeout属性,ReadWrite…

  • L3-023 计算图(链式求导+bfs拓扑|dfs)「建议收藏」

    L3-023 计算图(链式求导+bfs拓扑|dfs)「建议收藏」原题链接“计算图”(computational graph)是现代深度学习系统的基础执行引擎,提供了一种表示任意数学表达式的方法,例如用有向无环图表示的神经网络。 图中的节点表示基本操作或输入变量,边表示节点之间的中间值的依赖性。 例如,下图就是一个函数 ( 的计算图。现在给定一个计算图,请你根据所有输入变量计算函数值及其偏导数(即梯度)。 例如,给定输入,,上述计算图获得函数值 (;并且根据微分链式法则,上图得到的梯度 ∇。知道你已经把微积分忘了,所以这里只要求你处理几个简单的算子:加法、减法、乘

  • 从一个盗号网站得到的启示

    从一个盗号网站得到的启示  一个盗号网站http://qqplay-5.tk/ 一个顶级域名. 不花一分钱, 定期更换 这, 就是大多数盗号网站的惯用伎俩. 为此做了一个专门发垃圾号码和密码给他们.让他们分不清对错http://www.dot.tk/zh/index.html 这个是一个顶级免费域名注册提供商 http://www…

  • 怎么用python连接数据库_python连接pg数据库

    怎么用python连接数据库_python连接pg数据库实现步骤:一、使用mysql.connector1、导入msql的包2、创建连接对象3、使用cursor方法获取操作游标4、fetchall方法获取数据,for循环进行输出5、最后关闭连接对象importmysql.connector#创建连接对象#参数分别为:ip地址,用户名,密码,库名mydb=mysql.connector.connector(host=”192.168.139.128″,user=”root”,passwd=”root”,

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号