风彦疯语-杜风彦的博客 风彦疯语-杜风彦的博客
  • 首页
  • 技术交流
    • 网络技术
    • 微博微信
  • 经验分享
    • 文化交流
    • 语言学习
    • 音乐旅途
    • 生活杂谈
  • 旅游旅行
    • 单车旅行
    • 旅行故事
    • 旅途随笔
  • 摄影交流
    • 摄影练习
  • 专题汇总
    • 纪录短片创作
    • 环球骑行
    • 四国遍路
    • 看非洲
  • 媒体报道
    • 杜风彦简介
  • 投稿
  • 动态
首页 › 技术交流 › 网络技术 › vsftpd中umask=022什么意思
  • 0
  • 0

vsftpd中umask=022什么意思

杜风彦
2014-05-06 3:31:20
先是最基本的配置,请看我的/etc/vsftpd/vsftpd.conf

#接受匿名用户
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

#使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改
xferlog_enable=YES
#日志使用标准xferlog格式
xferlog_std_format=YES

#login时的欢迎信息
ftpd_banner=Welcome to KingArthur's FTP service.
#设置的话将覆盖上面的ftpd_banner设置,用户login时将显示/etc/vsftpd/banner中的内容
banner_file=/etc/vsftpd/banner
#为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
dirmessage_enable=YES
#本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录(/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root
local_root=/var/ftp

#设置为YES则下面的控制有效
chroot_list_enable=YES
#若为NO,则记录在chroot_list_file选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里选择YES.
chroot_local_user=YES

#若设置为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!!

#服务器以standalong模式运行,这样可以进行下面的控制
listen=YES
#匿名用户的传输比率(b/s)
anon_max_rate=51200
#本地用户的传输比率(b/s)
local_max_rate=512000
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5

connect_from_port_20=YES
tcp_wrappers=YES
pam_service_name=vsftpd

##############################################################################

下面是我的/etc/vsftpd.user_list
##############################################################################

ftpuser
anonymous

##############################################################################
/etc/vsftpd.ftpusers可以使用系统自带的文件
/etc/vsftpd.chroot_list内容为空
接着建立系统用户ftpuser,将他加入ftp组并将/etc/passwd中他的记录的最后一个字段改成/sbin/nologin(禁止本地登录).
设置/var/ftp的所有者和所有组为root,权限为755
设置/var/ftp/pub的所有者为root,所有组为ftp,权限为775

至此vsftpd的基本配置就完成了.这里我们接受匿名用户anonymous和本地用户ftpuser的请求.anonymous只能下载,ftpuser可以下载和上传.他们登录后均在/var/ftp目录下且无法离开这个目录(被chroot了).ftpuser可以在/var/ftp/pub目录中建立目录和上传文件,上传文件的权限为755(设置了local_umask=022).匿名用户的传输比率为50kb/s,ftpuser的传输比率为500kb/s.可联接的最多客户数为100,每ip可联接的最多客户数为5.
如果需要使本地用户ftpput可以login,只需要将他加入/etc/vsftpd.user_list,要使他可以上传,只需将他加入ftp组.
接着我们可以在/var/ftp下的各个目录(包括/var/ftp)下建立.message文件,这样用户进入这个目录时vsftpd将显示.message的内容,你可以在这里面写上欢迎信息或者注意事项等等.另外可以编辑/etc/vsftpd/banner,建立login时的欢迎信息,让你的ftp更加个性化.

