如果这个问题都没法解决,这个论坛所谓的大神都是假的,我不相信,论坛能有人把这个问题解决了,我悬赏90QB打赌,详见38楼

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#16

帖子 243750496 » 2013-07-13 11:59

又重装了下,是安装libpam-ldap后出问题了,不安lib-pam虚拟用户无法登录提示
libgcc_s.so.1 must be installed for pthread_cancel to work
cc@thinkpad:~$ tail -f /var/log/auth.log
Jul 13 19:44:45 thinkpad pkexec[4765]: cc: Executing command [USER=root] [TTY=unknown] [CWD=/home/cc] [COMMAND=/usr/lib/update-notifier/package-system-locked]
Jul 13 19:45:38 thinkpad sudo: cc : TTY=pts/1 ; PWD=/home/cc ; USER=root ; COMMAND=/usr/sbin/service vsftpd restart
Jul 13 19:45:38 thinkpad sudo: pam_unix(sudo:session): session opened for user root by cc(uid=0)
Jul 13 19:45:38 thinkpad sudo: pam_unix(sudo:session): session closed for user root
Jul 13 19:46:17 thinkpad vsftpd: PAM unable to dlopen(pam_ck_connector.so): /lib/security/pam_ck_connector.so: cannot open shared object file: No such file or directory
Jul 13 19:46:17 thinkpad vsftpd: PAM adding faulty module: pam_ck_connector.so
Jul 13 19:46:17 thinkpad vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: cannot open shared object file: No such file or directory
Jul 13 19:46:17 thinkpad vsftpd: PAM adding faulty module: pam_shells.so
Jul 13 19:46:17 thinkpad vsftpd: PAM unable to dlopen(pam_gnome_keyring.so): /lib/security/pam_gnome_keyring.so: cannot open shared object file: No such file or directory
Jul 13 19:46:17 thinkpad vsftpd: PAM adding faulty module: pam_gnome_keyring.so

报错貌似相同啊,这还没有配置mysql,连mysql程序都没装,就是教程http://wiki.ubuntu.org.cn/Vsftpd%E5%92%8Cmysql%E9%85%8D%E7%BD%AE第一步都没做,怎么办呢
/lib/x86_64-linux-gnu/libgcc_s.so.1
libgcc_s.so.1.tar.gz
(38.93 KiB) 已下载 74 次
上次由 243750496 在 2013-07-17 13:24,总共编辑 4 次。
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#17

帖子 oneleaf » 2013-07-13 12:04

你先重装,配置,让本地用户可以登录,这个不难,
然后再折腾mysql的验证。

BTW:很少同时使用mysql和本地用户都同时支持登录的
BTW:现在都不玩ftp了,需要上传直接sftp。
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#18

帖子 243750496 » 2013-07-13 20:33

我把find 所找到的相关文件cp到相关目录后出现这种情况
cc@thinkpad:~$ tail -f /var/log/auth.log
Jul 13 19:57:56 thinkpad vsftpd: PAM adding faulty module: pam_cap.so
Jul 13 19:57:56 thinkpad vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: failed to map segment from shared object: Cannot allocate memory
Jul 13 19:57:56 thinkpad vsftpd: PAM adding faulty module: pam_shells.so
Jul 13 19:57:56 thinkpad vsftpd: PAM unable to dlopen(pam_gnome_keyring.so): /lib/security/pam_gnome_keyring.so: failed to map segment from shared object: Cannot allocate memory
Jul 13 19:57:56 thinkpad vsftpd: PAM adding faulty module: pam_gnome_keyring.so
Jul 13 19:57:56 thinkpad vsftpd: pam_unix(vsftpd:auth): check pass; user unknown
Jul 13 19:57:56 thinkpad vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=cc rhost=192.168.1.106
Jul 13 19:58:42 thinkpad pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
Jul 13 19:58:42 thinkpad pkexec: pam_ck_connector(polkit-1:session): cannot determine display-device
Jul 13 19:58:42 thinkpad pkexec[2461]: cc: Executing command [USER=root] [TTY=unknown] [CWD=/home/cc] [COMMAND=/usr/lib/update-notifier/package-system-locked]
Jul 13 20:17:01 thinkpad CRON[2774]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 13 20:17:01 thinkpad CRON[2774]: pam_unix(cron:session): session closed for user root
Jul 13 20:27:49 thinkpad gnome-screensaver-dialog: gkr-pam: unlocked login keyring
这是咋回事呢 大神
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#19

