Доброго времени суток всем! Вопрос собственно по данной команде - могу ли я используя чтение диска напрямую посекторно сменить аттрибуты/флаги/владельца у файла? То есть: 1. Считываем сектор или несколько секторов 2. Ищем среди них информацию по интересующей директории или конкретно файлу 3. Меняем аттрибуты файла 4. Пишем на место В принципе, метод считывания интересует менее всего, интересует надо ли для этих действий иметь рута?
Надо что бы были права на запись, но, как правило, даже читать может только рут. Но ещё все зависит от ядра, можно наложить патчи, что бы запретить dd писать в файлы устройств например
А по умолчанию читать можно? Т.е., если некто знает структуру passwd/shadow файла, прямым чтением с диска он может вытянуть хеш рута. Если, скажем, он исходит из того, что любой файл начинается на границе сектора, и смотрит по регулярным выражениям, типа: ^root:*.:*.:*.:*.:*.$ (для passwd файла) Потом, если запрещено чтение и запись, как же юзеру, скажем, запускать и создавать файлы? (конечно, это справедливо, если /home не на другом устройстве, т.к. если на отличном от /, тогда вопрос ясен - к / доступ закрыл и усё, а вот если они на одном устройстве?).
$ ls -l /dev/hd* brw-r----- 1 root disk 3, 0 Jul 1 16:59 /dev/hda brw-r----- 1 root disk 22, 0 Jul 1 20:58 /dev/hdc brw-r----- 1 root disk 22, 1 Jul 1 20:58 /dev/hdc1 brw-r----- 1 root disk 22, 2 Jul 1 20:58 /dev/hdc2 brw-r----- 1 root disk 22, 5 Jul 1 20:58 /dev/hdc5 в винде аналог это \Device\HarddiskVolume