下面我们使用quota为ftpuser加入磁盘限额,避免恶意用户用垃圾数据塞满你的硬盘.
假设/var/ftp在根分区/(/dev/hda5)中,则将/etc/fstab中根分区的记录的第4个字段改成defaults,usrquota,这样这条记录看起来类似这样:
LABEL=/ / ext3 defaults,usrquota 1 1
接着重启系统后输入下列命令:
quotacheck -acu #检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表
quotacheck -avu #生成每个启用了配额的文件系统的当前磁盘用量表
edquota ftpuser #为用户ftpuser设置磁盘配额
这时系统会在默认文本编辑器(vi)中打开配额文件,显示类似这样:
Disk quotas for user ftpuser (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 0 0 0 0 0 0
第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为 过渡期(grace period)。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置.按你的需要修改后存盘推出.
要校验用户的配额是否被设置,使用以下命令:
quota testuser
接着使用edquota -t来设置过渡期(grace period)
和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda5 7days 7days
按你的需要修改后存盘退出

在Linux系统中,当我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?
在vsftpd配置中有local_umask项:
local_umask=022
首先,我们要搞清楚umask是个啥子玩意儿?
当我们创建一个文件后,总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。
umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。
如何计算umask值?
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。
该命令的一般形式为:umask nnn
其中nnn为umask置000 – 777。
我们只要记住umask是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:
umask 文件 目录
————————————
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0
————————————
Linux文件系统中:
r:4(读)
w:2(写)
x:1(执行)
如:umask值为022,则默认目录权限为755,默认文件权限为644。
多点例子:
如果配置的umask值为000,则默认目录权限为777,默认文件权限为666
如果配置的umask值为047,则默认目录权限为730,默认文件权限为620

 

 

umask决定目录和文件被创建时得到的初始权限
umask = 022时
新建的目录 权限是755 
文件的权限是 644

用umask命令查看或设置当前的umask

$ umask
000

$ umask 022

你可以改变一下umask,建立目录和文件,观察一下

还有,umask是unix操作系统的概念,vsftpd的local_umask借鉴了它

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

umask
0
WordPress无法自动更新或在线安装主题插件
上一篇
WordPress上传附件提示“上级目录没有写权限”解决办法
下一篇

评论 (0)

再想想
暂无评论

相关文章

常用SSH命令
debian9升级10
服务器过期,重建网站:从数据丢失到重新上线
VPN 619,800等相关错误的解决办法

归档

标签

africa Djibouti dufengyan du fengyan fengyan du india WordPress 亚美尼亚 伊朗 儿童 初见 单车亚非 印度 吉布提 四国遍路 土耳其 埃及 埃塞俄比亚 孩子 尼罗河肖像 摄影 日本 杜风彦 杜齐眼 格鲁吉亚 疫情 石灰石矿 索马里 索马里兰 约旦 美食 肯尼亚 致谢 苏丹 警察 赞比亚 郗光 非洲 骑在亚美尼亚 骑在伊朗 骑在埃及 骑在格鲁吉亚 骑在约旦 骑行 齐林

猜你喜欢

常用SSH命令

常用SSH命令

杜风彦
416 0 0
debian9升级10

debian9升级10

杜风彦
398 0 0
服务器过期,重建网站:从数据丢失到重新上线

服务器过期,重建网站:从数据丢失到重新上线

杜风彦
448 0 0
VPN 619,800等相关错误的解决办法

VPN 619,800等相关错误的解决办法

杜风彦
2,474 0 0
Copyright © 2004-2025 风彦疯语-杜风彦的博客. Designed by nicetheme.
讲述不同人生的相同故事 网备 DQ001 号
  • 首页
  • 技术交流
    • 网络技术
    • 微博微信
  • 经验分享
    • 文化交流
    • 语言学习
    • 音乐旅途
    • 生活杂谈
  • 旅游旅行
    • 单车旅行
    • 旅行故事
    • 旅途随笔
  • 摄影交流
    • 摄影练习
  • 专题汇总
    • 纪录短片创作
    • 环球骑行
    • 四国遍路
    • 看非洲
  • 媒体报道
    • 杜风彦简介
  • 投稿
  • 动态
  • 杜风彦
  • 单车亚非
  • 非洲
  • 纪录片
  • 杜齐眼
  • 尼罗河肖像

杜风彦

老杜,专注于非洲纪实影像。
334
文章
10
评论
10
喜欢