帖子 oneleaf » 2013-07-13 22:31

总觉你把整个认证都折腾坏了,我都搞不清楚你到底是64位还是32位,不要从其它地方下.so文件,也不要随便链接,实在不行,重新安装系统吧。
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#20

帖子 243750496 » 2013-07-13 22:48

话说看了http://snow.ixiezi.com/2012/07/06/vsftpd_virtual_users_and_local_users_can_not_coexist_in_the_solution.html
这个网页之后豁然开朗

在配置vsftpd的过程中,听信了网上的谗言,把vsftpd配了一遍,发现配完,虚拟用户和本地用户不能共存,即虚拟用户可以登录ftp,但是本地用 户不能登录的ftp。折腾了很久,包括上网找过很多内容都找不到解决方法,大家貌似都没有这样的问题,或者找不到解决办法(在看众多教程中貌似有看到过和 本方法一样的配置,但是那份内容里面完全没有提到/etc/pam.d/vsftpd里面为什么要这样写)。在洗澡过程中想了想,既然本地用户无法登录, 那应该是pam验证的时候就没有给本地用户过。实验证明人在洗澡的时候是最清醒的时候。哈哈!回来实验,发现如果把/etc/pam.d/vsftpd 中的

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

注 释掉,然后把里面其它的内容都打开注释(网上大部分教程教建立虚拟用户时,都说把上面两句加入/etc/pam.d/vsftpd中,然后把里面的其它东 西注释掉),这时候再尝试,发现本地用户能登录!!!这也证明了是pam模块认证的问题让虚拟用户和本地用户不能共存。所以就去了解了一下pam配置的内 容,如下网址:

http://www.ibm.com/developerworks/cn/linux/l-pam/

里面提到:
Required:堆栈中的所有 Required 模块必须看作一个成功的结果。如果一个或多个 Required 模块失败,则实现堆栈中的所有 Required 模块,但是将返回第一个错误。

也 就意味着,required需要所有内容都满足才行,当我们前两条配置虚拟用户登录验证通过后,继续向下面的配置条目进行验证,验证是否是本地用户时结果 发现不是,又因为,验证本地用户的control_flag(见上网址中解释)也为required,所以这时候,就会返回错误,也即验证不成功。

所以我们不能同时设置虚拟用户和本地用户的control_flag为required。按照上面的网址所说:
Sufficient:如果标记为 sufficient 的模块成功并且先前没有 Required 或 sufficient 模块失败,则忽略堆栈中的所有其余模块并返回成功。

我们可以把虚拟用户的验证配置放在最前面,且把control_flag设为sufficient。这样的话,如果遇到是虚拟用户,那么可以通过验证,如果是本地用户,忽略掉sufficient的两条配置规则,只要满足required就行,所以也能通过验证。

如下为/etc/pam.d/vsftpd的内容:
#%PAM-1.0
auth sufficient pam_userdb.so db=/etc/vsftpd/vuser_passwd
account sufficient pam_userdb.so db=/etc/vsftpd/vuser_passwd

session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth

上 面两行为后面加上,虚拟用户pam认证需要的配置条目,下面为原来vsftpd的认证配置规则,可以看到,本地用户用的是password-auth,从 这里可以看出如果要虚拟用户和本地用户共存,两部分都不能注释。网上说的注释掉下面的部分,这种情况本地用户都不能登录。




特别是



里面提到:
Required:堆栈中的所有 Required 模块必须看作一个成功的结果。如果一个或多个 Required 模块失败,则实现堆栈中的所有 Required 模块,但是将返回第一个错误。
也 就意味着,required需要所有内容都满足才行,当我们前两条配置虚拟用户登录验证通过后,继续向下面的配置条目进行验证,验证是否是本地用户时结果 发现不是,又因为,验证本地用户的control_flag(见上网址中解释)也为required,所以这时候,就会返回错误,也即验证不成功。
所以我们不能同时设置虚拟用户和本地用户的control_flag为required。按照上面的网址所说:
Sufficient:如果标记为 sufficient 的模块成功并且先前没有 Required 或 sufficient 模块失败,则忽略堆栈中的所有其余模块并返回成功。
我们可以把虚拟用户的验证配置放在最前面,且把control_flag设为sufficient。这样的话,如果遇到是虚拟用户,那么可以通过验证,如果是本地用户,忽略掉sufficient的两条配置规则,只要满足required就行,所以也能通过验证。


