Встановіть Plesk на CentOS 7
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
У Linux багато об’єктів вважаються файлами, незалежно від того, чи є об’єкт насправді файлом, пристроєм, каталогом чи сокетом. Перерахувати файл легко, для цього є вбудована оболонка ls
. Але що, якщо користувач хоче побачити, які файли в даний момент відкриває процес веб-сервера? Або якщо цей користувач хоче дізнатися, які файли відкриті в певному каталозі? Ось де lsof
вступає в гру. Уявіть собі lsof
як ls
з додаванням «відкритих файлів».
Зверніть увагу, що хоча BSD мають іншу утиліту для цієї роботи fstat
, кілька інших різновидів Unix (наприклад, Solaris) також мають lsof
. Параметри та прапорці відрізняються на інших платформах, а також вигляд виводу, але загалом знання, наведені в цій статті, мають бути застосовні і для них.
По-перше, давайте подивимося на формат lsof
виводу та як його потрібно читати. Звичайний вихід lsof
без параметрів буде нагадувати наступне. Це було вирізано для читабельності.
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
Ці стовпці означають наступне:
init
.init
це майже завжди root
.cwd
- Поточний робочий каталог (ви можете помітити схожість з pwd
командою, яка друкує поточний робочий каталог).rtd
- Кореневий каталог процесу.txt
- A text file
, це може означати файл конфігурації, пов'язаний з процесом, або "вихідний код", пов'язаний з процесом (або належний до нього).mem
– Так званий «файл із відображенням пам’яті», що означає сегмент віртуальної пам’яті (читання: RAM), який був призначений файлу.r
- Прочитайте.w
- Пишіть.u
- Читати і писати.REG
- Звичайний файл.DIR
- Довідник.FIFO
- Першим увійшов, першим вийшов.Наразі це може бути трохи приголомшливим, але якщо ви попрацюєте lsof
кілька разів, це швидко зануриться у ваш мозок.
Як згадувалося вище, lsof
тут було скорочено вихід . Без жодних аргументів чи фільтрів lsof
видає сотні рядків виводу, які лише збентежать вас.
Існує два основних підходи до вирішення цієї проблеми:
lsof
командного рядка, щоб звузити результати.grep
.Хоча останній варіант може здатися більш зручним, оскільки вам не доведеться запам’ятовувати параметри lsof
командного рядка, він зазвичай не такий гнучкий та ефективний, тому ми зупинимося на першому.
Уявімо, що ви хочете відкрити файл за допомогою свого улюбленого текстового редактора, і що текстовий редактор повідомляє вам, що його можна відкрити лише в режимі лише для читання, оскільки інша програма вже має доступ до нього. lsof
допоможе вам дізнатися, хто є злочинцем:
lsof /path/to/your/file
Це дасть результат, подібний до цього:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Мабуть, ви забули закрити і старішу сесію! Дуже подібна проблема виникає, коли ви намагаєтеся відключити спільну umount
папку NFS і повідомляє вам, що це не можна, оскільки щось все ще отримує доступ до підключеної папки. Знову ж таки, lsof
може допомогти вам визначити винного:
lsof +D /path/to/your/directory/
Зверніть увагу на кінцеву косу риску, це важливо. Інакше lsof
буде вважатися, що ви маєте на увазі звичайний файл. Нехай вас не бентежить +
прапорець попереду – у lsof
нього стільки параметрів командного рядка, що він потребує +
на додаток до більш поширених -
. Вихід буде виглядати так:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
Це означає, що процес mocp
із PID 5637
, що належить користувачеві music
, відкрив файл під назвою RMS_GNU_SONG.ogg
. Однак навіть після закриття цього процесу все ще існує проблема — том NFS не можна відмонтувати.
lsof
має -c
прапорець, який відображає відкриті файли з довільною назвою процесу.
lsof -c mocp
Це дасть результат, який буде виглядати так:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
У цьому прикладі є ще один екземпляр mocp
запуску, який заважає вам відключити спільний ресурс. Після завершення цього процесу ви хочете переконатися, що користувач music
не має відкритих інших потенційно проблемних файлів. lsof
має -u
прапорець для відображення файлів, відкритих певним користувачем. Пам’ятайте, що файл – це не завжди звичайний файл на вашому жорсткому диску!
lsof -u music
Ви також можете передати кількох користувачів, розділених комами:
lsof -u music,moremusic
Важливе зауваження з поведінки за замовчуванням lsof
: результати АБО основі, що означає , що ви будете бачити результати файлів , відкритих процесами, які належать або користувачеві music
, або користувачеві moremusic
. Якщо ви хочете побачити результати, що відповідають процесам, які належать обом користувачам, вам доведеться передати прапорець -a
:
lsof -au music, moremusic
Оскільки обидва користувачі знаходяться в групі musicusers
, ви також можете перерахувати файли на основі групи:
lsof -g musicusers
Ви також можете комбінувати прапори командного рядка:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
В останньому рядку ми додали ще один спеціальний прапор - ^
, що означає логічне НЕ . Якщо після виконання цієї команди вихід порожній, то, швидше за все, розмонтування буде успішним.
У попередніх прикладах ми переважно розглядали звичайні файли. Як щодо розеток і мережевих підключень?
Для переліку всіх поточних мережевих підключень lsof
є -i
прапорець:
lsof -i
Результат виглядає схожим на те, що ми бачили досі...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... за винятком однієї відмінності: замість імен файлів або каталогів у стовпці NAME
тепер відображається інформація про підключення. Кожне з'єднання складається з таких частин:
Як і в багатьох інших інструментах, ви можете відмовитися від розпізнавання імен і портів DNS ( -n
і -P
, відповідно). Прапор -i
приймає додаткові параметри. Ви можете вказати, чи показувати чи ні tcp
, udp
або icmp
підключення, чи певні порти:
lsof -i :25
or
lsof -i :smtp
Знову ж таки, параметри можна комбінувати. Наступний приклад...
lsof -i tcp:80
... покаже лише TCP-з'єднання за допомогою порту 80. Ви також можете поєднати його з параметрами, які ви вже знаєте з "класичних" файлів:
lsof -a -u httpd -i tcp
Це покаже вам усі TCP-з'єднання, відкриті користувачем httpd
. Зверніть увагу на -a
прапорець, який змінює поведінку за замовчуванням lsof
(як згадувалося раніше). Як і більшість інструментів командного рядка, ви можете дуже глибоко заглибитися. Нижче буде показано лише TCP-з’єднання, стан яких «УСТАНОВЛЕНО»:
lsof -i -s TCP:ESTABLISHED
На цьому етапі ви повинні мати базове розуміння того, як lsof
працює, а також деякі поширені випадки використання. Щоб дізнатися більше, перегляньте сторінку керівництва lsof
вашої системи.
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,
Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер
PHP та пов’язані з ним пакети є найбільш часто використовуваними компонентами під час розгортання веб-сервера. У цій статті ми дізнаємося, як налаштувати PHP 7.0 або PHP 7.1 o
Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити
1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.
Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся
Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma
Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів
Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої
Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд
Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації
Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є
Використання іншої системи? Docker — це програма, яка дозволяє розгортати програми, які запускаються як контейнери. Це було написано в популярному програмі Go
Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai
Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться
Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який
У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться
У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування
Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше