美好的一天! 我有一个位于VM的linux sftp服务器。此VM可以访问sftp目录所在的GlusterFS存储。 Sftp通过OpenSSH服务器和chroots sftpusers组工作到GlusterFS存储上的sftp目录。一切都运作良好......过了一会儿,我遇到了一个问题...... 试图创建用户:
# useradd -d /mnt/cluster-data/repositories/masters/test-user -G masters,sftpusers -m -s /bin/nologin test-user
检查:
# cat /etc/passwd | grep test-user
test-user:x:1029:1032::/mnt/cluster-data/repositories/masters/test-user:/bin/nologin
# cat /etc/group | grep test-user
masters:x:1000:test-user
sftpusers:x:1005:test-user
test-user:x:1032:
手动为家庭目录做chown和chmod:
# chown -R test-user:test-user /mnt/cluster-data/repositories/masters/test-user
# chmod -R 770 /mnt/cluster-data/repositories/masters/test-user
检查:
# ls -la /mnt/cluster-data/repositories/masters/test-user
итого 16
drwxrwx--- 2 test-user test-user 4096 Окт 27 2013 .
drwxr-xr-x 13 root masters 4096 Окт 27 2013 ..
将另一个用户添加到测试用户的组:
# usermod -G test-user -a tarasov-af
# cat /etc/passwd | grep tarasov-af
tarasov-af:x:1028:1006::/mnt/cluster-data/repositories/lecturers/tarasov-af/:/bin/nologin
# cat /etc/group | grep tarasov-af
masters:x:1000:tarasov-af,test-user
sftpusers:x:1005:tarasov-af,test-user
lecturers:x:1006:tarasov-af
specialists:x:1008:tarasov-af
test-user:x:1032:tarasov-af
以tarasov-af登录:
sftp> cd masters/test-user
sftp> ls
remote readdir("/masters/test-user"): Permission denied
sftp> ls -la ..
drwxr-xr-x 13 0 1000 4096 Oct 26 21:30 .
drwxr-xr-x 6 0 0 4096 Oct 2 15:53 ..
drwxrwx--- 2 1029 1032 4096 Oct 26 21:53 test-user
我尝试以tarasov-af身份登录bash(usermod -s / bin / bash tarasov-af):
$ id
uid=1028 gid=1006
groups=1000,1005,1006,1008,1032
P.S。我想这个问题是在VM磁盘发生故障后开始的,我已经/ etc / passwd和/ etc / group坏了,我已经从备份恢复了它们,所有以前的帐户运行良好,我只有新帐户才有这个问题。
答案 0 :(得分:0)
我找到了这个问题的原因:用户tarasov-af有超过16个二级组,前15个组工作正常,其他 - 不工作。我在集群中的每台计算机(GlusterFS)和sftp VM上的sysctl.conf中设置了kernel.ngroups_max = 65535,但没有任何改变。
答案 1 :(得分:0)
此问题发生在glusterfs客户端,它无法操作超过15个辅助组。
# glusterfs --version
glusterfs 3.2.7 built on Sep 29 2013 03:28:05