启示很大
于是我安装libpam-ldap后把/etc/pam.d/vsftpd内容改为
# Standard behaviour for ftpd(8).
auth sufficient pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth sufficient pam_shells.so
16楼问题就没有了
再把虚拟用户认证改为
auth sufficient pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account sufficient pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
最后一个问题就解决了,虚拟用户和本地用户都能登录了
可是大神麻烦看下,貌似我把认证中的且都改成了或,这是不是意味着将有安全漏洞存在??????
上次由 243750496 在 2013-07-16 17:43,总共编辑 2 次。
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#21

帖子 243750496 » 2013-07-14 12:54

下面我们使用quota为ftpuser加入磁盘限额,避免恶意用户用垃圾数据塞满你的硬盘. 假设/var/ftp在根分区/(/dev/hda5)中,则将/etc/fstab中根分区的记录的第4个字段改成defaults,usrquota,这样这条记录看起来类似这样:

LABEL=/ / ext3 defaults,usrquota 1 1
可是打开/etc/fstab没有LABEL=/ / 咋办啊
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb1 during installation
UUID=4c1a342f-5571-4d76-bd98-9a2fcd26c3eb / ext4 errors=remount-ro 0 1
# swap was on /dev/sdb5 during installation
UUID=3e679ead-89e9-4894-8d70-9fda22fe9439 none swap sw 0 0
而且
12:47 cc@thinkpad:~ $df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb1 44G 3.2G 38G 8% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 5.8G 4.0K 5.8G 1% /dev
tmpfs 1.2G 924K 1.2G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 5.8G 84K 5.8G 1% /run/shm
none 100M 60K 100M 1% /run/user
貌似不是dev/hda5啊(我是在新加的固态硬盘上安装的也就是第二快硬盘上,不影响吧????)
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#22

帖子 243750496 » 2013-07-14 13:04

又找了一篇文章
磁盘配额

为FTP增加磁盘配额,从而避免恶意用户用垃圾数据塞满你的硬盘

我首先要说的是这个功能是系统自带的,而不是vsftp 的功能之一,千万别搞混了。好了,我们先假设我们的系统用户ftpd的主目录是/home/ftpd,它是建立在/home分区中,那么如果我们要对ftpd用户进行磁盘限额,那我们需要修改/etc/fstab中根分区的记录,将/home分区的第4个字段改成defaults,usrquota,如下:

LABEL=/home /home ext3 defaults,usrquota 1 2

# reboot //重新启动系统使设置生效

也可以用

# mount -o remount /dev/sda6 ///dev/sda6的挂接点就是/home,这样可以不用启动系统。

这里我还要说明一下,如果我们对一个组进行磁配额,那我们需要增加参数grpquota,例如

LABEL=/home /home ext3 defaults,grpquota 1 2

也可以

LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2

你想怎么限制都可以,自己组合参数吧。

# quotacheck -avu

说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额

# edquota ftpd //为用户ftpd设置磁盘配额

OR

# edquota -g grp //为组grp设置磁盘配额

系统会自动打开配额文件,如下:

Disk quotas for user ftpd (uid 502):

Filesystem blocks soft hard inodes soft hard

/dev/sda6 424 0 0 13 0 0

第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数,单位为KB。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置。我设置了硬块限度为1KB,是为了测试方便。

# quotaon -avu //打开磁盘配额监控进程,u是用户g是组,这里我没设置g参数

要校验用户的配额是否被设置,我们可以使用以下命令:

# quota ftpd

Disk quotas for user ftpd (uid 502):

Filesystem blocks quota limit grace files quota limit grace

/dev/sda6 424* 0 1 13 0 0

# edquota –t(-g)来设置过渡期(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/sda6 7days 7days

按你的需要修改后存盘退出

用以下命令显示磁盘配额使用状态

# repquota -a 或 repquota /dev/sda6(用户配额)

# repquota -g -a 或 repquota -a /dev/sda6 (组的配额)

如果一切按照你的意思实施了,那么我们就进行测试了!如下图4

我们传了一个>1k的文件,没有成功,这样我们就成功的为用户ftpd增添了磁盘配额,要是哪一天你不想加磁盘配额了,怎么办?参看如下命令:

取消某个文件系统的配额限制

