Папка ТОЛЬКО с разрешением записи является бесполезным … правом?

Это должно работать отлично:

[ ! -t 0 ] && xset b off                                  

http://tldp.org/LDP/abs/html/fto.html

-t

    file (descriptor) is associated with a terminal device

    This test option may be used to check whether the stdin [ -t 0 ] 
    or stdout [ -t 1 ] in a given script is a terminal.

Так, когда это оценивает ко лжи ([ ! -t 0 ]) мы находимся в среде GUI.

10
10.12.2014, 11:43
2 ответа

Вы все правильно поняли. Лучше думать о разрешении на выполнение, если оно позволяет вам делать что-то с именем файла или каталога в каталоге (кроме простого чтения самого имени). Большинство из этих вещей включает в себя перевод имени в индексный дескриптор, но это также включает создание новых имен и удаление существующих имен.

Разрешение на запись в каталог без выполнения, следовательно, довольно бесполезно, поскольку вы действительно ничего не можете записать, если не можете получить доступ к файлам в нем.

3
27.01.2020, 20:03
  1. Эта моя аналогия верна, или это большой промах?

Я думаю, это верно, вам нужно разрешение wx, чтобы иметь возможность писать в папку.

  1. Независимо от предыдущего ответа, существует ли ситуация, когда наличие папки с описанными разрешениями уместно?

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

Ситуация, описанная выше, полезна в устройствах автоматического контроля скорости. Эти блоки должны проходить процесс проверки, в котором государственный служащий должен свести к минимуму возможности фальсификации. Некоторые автоматические блоки ускорения имеют внешнюю карту памяти sd, на которой система хранит регистры нарушений. Но она также может хранить "волшебный" конфигурационный файл, который незаконно изменяет поведение проверяемого подразделения. Таким образом, процесс записи регистра нарушения не должен быть способен ничего прочитать с карты памяти sd.

Вот пример, сначала только запись, потом как заставить его работать с wx:

Mount a device

root@leon:/media# mount -o umask=527,uid=enforcer,gid=ftp /dev/sdb1 /media/pen/
root@leon:/media# ls /media/pen/ -la
total 44
d-w-r-x--- 10 enforcer ftp  4096 Dec 31  1969 .
drwxr-xr-x  8 root     root 4096 Oct 17 16:14 ..

then with user enforcementcer try to write a new file

enforcer@leon:~$ touch /media/pen/hola
touch: cannot touch ‘/media/pen/hola’: Permission denied

unmount and remount with wx

root@leon:/media# umount /dev/sdb1
root@leon:/media# mount -o umask=427,uid=enforcer,gid=ftp /dev/sdb1 /media/pen/
root@leon:/home/jjorge# ls /media/pen/ -la
total 44
d-wxr-x--- 10 enforcer wim  4096 Dec 31  1969 .
drwxr-xr-x  8 root     root 4096 Oct 17 16:14 ..

try again

enforcer@leon:~$ touch /media/pen/hola
enforcer@leon:~$ ls /media/pen/
ls: cannot open directory /media/pen/: Permission denied
enforcer@leon:~$ cat /media/pen/hola
cat: /media/pen/hola: Permission denied

ftp@leon:/home/jjorge$ ls /media/pen/ -la
total 44
d-wxr-x--- 10 enforcer ftp  4096 Oct 20 10:20 .
drwxr-xr-x  8 root     root 4096 Oct 17 16:14 ..
--wxr-x---  1 enforcer wim     0 Oct 20 10:20 hola

With this configuration now вы можете записать

.
1
27.01.2020, 20:03

Теги

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