Странное поведение Setgid

Вот пример:

ip address show | awk '/inet / {split($2,var,"/*"); print $7,":",var[1]}'

вывод должен быть примерно таким:

 : 127.0.0.1
enp3s0f0: 10.5.2.10
enp3s0f1:.......
enp4s0f0:.......
enp4s0f1:.......
1
05.11.2019, 17:44
1 ответ

Ссылку не нашел, просто проверил. Проблема не связана с setgid, а зависит только от UID, GID процесса и файла и прав доступа к файлу.

Я создал файл

echo test > test.txt

изменены разрешения

chmod 064 test.txt

и больше не может получить к нему доступ

$ cat test.txt
cat: test.txt: Permission denied

, хотя у моей группы есть rwдоступ.

$ ls -l test.txt
----rw-r-- 1 myuser myuser 5 Nov  5 16:11 test.txt
$ id
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),129(sambashare)

Затем я изменил владельца файла на rootи могу успешно открыть файл.

$ sudo chown root test.txt 
$ ls -l test.txt
----rw-r-- 1 root myuser 5 Nov  5 16:11 test.txt
$ cat test.txt            
test

По-видимому, биты доступа владельца имеют приоритет над битами доступа группы, если и пользователь, и группа совпадают. (протестировано на Ubuntu 19.04)

Таким образом, обходным путем является добавление u+rwразрешений для файла или изменение владельца файла на что-то другое, а не wojtekили daro.

2
27.01.2020, 23:29

Теги

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