#quotaoff -vug /dev/sda6 //删除home分区的磁盘限额

#删除/etc/fstab中设置配额的部分

修改软配额的最大超越时间

注意:

/,/boot/,/proc,/mnt/cdrom等不要使用配额,没用。而且磁盘配额不适合FAT和FAT32系统。

以后当新设置了某个用户的配额,可以使用如下命令,马上生效。

# quotacheck -auvgm --是不尝试重新挂载文件系统
也没解决
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#23

帖子 243750496 » 2013-07-14 13:19

看了这个貌似还是不清楚如何改
ubuntu /etc/fstab解析

打开 /etc/fstab,可以看到如下内容:
Shell代码 www.2cto.com
[root@localhost ~]# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=886f96a1-025d-43b9-9467-61177884dff7 / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda5 during installation
UUID=f9908cbd-e556-4950-9588-803d77010c6d /boot ext4 defaults 0 2
# /home was on /dev/sda7 during installation
UUID=724fcd08-68c4-433d-b940-4e7e5bcd553d /home ext4 defaults 0 2
# /usr/local was on /dev/sda8 during installation
UUID=8b97fac5-bee5-40cd-b33f-1ca3ce6c08ff /usr/local ext4 defaults 0 2
# swap was on /dev/sda6 during installation
UUID=611bb47a-b187-4257-a711-9e73ae4e08a3 none swap sw 0 0

从上面的结果可以看出,它其实就是一个表格,包括了 <file system>, <mount point>, <type>, <options>, <dump> 和 <pass> 这些列。下面来一一讲解。

1. <file system>: 你要挂载的文件系统的设备名称火块信息,也可以是远程的文件系统。如果是本地设备,可以写 /dev/sda1, /dev/sda5 等。如果是远程的文件系统,可以写 192.168.10.36:/home/。此外,还可以用卷标(label)或 UUID(Universally Unique Identify 全局唯一标识)来表示。默认的 /etc/fstab 就是采用 UUID 来表示的,这里也不详解了。

2. <mount point>: 挂载点,也就是自己找一个或创建一个目录,然后把文件系统<file system> 挂到这个目录下,然后就可以从这个目录中访问要挂载的文件系统。对于 swap 分区,这个域应该填写 none,表示没有挂载点。

3. <type>: 这里用来指定文件系统的类型。下面的文件系统都是目前 Linux 所能支持的:adfs, befs, cifs, ext3, ext2, ext, iso9660, kafs, minix, msdos, vfat, umsdos, proc, reiserfs, swap, squashfs, nfs, hpfs, ncpfs, ntfs, affs, ufs。

4. <options>: 这里用来填写设置选项,各个选项用逗号隔开。由于选项非常多,而这里篇幅有限,所以不再作详细介绍,如需了解,请用命令 man mount 来查看。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项 rw, suid, dev, exec, auto, nouser 和 async。
auto: 开机自动挂载
noauto: 开机不自动挂载
defaults: 按照大多数永久文件系统的缺省值设置挂载定义
ro: 按只读权限挂载
rw: 按可读可写权限挂载
user: 任何用户都可以挂载
user: 同步磁盘与内存中的数据,async 则是异步
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是 noauto。

5. <dump>: 此处为 1 的话,表示要将整个 <fie sysytem> 里的内容备份;现在很少用到 dump 这个工具,在这里一般选 0。 0 表示不做 dump 备份,1 表示要进行 dump 备份,2 也表示要做 dump 备份,不过,该分区的重要行比 1 小。

6. <pass>: 这里用来指定如何使用 fsck 来检查硬盘。如果这里填 0,则不检查;挂载点为 / 的(即根分区),必须在这里填写 1,其它的都不能填写 1。如果有分区填写大于 1 的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字的同时检查。比如第一和第二个分区填写 2,第三和第四个分区填写 3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个分区。

当编辑了 /etc/fstab 后,为了避免可能的错误,通常回使用 mount -a 命令来测试,这是很重要的测试!
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#24

帖子 243750496 » 2013-07-14 13:33

