Кто создал файлы в & ldquo; / proc & rdquo; с моим именем пользователя?

Я только что узнал о безопасности файлов, пользователях & amp; группа и т. д. И я очень ценю элегантность файловой системы Linux.

Мое имя пользователя lyg, и я обнаружил, что есть некоторые файлы с владельцем lyg в /proc/, как показано ниже:

lyg@lyg-VirtualBox:~$ ll /proc/|grep lyg
dr-xr-xr-x   8 root       lyg                 0 Aug  7 09:11 1119/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 09:47 1298/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 22:05 7097/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 22:05 7098/

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

lyg@lyg-VirtualBox:~$ ls -ld /proc/
dr-xr-xr-x 108 root root 0 Aug  7 09:10 /proc/

и вот моя информация о процессах, из которой я знал, что /proc/1298/ был связан с -bash процессом:

lyg@lyg-VirtualBox:~$ ps -ef|grep lyg
avahi      452     1  0 09:11 ?        00:00:00 avahi-daemon: running [lyg-VirtualBox.local]
lyg       1298  1119  0 09:11 tty1     00:00:22 -bash
lyg       7099  1298  0 22:05 tty1     00:00:00 ps -ef
lyg       7100  1298  0 22:05 tty1     00:00:00 grep --color=auto lyg

Итак, как создаются эти файлы в /proc/?

1
задан 7 August 2012 в 19:36

3 ответа

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

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

  1. Сначала посмотрите количество файлов в /proc от имени вас

     ll /proc/ | grep lyg | wc -l
    
  2. Затем создайте еще один процесс. Пусть новый процесс будет другим bash экземпляром. Поэтому введите bash и нажмите Enter.

  3. Снова выполните эту команду

    ll /proc/ | grep lyg | wc -l
    

    Теперь вы можете видеть, что есть еще как минимум 1 файл. Этот файл создан для нового процесса

  4. Затем выйдите из вновь созданного bash с помощью команды exit.

  5. Теперь снова введите эту команду:

    ll /proc/ | grep lyg | wc -l
    

Вы увидите, что теперь вывод на 1 меньше, чем предыдущий. Потому что ОС удалила файл, соответствующий только что существовавшему или прерванному процессу bash.

0
ответ дан 7 August 2012 в 19:36

Эти файлы в /proc/nnnnn создаются ядром для каждого процесса (PID), работающего в вашей системе, и содержат информацию и данные низкого уровня, относящиеся к процессу.

Как вы, возможно, знаете, суперпользователь (или root) может создавать файлы с любым владельцем и любыми разрешениями ... и ядро ​​эффективно работает с полными привилегиями (как «root»), поэтому оно может создавать эти файлы на ваше имя.

0
ответ дан 7 August 2012 в 19:36

Процесс, запущенный вами, может создавать другие процессы под управлением вашей учетной записи. Может быть, вы запустили какое-то приложение, которое создало другие вилки.

lyg       1298  1119  0 09:11 tty1     00:00:22 -bash
lyg       7099  1298  0 22:05 tty1     00:00:00 ps -ef
lyg       7100  1298  0 22:05 tty1     00:00:00 grep --color=auto lyg

и эти три в настоящее время выполняют процесс для отображения вывода; созданный вами.

0
ответ дан 7 August 2012 в 19:36

Другие вопросы по тегам:

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