- Вопрос: Как узнать, кто создал файл в Linux?
- Как узнать, кто создал файл в Linux?
- Как узнать, кто создал файл?
- Как просмотреть сведения о файле в Linux)?
- Как узнать, какая программа создала файл?
- Как изменить владельца в Linux?
- Как мне найти группы в Linux?
- Как создаются файлы?
- Кто является автором-владельцем папки?
- Как найти владельца папки?
- Как просмотреть файл в терминале Linux?
- Как мне вывести список всех файлов в каталоге в Linux?
- Как проверить, кто создал папку в Windows?
- Похожие сообщения:
- How find out which process is using a file in Linux?
- How to determine which process is creating a file? [duplicate]
- 5 Answers 5
- Как узнать какой скрипт/программа создает определенную папку на сервере?
- 2 ответа 2
Вопрос: Как узнать, кто создал файл в Linux?
В Unix / Linux, как правило, вы не можете определить, кто создал файл. Все, что вы можете узнать, — это нынешний владелец файла.
Как узнать, кто создал файл в Linux?
Вы можете использовать команду ls -l (перечислить информацию о ФАЙЛАХ), чтобы найти владельца файла / каталога и имена групп. Параметр -l известен как длинный формат, который отображает типы файлов Unix / Linux / BSD, разрешения, количество жестких ссылок, владельца, группу, размер, дату и имя файла.
Как узнать, кто создал файл?
Вы можете посмотреть на владельца, чтобы узнать, какой пользователь создал файлы. Затем используйте что-то вроде Sysinternals Process Explorer, чтобы просмотреть процессы, которые выполняются под этим пользователем (щелкните правой кнопкой мыши столбцы и отметьте «Имя пользователя» на вкладке «Образ процесса».
Как просмотреть сведения о файле в Linux)?
Самый простой способ составить список файлов по имени — это просто перечислить их с помощью команды ls. В конце концов, список файлов по имени (в буквенно-цифровом порядке) используется по умолчанию. Вы можете выбрать ls (без деталей) или ls -l (много деталей), чтобы определить ваше представление.
Как узнать, какая программа создала файл?
Вы можете нажать & lt; F2 & gt; и выберите Файлы, нажмите & lt; F4 & gt; для поиска имени файла, затем нажмите & lt; F6 & gt;, чтобы «копать» (что покажет вам результат, аналогичный приведенной выше команде). После этого вы можете использовать тот же подход к поиску информации о процессе, который фактически создал файл.
Как изменить владельца в Linux?
Как изменить владельца файла
- ) Станьте суперпользователем или возьмите на себя аналогичную роль.
- Измените владельца файла с помощью команды chown. # chown имя файла нового владельца. новый владелец. Задает имя пользователя или UID нового владельца файла или каталога. имя файла. …
- Убедитесь, что владелец файла сменился. # ls -l имя_файла.
Как мне найти группы в Linux?
Чтобы вывести список групп в Linux, вы должны выполнить команду «cat» для файла «/ etc / group». При выполнении этой команды вам будет представлен список групп, доступных в вашей системе.
Как создаются файлы?
Как создаются файлы? Файл создается с помощью компьютерной программы. Например, для создания текстового файла вы должны использовать текстовый редактор, для создания файла изображения вы должны использовать редактор изображений, а для создания документа вы должны использовать текстовый процессор.
Кто является автором-владельцем папки?
СОЗДАТЕЛЬ ВЛАДЕЛЬЦА — группа. У него есть SID. Таким образом, он может быть назначен владельцем файла или папки. CREATOR OWNER имеет особое значение при использовании в записи управления доступом (ACE).
Как найти владельца папки?
Щелкните правой кнопкой мыши файл в проводнике Windows или проводнике, затем выберите «Свойства». Затем перейдите на вкладку «Безопасность». Нажмите или коснитесь кнопки «Дополнительно», и вы сможете увидеть владельца в списке. Обратите внимание, что в более старых версиях Windows до Windows 10 вам может потребоваться перейти на вкладку «Владелец», чтобы просмотреть информацию о текущем владельце.
Как просмотреть файл в терминале Linux?
Ниже приведены некоторые полезные способы открытия файла из терминала:
- Откройте файл с помощью команды cat.
- Откройте файл, используя команду less.
- Откройте файл с помощью команды more.
- Откройте файл с помощью команды nl.
- Откройте файл с помощью команды gnome-open.
- Откройте файл с помощью команды head.
- Откройте файл с помощью хвостовой команды.
Как мне вывести список всех файлов в каталоге в Linux?
- Чтобы вывести список всех файлов в текущем каталоге, введите следующее: ls -a Это список всех файлов, включая. точка (.)…
- Чтобы отобразить подробную информацию, введите следующее: ls -l chap1.profile. …
- Чтобы отобразить подробную информацию о каталоге, введите следующее: ls -d -l.
Как проверить, кто создал папку в Windows?
Щелкните папку правой кнопкой мыши — выберите «Свойства». Щелкните «Дополнительно», а затем щелкните вкладку «Владелец».
Похожие сообщения:
- Вопрос: Какое использование теневого файла ETC в Linux? Вопрос: Кто может изменять владельца файла или каталога в Linux? Вопрос: Какие группы могут владеть файлом в Linux?Ваш вопрос: Почему был создан Linux?Вопрос: Как в Linux создаются потоки? Ваш вопрос: Где в Linux создаются задания cron?
How find out which process is using a file in Linux?
You can use the fuser command, which is part of the psmisc package, like:
You will receive a list of processes using the file.
You can use different flags with it, in order to receive a more detailed output.
You can find more info in the fuser’s Wikipedia article, or in the man pages.
@khris, might be that not all fuser implementations are the same, or works the same way. Even if -i is defined in POSIX, the particular implementation you are using does not necessarily has the same options as the ones described in the Wikipedia article. For example, I’m using AIX right now, and the fuser available in this system does not have the -i option either.
For some reason, neither fuser nor lsof were working for me on a virtualbox guest. This answer saved me.
@jim’s answer is correct — fuser is what you want.
Additionally (or alternately), you can use lsof to get more information including the username, in case you need permission (without having to run an additional command) to kill the process. (THough of course, if killing the process is what you want, fuser can do that with its -k option. You can have fuser use other signals with the -s option — check the man page for details.)
For example, with a tail -F /etc/passwd running in one window:
ghoti@pc:~$ lsof | grep passwd tail 12470 ghoti 3r REG 251,0 2037 51515911 /etc/passwd
Note that you can also use lsof to find out what processes are using particular sockets. An excellent tool to have in your arsenal.
How to determine which process is creating a file? [duplicate]
I thought one of the inotify_tools (inotifywatch or inotifywait) would do this kind of thing. These tools are great if you want to know when a filesystem event happens, but it doesn’t look like you can get a pid from inotify.
You could do inotifywait $file ; lsof -r1 $file , though. It’s much better than running while loops or using watch .
5 Answers 5
The lsof command (already mentioned in several answers) will tell you what process has a file open at the time you run it. lsof is available for just about every unix variant.
lsof won’t tell you about file that were opened two microseconds ago and closed one microsecond ago. If you need to watch a particular file and react when it is accessed, you need different tools.
If you can plan a little in advance, you can put the file on a LoggedFS filesystem. LoggedFS is a FUSE stacked filesystem that logs all accesses to files in a hierarchy. The logging parameters are highly configurable. FUSE is available on all major unices. You’ll want to log accesses to the directory where the file is created. Start with the provided sample configuration file and tweak it according to this guide.
loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory tail -f /path/to/log_file
Many unices offer other monitoring facilities. Under Linux, you can use the relatively new audit subsystem. There isn’t much literature about it (but more than about loggedfs); you can start with this tutorial or a few examples or just with the auditctl man page. Here, it should be enough to make sure the daemon is started, then run auditctl :
(I think older systems need auditctl -a exit,always -w /path/to/file ) and watch the logs in /var/log/audit/audit.log .
Как узнать какой скрипт/программа создает определенную папку на сервере?
В корне сайта периодически появляется папка temp с непонятными файлами. Я думаю что это какой-то шелл создает его чтобы заполнить память диска. Я его удаляю, а на следующий день он заново создается и в нем снова непонятные файлы. Поискал в сети что это может быть за папка. Узнал что многие программы создают его для отчетов и прочих данных. Как я могу уточнить это серверная программа делает это или на сервер залит шелл? Например файл example.com/temp/u/d3d3LmZsYXRvdXIuY29tL215YWR2cy9ydS8%3D.txt содержит лишь строку
dHJlYXN1cmV0b3duLzQ1NDg3NDUyOTQzMjMv
И эта папка состоит только из таких файлов. Сервер у меня Centos6, VPS, панель ISPmanager, включен nginx, memcached, clamav.
Непонятная папка и файлы — очень обтекаемая формулировка. Уточните, пожалуйста, имена файлов и примеры содержания.
Имя файла и содержимое это строка в кодировке base64. Имя файла содержит такую ссылку: www.flatour.com/myadvs/ru/ , а содержимое после расшифровки такое: treasuretown/4548745294323/
И что это значит? Да это сайт на котором эти проблемы. Но вопрос все еще остается в силе. что создает эти файлы
Похоже, что treasuretown это часть этого url: http://item.rakuten.co.jp/treasuretown/4548745294323/ . Возможно, с вашего сайта продают ссылки. Проверьте файлы сайта манулом
2 ответа 2
Можно попробовать запустить команду lsof , которая отображает какая программа в данный момент открыла файл. Работает так:
Можно запустить с периодом в 1 секунду:
Ну и логгировать это всё в файл. Если держать при этом открытой ssh сессию не хочется, то можно использовать какой-нибудь gnu screen или подобную программу.
Если программа отрабатывает слишком быстро и по этим логам её поймать не получится, то можно сделать ну совсем костыльно запускать как можно чаще
$ while true; do lsof /paht/to/file; done;
@HasanaghaAliyev lsof показывает только в текущий момент, надо запустить его на какое-то время. На сутки, например. Потом анализируйте логи через grep, например
@HasanaghaAliyev этот код можно безопасно запускать из под администратора. su или sudo su попробуйте, я в centos не очень разбираюсь
Вам может помочь пакет auditd. Пример:
# auditctl -w /temp # mkdir /temp # mkdir /temp/u # ausearch -f /temp ---- time->Mon Aug 29 16:32:43 2016 type=CONFIG_CHANGE msg=audit(1472473963.517:46): auid=4294967295 ses=4294967295 op="updated_rules" path="/temp" key=(null) list=4 res=1 ---- time->Mon Aug 29 16:32:43 2016 type=PROCTITLE msg=audit(1472473963.489:47): proctitle=6D6B646972002F74656D70 type=PATH msg=audit(1472473963.489:47): item=1 name="/temp" inode=10691 dev=08:03 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE type=PATH msg=audit(1472473963.489:47): item=0 name="/" inode=2 dev=08:03 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT type=CWD msg=audit(1472473963.489:47): cwd=2F686F6D652F73657267696F2F456CC59D75746F6A type=SYSCALL msg=audit(1472473963.489:47): arch=40000003 syscall=39 success=yes exit=0 a0=bf82f7a3 a1=1ff a2=bf82f7a3 a3=bf82ee64 items=2 ppid=22390 pid=24813 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts8 ses=4294967295 comm="mkdir" exe="/bin/mkdir" key=(null) ---- time->Mon Aug 29 16:34:21 2016 type=PROCTITLE msg=audit(1472474061.417:71): proctitle=6D6B646972002F74656D702F75 type=PATH msg=audit(1472474061.417:71): item=1 name="/temp/u" inode=10693 dev=08:03 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE type=PATH msg=audit(1472474061.417:71): item=0 name="/temp/" inode=10691 dev=08:03 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT type=CWD msg=audit(1472474061.417:71): cwd=2F686F6D652F73657267696F2F456CC59D75746F6A type=SYSCALL msg=audit(1472474061.417:71): arch=40000003 syscall=39 success=yes exit=0 a0=bfe2c7a1 a1=1ff a2=bfe2c7a1 a3=bfe2a9a4 items=2 ppid=22390 pid=24846 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts8 ses=4294967295 comm="mkdir" exe="/bin/mkdir" key=(null)