改成了这样
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb1 during installation
UUID=4c1a342f-5571-4d76-bd98-9a2fcd26c3eb / ext4 defaults,usrquota 0 1
# swap was on /dev/sdb5 during installation
UUID=3e679ead-89e9-4894-8d70-9fda22fe9439 none swap sw 0 0
重启后
13:30 cc@thinkpad:~ $quotacheck -acu
quotacheck: 无法从 /dev/disk/by-uuid/4c1a342f-5571-4d76-bd98-9a2fcd26c3eb 上的文件名猜测其格式,请在命令行中指定一个确切的格式。
13:30 cc@thinkpad:~ $quotacheck -avu
quotacheck: 无法从 /dev/disk/by-uuid/4c1a342f-5571-4d76-bd98-9a2fcd26c3eb 上的文件名猜测其格式,请在命令行中指定一个确切的格式。
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.

怎么办
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 设置好mysql的虚拟用户后本地用户cc无法登录了???530 Login incorrect 十万火急!!!!

#25

帖子 243750496 » 2013-07-14 13:39

改成
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb1 during installation
LABEL=/ / ext4 defaults,usrquota 0 1
# swap was on /dev/sdb5 during installation
UUID=3e679ead-89e9-4894-8d70-9fda22fe9439 none swap sw 0 0
依旧提示
13:37 cc@thinkpad:~ $quotacheck -acu
quotacheck: 无法从 /dev/disk/by-uuid/4c1a342f-5571-4d76-bd98-9a2fcd26c3eb 上的文件名猜测其格式,请在命令行中指定一个确切的格式。
13:38 cc@thinkpad:~ $quotacheck -avu
quotacheck: 无法从 /dev/disk/by-uuid/4c1a342f-5571-4d76-bd98-9a2fcd26c3eb 上的文件名猜测其格式,请在命令行中指定一个确切的格式。
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.
貌似修改无效啊
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: 无法从上的文件名猜测其格式,请在命令行中指定一个确切的格式。请看第二页,大家帮帮忙,就差这最后一步了!!!!!!

#26

帖子 243750496 » 2013-07-15 11:33

cc@thinkpad:~$ sudo quotaon -avug
quotaon: using //aquota.user on /dev/disk/by-uuid/30c07321-d2d7-4ac8-9150-c79e9031f385 [/]: 设备或资源忙
怎么办
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: quotaon: 设备或资源忙怎么办 26楼求回答

#27

帖子 243750496 » 2013-07-15 21:06

解决了
sudo quotaoff -avug
sudo quotaon -avug 或 sudo quotaon /home
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: quotaon: 设备或资源忙怎么办 26楼求回答

#28

帖子 243750496 » 2013-07-16 17:47

http://13428668762.blog.51cto.com/3319384/898535
Ubuntu用户磁盘配额设置
quota
1.安装磁盘配额工具: quota
aptitude install quota

2.备份并修改文件 /etc/fstab ,使得文件系统支持 quota :
sudo cp /etc/fstab /etc/fstab-orig (备份/etc/fstab文件)
sudo gedit /etc/fstab
修改挂载点 / 的<options>,加入下面代码: ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 。 如下图

3.重新挂载 / ,使修改生效:
mount -o remount /

4.扫描文件系统并建立quota的配额文件,该过程耗时较长:
quotacheck –avugm (扫描文件系统,自动创建配额文件 /aquota.user 和 /aquota.group ,该过程耗时比较长。)

5.制作好quota配额文件后,启动 quota :
quotaon -avug

6. 设置用户磁盘配额,共有3种方式可供选择: (数字单位为 KB ,1000000 = 1GB)
a)通过文本编辑器设置用户磁盘配额,该方式比较直观,但是效率较低,不推荐批量使用。
edquota [-u username] [-g groupname] (使用效果入下图所示)

b)通过复制现有用户配置,为新用户设置磁盘配额,该方法效率较高,推荐使用。
edquota -p user1 -u user2 (把user1的配置复制给user2)

c)通过命令行直接设置用户磁盘配额,方便灵活,推荐使用。
setquota [-u|-g] username block(soft) block(hard) inode(soft) inode(hard)
(例: setquota -u user1 150000000 160000000 0 0 / 表示设置用户user1的磁盘配额为160GB)

7. 其他相关命令:
quotaoff -avug 关闭quota,配额失效。
edquota -t 修改宽限时间。
repquota -auvs 查询所有使用者的 quota 限制情况, 效果入下图所示:





http://wiki.ubuntu.org.cn/Vsftpd%E5%AE%9E%E4%BE%8B
下面我们使用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

第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数,单位为KB。随后的两列用来设置用户在该文件系统上的软硬块限度。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

