我试图configurationvsftpd的用户磁盘配额。
我使用debian上的“quota”包来configurationftp虚拟用户的配额(通过编辑/ etc / fstab和所有东西)。 互联网告诉我,这是vsftpd唯一的解决scheme。
问题是:当一个file upload到ftp服务器时,它的拥有者是ftp:nogroup,所以配额不适用于我的用户,例如bob:bob。
我也尝试chown ftp:bob目标文件夹,并使用bob组的组配额,但我没有工作
所以我直接去了常见问题,没有find这个:)你有这个配额问题的任何解决scheme?
干杯,迈赫迪
以下是您应该设置的步骤:
VSFTPD
创build/etc/vsftd.conf文件
#nano /etc/vsftpd.conf listen=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem download_enable=yes guest_enable=NO write_enable=yes #If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot() chroot_local_user=no chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
接下来创build你的chroot列表,防止用户在主目录之外浏览
#nano /etc/vsftpd.chroot_list someusernamehere
SSH
现在,由于该用户在系统上拥有真实账户(磁盘配额不适用于虚拟用户),因此您应该更新SSH(如果它正在运行)。 在底线添加以下内容,并确保上面的用户没有列出(即只列出你想通过SSH访问服务器的用户):
#nano /etc/ssh/sshd_config AllowUsers username1 username2
准备挂载点
威尔现在将安装并启用配额
这显示了如何为每个用户和每个组执行此操作。 顺便说一下,当文件系统被挂载时启用配额支持,所以当你完成以下步骤时你需要重启你的服务器。 除非你确切地知道你在做什么,否则请不要在远程机器上进行操作。
以root身份执行以下操作或使用sudo:
#nano /etc/fstab
您需要在您的fstab文件(usrquota或grpquota)中具有以下内容。 这里有一些例子,取决于你如何安装你的Ubuntu服务器:
/dev/hda1 /home ext2 defaults,usrquota 1 1
要么
# /home was on /dev/sda3 during installation UUID=fce47086-925c-4164-80a4-4ba6b307123b /home ext4 defaults,usrquota 0 2
要么
# /home was on /dev/sda3 during installation UUID=fce47086-925c-4164-80a4-4ba6b307123b /home ext4 defaults,usrquota,grpquota 0 2
您可以通过重新启动或使用以下示例重新安装:
#mount -o remount,usrquota /home
检查你的坐骑:
#mount | grep quota
加载配额内核模块:
#modprobe quota_v2 echo 'quota_v2' >> /etc/modules
build立你的配额
安assembly额包。
#apt-get install quota quotatool
如果它们不存在,请创build以下文件。 这些文件存储您的配额限制:
#touch /home/aquota.user #touch /home/aquota.group #chmod 600 /home/aquota.user /home/aquota.group
打开quatacheck而不用重新启动:
# quotacheck -vagum
如果你的内核支持日志配额但是你没有使用它,你可能会得到一个错误。 在这种情况下使用这个命令:
# quotacheck -fvagum
为用户设置限制:
#quotatool -u someusername -bq 100M -l '200 Mb' /home
第一个值是软限制,第二个是硬限制。 请注意,如果用户试图加载一个100Mb的文本文件,并且它们已经超过了他们的软限制20Mb,他们的文本文件将被截断20Mb,以保持在200Mb硬限制之下。
检查配额:
#repquota /home
如果您希望删除用户的配额,只需将硬限制和软限制设置为“0”即可。
我知道这很多,但应该这样做! 在发布之前,我从零开始经历了这个过程。
帕特里克做了一个很好的指导。 我会加2件事。
1.)quotatool不是强制性的2.)如果你没有为你自己的物理分区的ftp文件夹,你可以使用循环文件。 我这样做,它真的很好
mkdir / usr / loop_device
dd if = / dev / zero = / usr / loop_device / ld1 bs = 1024 count = 50000
mkfs.ext4 / usr / loop_device / ld1
mkdir / home_ftp
挂载Loopdevice吧
将以下条目添加到/ etc / fstab中
/ usr / loop_device / ld1 / home_ftp / ext4 rw,loop,usrquota,grpquota 0 0
我在这里截图:
http://infofreund.de/user_quotas_vsftpd_en/
克里斯
配额只与系统用户一起工作。 所以你需要configurationvsftp来使用系统用户,你不能使用虚拟用户。
编辑 :
这是一个快速和肮脏的configuration工作:
listen=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem download_enable=yes anon_mkdir_write_enable=yes guest_enable=NO anon_world_readable_only=no anon_upload_enable=yes write_enable=yes chroot_local_user=no anon_other_write_enable=yes
然后使用“quotacheck”来设置配额。 不要忘记将“userquota”选项添加到您的fstab。