Я предполагаю, что вы используете 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
. Я ожидаю, что это будет плохой идеей.
Это может произойти, если текущий рабочий каталог был удален:
$ 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()
возвращается с ошибкой)