按你的需要修改后存盘退出
这样我们就成功的为ftpuser增添了磁盘配额.而一个比较完整的FTP站点也配置完成了

上面两个要结合着看

正确步骤:

1、sudo apt-get install quota
2、sudo gedit /etc/fstab
3、则将/etc/fstab中根分区的记录的第4个字段改成defaults,usrquota,这样这条记录看起来类似这样:
UUID=05103698-6dcd-43c2-bd51-ef4481cda4e8 / ext4 defaults,usrquota 0 1
4、输入sudo mount -o remount /
5、输入:
sudo quotacheck -acufm #检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表
sudo quotacheck -avufm #生成每个启用了配额的文件系统的当前磁盘用量表
sudo edquota ftpuser #为用户ftpuser设置磁盘配额
注:保存:ctrl+o->回车;退出:ctrl+x
6、sudo edquota -t(可选):设置软限可被超过的时间
注:软限可以在一段时期内被超过。这段时期被称为过渡期(grace period)。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置.按你的需要修改后存盘推出.
7、输入:
sudo quotaoff -avug
sudo quotaon -avug
8、sudo service vsftpd restart
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: quotaon: 设备或资源忙怎么办 26楼求回答

#29

帖子 243750496 » 2013-07-17 23:01

20楼不对!如果都是sufficient 那么检测虚拟用户时由于前面验证不是本地用户,前两个sufficient返回错误值,会导致后面两个sufficient失效。所以必须后面是两个required,但是为什么我只要把哪个放到最后哪个就不能登录?其他的用户却正常???
依旧报相同的错误
cc@thinkpad:~$ sudo tail -f /var/log/auth.log
Jul 17 22:58:51 thinkpad vsftpd: PAM unable to dlopen(pam_cap.so): /lib/security/pam_cap.so: cannot open shared object file: No such file or directory
Jul 17 22:58:51 thinkpad vsftpd: PAM adding faulty module: pam_cap.so
Jul 17 22:58:51 thinkpad vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: cannot open shared object file: No such file or directory
Jul 17 22:58:51 thinkpad vsftpd: PAM adding faulty module: pam_shells.so
Jul 17 22:58:51 thinkpad vsftpd: PAM unable to dlopen(pam_gnome_keyring.so): /lib/security/pam_gnome_keyring.so: cannot open shared object file: No such file or directory
Jul 17 22:58:51 thinkpad vsftpd: PAM adding faulty module: pam_gnome_keyring.so
Jul 17 22:58:51 thinkpad vsftpd: pam_mysql - SELECT returned no result.
Jul 17 22:58:51 thinkpad vsftpd: pam_mysql - SELECT returned no result.
Jul 17 23:02:14 thinkpad sudo: cc : TTY=pts/1 ; PWD=/home/cc ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/auth.log
Jul 17 23:02:14 thinkpad sudo: pam_unix(sudo:session): session opened for user root by cc(uid=0)
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_deny.so): /lib/security/pam_deny.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_deny.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_permit.so): /lib/security/pam_permit.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_permit.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_umask.so): /lib/security/pam_umask.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_umask.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_xdg_support.so): /lib/security/pam_xdg_support.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_xdg_support.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_ck_connector.so): /lib/security/pam_ck_connector.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_ck_connector.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_cap.so): /lib/security/pam_cap.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_cap.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_shells.so): /lib/security/pam_shells.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_shells.so
Jul 17 23:02:20 thinkpad vsftpd: PAM unable to dlopen(pam_gnome_keyring.so): /lib/security/pam_gnome_keyring.so: cannot open shared object file: No such file or directory
Jul 17 23:02:20 thinkpad vsftpd: PAM adding faulty module: pam_gnome_keyring.so
Jul 17 23:02:20 thinkpad vsftpd: pam_mysql - SELECT returned no result.

貌似安了ia32-libs后缺的库变多了,怎么办????
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: quotaon: 设备或资源忙怎么办 26楼求回答

#30

帖子 243750496 » 2013-07-17 23:29

决定明天1、安装ia32-libs不安libpam-ldap看看行不行,因为安完ia32-libs后会多出个32位的libgcc_s.so.1,
2、按http://hi.baidu.com/278333422/item/0608015d0d40b518db163552地址中的方法配置mysql而不是用http://wiki.ubuntu.org.cn/Vsftpd%E5%92%8Cmysql%E9%85%8D%E7%BD%AE的方法
回复