Я плохо знаком с ACL в Linux (но знающий о них из окон) и пытаюсь настроить доступ для записи (для mr_green) к папке в домашней папке другого пользователя (mr_blue). То, что происходит, - то, что mr_green последовательно получает "Разрешение Отклоненные" ошибки. Я вполне уверен, я настроил все правильно, но я не положителен, если это - я или конфигурация моей файловой системы....
Вот то, что возвращает getfacl:
mr_blue@vps_machine:~$ whoami
mr_blue
mr_blue@vps_machine:~$ umask
0022
mr_blue@vps_machine:~$ getfacl shared_dir
# file: shared_dir
# owner: mr_blue
# group: mr_blue
user::rwx
user:mr_green:rwx
group::r-x
group:mr_green:rwx
mask::rwx
other::---
default:user::rwx
default:user:mr_green:rwx
default:group::r-x
default:group:mr_green:rwx
default:mask::rwx
default:other::---
mr_blue@vps_machine:~$ ls -al .
...
drwxrwx---+ 2 mr_blue mr_blue 4096 Dec 15 13:34 shared_dir
И содержание той папки:
mr_blue@vps_machine:~$ ls -al shared_dir
total 16
drwxrwx---+ 2 mr_blue mr_blue 4096 Dec 15 13:34 .
drwxr-x--- 21 mr_blue mr_blue 4096 Dec 15 11:58 ..
-rw-rwxr--+ 1 mr_blue mr_blue 6 Dec 15 16:42 ok.txt
mr_blue@vps_machine:~$ getfacl shared_dir/ok.txt
# file: shared_dir/ok.txt
# owner: mr_blue
# group: mr_blue
user::rw-
user:mr_green:rwx
group::r-x
group:mr_green:rwx
mask::rwx
other::r--
И когда я вхожу в систему как mr_green, я получаю Разрешение Отклоненные ошибки:
mr_green@vps_machine:~$ whoami
mr_green
mr_green@vps_machine:~$ umask
0022
mr_green@vps_machine:~$ cat /home/mr_blue/shared_dir/ok.txt
cat: /home/mr_blue/shared_dir/ok.txt: Permission denied
Осматривая сеть для различных индикаторов проблем, кажется, что это должно работать хорошо..., но я не понимаю, почему это не. Любая справка или приветствующиеся предложения!
Вот результаты различной конфигурации, которая может быть связана:
# mount | grep vda1
/dev/vda1 on / type ext3 (rw,relatime,quota,usrquota,grpquota,errors=remount-ro,data=ordered)
# mount -v -o remount,acl /dev/vda1
mount: /dev/vda1 mounted on /.
# mount | grep vda1
/dev/vda1 on / type ext3 (rw,relatime,quota,usrquota,grpquota,errors=remount-ro,data=ordered)
# tune2fs -l /dev/vda1 | grep "Default mount options"
Default mount options: user_xattr acl
# cat /etc/fstab
...
UUID=xxx / ext3 defaults,acl,errors=remount-ro,rw,grpquota,usrquota 0
# cat /boot/config-4.4.0-170-generic | grep ACL
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HFSPLUS_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CEPH_FS_POSIX_ACL=y
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y
Я замечаю, что последняя команда ничего не перечисляет для CONFIG_EXT3...
таким образом, это могла быть причина...? Но я не знаю, так ли это, ни как продолжить двигаться...
Даже с ACLs, пользователь может только получить доступ к каталогу, если они могут получить доступ к каждому компоненту контура, таким образом, здесь доступ к /home/mr_blue/shared_dir
требует доступа ко всем из /
, /home
, /homr/mr_blue
, и /home/mr_blue/shared_dir
. Доступ для записи не нужен к родительским каталогам, конечно, так как пользователь не должен писать в них, только r
ead и ex
ecute (обзор).
, Если mr_blue
не хочет предоставлять доступ к /home/mr_blue
, общий каталог должен быть создан в другом месте в системе как подкаталог каталога, к которому могут получить доступ оба пользователя. Доступ к каталогу может, конечно, быть ограничен теми двумя пользователями только (и корень). Пользователи могут также создать символьную ссылку на него в их корневом каталоге для легкого доступа, если они желают