Подразумевает ли параметр монтирования noexec nosuid?

Магия Perl:

$ perl -lne '@F=split(/\s*\|\s*/); push @{$k{"$F[1].$F[2]"}},$F[0]; 
     END{foreach (keys(%k)){print "[$_]"; print join "\n",@{$k{$_}}} }' file
[abc.environment1]
hostname1.env1.domain
hostname2.env1.domain
[def.environment1]
hostname5.env1.domain
[abc.environment2]
hostname3.env2.domain
hostname4.env2.domain
[def.environment2]
hostname6.env2.domain
6
08.06.2017, 17:30
1 ответ

Спасибо LJKims за ссылку, она помогает мне ответить на мой собственный вопрос. Я забыл, что бит suid/sgid также может быть установлен для каталогов.

Согласно документации GNU coreutils файлы и каталоги, созданные в каталоге suid -, наследуют владельца каталога (каталоги sgid -, очевидно, наследуют группу ). Таким образом, если вы хотите избежать такого поведения, установка noexec и nosuid в точке монтирования имеет смысл .

Для полноты картины :в моих тестах на текущем Debian бит suid для каталогов не действует, но только бит sgid заставляет файлы/каталоги наследовать группу каталога.

# mkdir /test
# chmod 6777 /test
# ls -ld /test
drwsrwsrwx 2 root root 4096 Jun 10 18:50 /test
$ mkdir /test/foo; touch /test/bar
$ ls -l /test
-rw-r--r-- 1 user root    0 Jun 10 18:51 bar
drwxr-sr-x 2 user root 4096 Jun 10 18:51 foo

Редактировать:Для полноты картины :Параметр монтирования nosuid не влияет на каталоги sgid -(в Debian 8 по крайней мере ).

# mount -o loop,nosuid test.img /test
# mkdir /test/foo
# chmod 2777 /test/foo
$ touch /test/foo/bar; mkdir /test/foo/baz
$ ls -l /test/foo
-rw-r--r-- 1 user root    0 Jun 12 09:46 bar
drwxr-sr-x 2 user root 4096 Jun 12 09:46 baz
3
27.01.2020, 20:30

Теги

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