После обычных типов файлов, файлов FIFO и сокетов mknod может также создавать файлы устройств. Они используются для доступа к устройствам.
Предоставление доступа устройствам считается привилегированной операцией. Как правило, мы не хотим создавать произвольные узлы устройств и делать их доступными для обычных пользователей. Это было бы плохо.
[В сторону: Обычно доступ к устройству предоставляется путем изменения разрешений на существующем узле устройства. В стандартном Linux / dev /
управляется udev
, так что вы возитесь с дополнительными правилами udev].
$ mount|grep -w /
/dev/mapper/vg_fossil-root on / type ext4 (rw,seclabel,data=ordered)
$ ls -l /dev/mapper/vg_fossil-root
lrwxrwxrwx. 1 root root 7 Jan 18 08:46 /dev/mapper/vg_fossil-root -> ../dm-0
$ ls -l /dev/dm-0
brw-rw----. 1 root disk 253, 0 Jan 18 08:46 /dev/dm-0
Как root:
# mknod root-partition b 253 0
# chmod a+rw root-partition # make file available as if created as a normal user
Теперь у меня есть прямой доступ к устройству, на котором хранится ваша файловая система.
$ ls -l root-partition
brw-rw-rw-. 1 root root 253, 0 Jan 18 15:05 root-partition
Я могу читать данные из файлов, на которые у меня иначе не было бы прав
$ grep secret root-parition
Binary file root-partition matches
, или удалил "echo" перед следующей командой, и ваша файловая система больше не существовала.
$ echo dd if=/dev/zero of=root-partition
После создания дополнительных файлов устройства для игры их можно безопасно удалить, ничего не повредив.
$ rm root-partition
Если, конечно, вы не сделаете ошибку и не удалите не тот файл, или, возможно, буквально все файлы. Эта команда не выполняет отмену / восстановление или запрашивает подтверждение. Командная строка неумолима :). Единственная защита заключается в том, что без -r
или *
никакие каталоги не удаляются.
ps -eo pid,comm,lstart,etime,time,args
Эта команда выводит список всех процессов с несколькими столбцами, -связанными со временем. передайте его на grep ffmpeg
, чтобы узнать об интересующем вас процессе.
Вывод предыдущей команды имеет следующие столбцы:
PID COMMAND STARTED ELAPSED TIME COMMAND
по пс ман
PID = Process ID
first COMMAND = only the command name without options and without arguments
STARTED = the absolute time the process was started
ELAPSED = elapsed time since the process was started (wall clock time), format [[dd-]hh:]mm:ss TIME = cumulative CPU time, "[dd-]hh:mm:ss" format
second COMMAND = again the command, this time with all its provided options and arguments