Разрешить только ls для каталогов

Для меня на Fedora 26работающем gnome 3.24эти пакеты были фактически установлены как пакеты ОС.

Если я запускаю sudo dnf list installed | grep -i gnome, я обычно вижу их с именем вроде gnome-shell-extension-foo.

Я мог бы удалить их, удалив этот пакет и не используя страницу установленных расширений напрямую. Я перезапустил сеанс браузера, и эти расширения исчезли из списка.

0
20.10.2019, 11:16
2 ответа

Пример:

#change current directory to /tmp/
vodka@vodka-PC:~$ cd /tmp/

#create my_folder directory in tmp
vodka@vodka-PC:/tmp$ mkdir my_folder

#chnage directory permissions to 775 
(all people can show dir content and make cd, 
but can not remove or create new files)
vodka@vodka-PC:/tmp$ chmod 775 my_folder/

#check permissions
vodka@vodka-PC:/tmp$ ls -ld my_folder
drwxrwxr-x 2 vodka vodka 4096 окт 20 11:26 my_folder

#create new test file
nano./my_folder/test_file.txt

#chage file permission to 770 (only owner and member of groups can show file content and modify it)
vodka@vodka-PC:/tmp$ chmod 770./my_folder/test_file.txt

#test it. Switch to postgres user and show dir content. We see files in directory
vodka@vodka-PC:/tmp$ sudo su - postgres
postgres@vodka-PC:~$ ls -l /tmp/my_folder/
-rwxrwx--- 1 vodka vodka 4 окт 20 11:27 test_file.txt
#try to show file content, remove or create new files in dir
cat: /tmp/my_folder/test_file.txt: Permission denied
postgres@vodka-PC:~$ >/tmp/my_folder/test_file_2.txt
-bash: /tmp/my_folder/test_file_2.txt: Permission denied
postgres@vodka-PC:~$ rm /tmp/my_folder/test_file.txt
rm: remove write-protected regular file '/tmp/my_folder/test_file.txt'? y
rm: cannot remove '/tmp/my_folder/test_file.txt': Permission denied

Таким образом, другие пользователи могут показывать только список файлов.

0
28.01.2020, 02:39

Важным флагом является флаг «выполнения» в каталоге,который в каталогах на самом деле является «проходимым» флагом. Если он не установлен, каталог нельзя использовать в пути. Таким образом, :1 )вы не можете использовать компакт-диск, а 2 )вы не можете использовать файлы в каталоге.

Давайте настроим тестовый ритг с каталогом и файлом

>>mkdir listonly
>>touch listonly/uselessfile

Пока все хорошо:

>>ls listonly/
uselessfile

Изменить исполняемый флаг каталога:

>>chmod -x listonly

Вы больше не можете сделать перезарядку:

>>cd listonly
bash: cd: listonly: Permission denied

При использовании lsвы можете видеть файлы:

>>ls listonly/
uselessfile

Однако во многих случаях lsимеет псевдоним для добавления некоторых опций, требующих просмотра метаданных для каждого файла (флаги, отметка времени, размер... ), чего он не может сделать, поскольку для этого требуется использование каталог в пути (для меня, который был ls --color=auto'), поэтому вы должны использовать обычный ls, иначе вы получите файлы, но с неприглядными ошибками:

>>ls listonly/
ls: cannot access 'listonly/uselessfile': Permission denied
uselessfile

Обратите внимание, что файловые менеджеры обычно меняют свой рабочий каталог на целевой каталог, чтобы просмотреть его содержимое, поэтому это может не очень хорошо работать с графическими интерфейсами.

1
28.01.2020, 02:39

Теги

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