В CentOS 6, как разрешить -файлам, созданным пользователем, наследовать разрешения от их родительского каталога?

. Итак, наши серверы настроены-:
Структура папок

/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из root0022, а umaskобычных пользователей — 0002.

Мои вопросы:

  1. Почему файлы, созданные пользователями (как/lbh)в их личных каталогах (какlbh)игнорируют drwxr-s---разрешение личной папки и по умолчанию (d)rwxrwsr-x?
  2. Существует ли безопасный способ разрешить работникам создавать файлы и папки? с (d)rwxr-s---по умолчанию? Попросите каждого пользователя вручную 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]$ 
0
задан 6 October 2021 в 07:24
0 ответов

Теги

Похожие вопросы