良い一日!VM に Linux sftp サーバーがあります。この VM は、sftp ディレクトリがある GlusterFS ストレージにアクセスできます。sftp は OpenSSH サーバーを介して機能し、sftpusers グループを GlusterFS ストレージの sftp ディレクトリに chroot します。すべてうまくいきました...しばらくすると、問題が発生しました...ユーザーを作成しようとしています:
# 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 ..
別のユーザーを test-user のグループに追加する:
# 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
ps この問題は、VM ディスクに障害が発生し、/etc/passwd と /etc/group が壊れた後に始まったと思います。バックアップから復元したところ、以前のアカウントはすべて正常に機能しました。この問題は新しいアカウントでのみ発生します。