Что означает '.' то есть как рабочий каталог?

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

Если ваш дистрибутив хоть как-то в порядке, дисковые блочные устройства, такие как /dev/sda, будут настроены так, что только rootсмогут получить к ним доступ. В Debian/Ubuntu устройства также доступны для чтения и записи для группы disk, но в группе нет участников, если они не добавлены вручную :

.
# ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jun 19 17:14 /dev/sda

Что касается предотвращения корневого доступа к дискам, это нелегко сделать с обычными разрешениями, поскольку rootпереопределяет биты разрешения и имеет доступ в любом случае. Даже если бы вы могли это сделать (, например. полностью удалив узлы устройств ), это сломает такие вещи, как blkid, fsckи любые инструменты, запущенные udev. Я ожидаю, что это будет плохой идеей.

5
27.08.2020, 18:24
1 ответ

Это может произойти, если текущий рабочий каталог был удален:

$ zsh -c 'mkdir dir; cd dir; rmdir $PWD; cd.; pwd; readlink /proc/self/cwd; command pwd'
.
/home/chazelas/dir (deleted)
pwd: couldn't find directory entry in ‘..’ with matching i-node

(cd.заставляет zsh дважды -проверять, какой у него текущий каталог, и возвращается к.(единственно возможному допустимому пути к текущему рабочему каталогу ), когда getcwd()возвращается с ошибкой)

4
18.03.2021, 23:09

Теги

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