. Итак, наши серверы настроены-:
Структура папок
/asic
— это папка нашего большого проекта, /200T
— это подпроект этого большого проекта, а папки прямо под /200T
, такие как /lbh
, — это личные каталоги каждого работника, который работает над подпроект. /asic
, /200T
, /lbh
были созданы root
, а затем их свойства были перенастроены пользователем root через chmod -R
и chown -R
. /asic
и /200T
принадлежат root
и принадлежат к группам asic
и 200T
соответственно, а /lbh
принадлежит учетной записи пользователя рабочего lbh
и принадлежит к группе asic
.
Идея состоит в том, что содержимое в /asic
и /200T
могут видеть все сотрудники, работающие над asic
и 200T
, но они не могут иметь права на запись в эти 2 каталога--, если хотят что-то создать., им придется делать это в своих собственных каталогах(/lbh
и т.п.). Когда воркер создает что-то в своем собственном каталоге, мы хотим, чтобы другие воркеры того же под-проекта могли читать это новое, но не изменять его случайно. Например, lbh
только что создал файл testbench.v
и папку /results
в папке /asic/200T/lbh
. Другой человек(glj
)в подпроекте 200T
должен иметь возможность читать /asic/200T/lbh/testbench.v
и /asic/200T/lbh/results
, но не записывать в них. Если glj
захочет изменить их, ему придется скопировать их в свой собственный каталог /asic/200T/glj
, а затем сделать это.
Для достижения вышеуказанных целей нам нужно, чтобы права доступа к каталогам, созданным lbh
, были drwxr-s---
, а к файлам — rwxr-s---
по умолчанию, однако в действительности это выглядит так:
Файлы и папки, созданные lbh и root
В результате каждый рабочий процесс может записывать в свои собственные папки и файлы, чего мы пытаемся избежать. umask
из root
— 0022
, а umask
обычных пользователей — 0002
.
Мои вопросы:
/lbh
)в их личных каталогах (какlbh
)игнорируют drwxr-s---
разрешение личной папки и по умолчанию (d)rwxrwsr-x
?chmod
все каждый раз слишком хлопотно, и я обеспокоен тем, что изменение значения по умолчанию umask
может привести к новым неожиданные проблемы в будущем.Большое спасибо!
Править:Структура папок и права доступа к файлам, созданным lbh и root, выглядят следующим образом:
[lbh@<machine> lbh]$ ls -al
total 16
drwxr-s---. 4 lbh 200T 4096 Oct 1 02:40.
drwxr-sr-x. 4 root 200T 4096 Oct 1 02:18..
drwxrwsr-x. 2 lbh 200T 4096 Oct 1 02:26 aaa_lbh
drwxr-sr-x. 2 root 200T 4096 Oct 1 02:26 aaa_root
-rw-rw-r--. 1 lbh 200T 0 Oct 1 02:38 file_lbh.txt
-rw-r--r--. 1 root 200T 0 Oct 1 02:40 file_root.txt
[lbh@<machine> lbh]$ pwd
/asic/200T/lbh
[lbh@<machine> lbh]$ cd..
[lbh@<machine> 200T]$ ls -al
total 16
drwxr-sr-x. 4 root 200T 4096 Oct 1 02:18.
drwxr-x---. 3 root asic 4096 Oct 1 02:16..
drwxr-sr-x. 2 root 200T 4096 Oct 1 02:18 aaa
drwxr-s---. 4 lbh 200T 4096 Oct 1 02:40 lbh
[lbh@<machine> 200T]$ pwd
/asic/200T
[lbh@<machine> 200T]$
И getfacl
результаты каталогов и файлов следующие:
[lbh@<machine> Desktop]$ getfacl /asic
getfacl: Removing leading '/' from absolute path names
# file: asic
# owner: root
# group: asic
user::rwx
group::r-x
other::---
[lbh@<machine> Desktop]$ getfacl /asic/200T/
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/
# owner: root
# group: 200T
# flags: -s-
user::rwx
group::r-x
other::r-x
[lbh@<machine> Desktop]$ getfacl /asic/200T/lbh
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/lbh
# owner: lbh
# group: 200T
# flags: -s-
user::rwx
group::r-x
other::---
[lbh@<machine> Desktop]$ getfacl /asic/200T/lbh/aaa_lbh/
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/lbh/aaa_lbh/
# owner: lbh
# group: 200T
# flags: -s-
user::rwx
group::rwx
other::r-x
[lbh@<machine> Desktop]$ getfacl /asic/200T/lbh/aaa_root/
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/lbh/aaa_root/
# owner: root
# group: 200T
# flags: -s-
user::rwx
group::r-x
other::r-x
[lbh@<machine> Desktop]$ getfacl /asic/200T/lbh/file_lbh.txt
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/lbh/file_lbh.txt
# owner: lbh
# group: 200T
user::rw-
group::rw-
other::r--
[lbh@<machine> Desktop]$ getfacl /asic/200T/lbh/file_root.txt
getfacl: Removing leading '/' from absolute path names
# file: asic/200T/lbh/file_root.txt
# owner: root
# group: 200T
user::rw-
group::r--
other::r--
[lbh@<machine> Desktop]$ touch hello.txt
[lbh@<machine> Desktop]$ mkdir hi
[lbh@<machine> Desktop]$ ls -al
total 12
drwxr-xr-x. 3 lbh lbh 4096 Oct 9 17:28.
drwx------. 36 lbh lbh 4096 Oct 9 17:21..
-rw-rw-r--. 1 lbh lbh 0 Oct 9 17:27 hello.txt
drwxrwxr-x. 2 lbh lbh 4096 Oct 9 17:28 hi
[lbh@<machine> Desktop]$ getfacl hi
# file: hi
# owner: lbh
# group: lbh
user::rwx
group::rwx
other::r-x
[lbh@<machine> Desktop]$ getfacl hello.txt
# file: hello.txt
# owner: lbh
# group: lbh
user::rw-
group::rw-
other::r--
[lbh@<machine> Desktop]$