Команди unix shell

Дуже багато версій Unix мають один і той же набір стандартних команд, тільки іноді мають різні параметри запуску. Знати їх потрібно і корисно. Я хочу не просто перерахувати команди і їх параметри, а й розповісти про те яким чином вони можуть бути використані Адміністраторами, користувачами або навіть хакером. Як ви будите використовувати їх це ваша справа, я лише кажу про можливості Unix.

Команда: df
Призначення: Висновок інформації вільному місці на файлову систему.
ключі:
-b Висновок розміру вільного місця на диску в байтах.
-e Висновок числа, що показує, скільки ще файлів може бути створено. Цей параметр використовується не скрізь.
-F Висновок інформації про незмонтованих файлових системах заданого типу, вказаних у файлі конфігурації віртуальних файлових систем (vfstab).
-g Повертає всю структуру statvfs для несмонтірованих файлових систем.
-k Висновок розміру зайнятого місця на диску в байтах.
-l Висновок інформації тільки про локальні файлових системах.
-n Висновок типу файлової системи. Цей параметр використовується не у всіх системах.
-t Висновок вільного і зайнятого місця. Не у всіх версіях.
Висновок: Ця команда дає уявлення про те якими обсягами володіє система і які ще системи можуть бути підключені в подальшому. Непрямо каже про параметри коопіляціі ядра. У випадку з підключаються мережевимиінтерфейсами дає інформацію і про них.

Команда: du
Призначення: Підраховує розмір зайнятого файлами або каталогами місця.
Найчастіше підрахунок ведеться в блоках, один блок це 512 байт.
ключі:
-a Висновок інформації не тільки про каталогах, але і про файлах.
-r Виведення інформації про файлах і каталогах, які команда du не змогла відкрити.
-s Висновок результат минаючи проміжні дії.
Висновок: Може виявитися корисною для отримання інформації про систему в тому випадку, якщо немає доступу до команди df або quote. Корисна для підрахунку чиїхось файлових накопичень.

Команда: groups
Призначення: Виводить список груп, членом яких є даний користувач.
Якщо список не вказано, то виводиться список груп, членом яких є користувач, який віддав команду.
Висновок: Дає можливість чітко визначити користувачів належать до якої-небудь групи. Що можливо полегшить задачу зломщикові в підборі майбутніх жертв або вже визначенні статусу зламаних.

Команда: id
Призначення: Висновок вашого системного ідентифікатора і його номер, а так само групи членом яких ви є, і їх номери.
ключі:
-a Виведення списку всіх груп, до яких належить користувач.
Висновок: Дана команда може бути використана звломщіком, щоб опредліть свій статус в системі і можливості користувача.

Команда: listusers
Призначення: Виведення списку системних ідентифікаторів всіх пользоватей і соотвествующих їм номерів. Команда може бути недоступною в системах.
ключі:
-g Виведення списку членів даної групи.
-l Висновок інформації про користувача з даними системним ідентифікатором.
Висновок: Дозволяє отримати інформацію про кожного члена групи, що знижує загальний рівень безпеки. Команда може бути використана для накопичення списку користувачів для подальшої атаки.

Команда: nice
Призначення: Виконання вказаної команди зі зниженим пріоритетом.
ключі:
-n Величина, на яку зменшується пріоритет. За замовчуванням -10.
Висновок: Іноді за допомогою цієї команди зломщік намагається маскувати не бажаний процес, наприклад, перебір паролів.

Команда: nohup
Призначення: Дозволяє команді виконуватися навіть після того, як ви завершите роботу з системою.
Висновок: Ця команда корисна і зручна для всіх, в тому числі і для зломщика.

Невеликий скрипт на perl або готова скомпанован програма можуть залишити лазівку в систему з правами користувача запустішего цей процес. Варто перевіряти присутність небажаних процесів, це можна робити командою netstat або ps. Про них я розповім нижче.

Команда: ps
Призначення: Виведення списку всіх запущених процесів. Коли ця команда використовується без параметрів, то виводиться список містить інформацію про номер процесу і команду запуску, за допомогою якої був запущений процес. Змінюючи ключі, можна отримати докладну інформацію про стан системи.
Описані тут ключі можу бути відмінними в інших системах, наприклад в BSD замість ps -ef ви повинні використовувати ps -aux.
ключі:
-a Виведення списку всіх процесів, за винятком провідних процесів груп і процесів, не пов'язаних з будь-яким терміналом.
-c Висновок інформації про класи процесів, використовуваних планувальником завдань:
RT - Real Time, TS - Time Sharing, IA - Inter Active.
-d Висновок інформації про всі процеси, крім провідних процесів груп
. -e Висновок інформації про всіх без винятку процесах.
-f Висновок великої кількості інформації про процеси:
UID - UserID, PID - Номер процесу, PPID - Номер родовому процесу, C - пріоритет процесу, STIME - Час початку роботи процесу, TTY - Термінал з якого був запущений процес, Time - загальний час роботи процесу.
-g Виведення інформації про процеси, що належать групам, провідні процеси яких мають номери, зазначені в списку.
-j Висновок тільки номера процесу, а й номерів його групи і сеансу.
-l Висновок великої кількості інформації про процеси, що включає, наприклад, пріоритети, встановлені командою nice, і багато іншого.
-p Висновок інформації про процеси, номери яких вказані в списку.
-s Виведення інформації про процеси, що належать сеансів, провідні процеси яких мають номери, вказані в списку.
-t Висновок інформації про процеси, пов'язаних з одним з терміналів в списку.
-u Висновок інформації про процеси, що належать одному з користувачів в списку.
Висновок: Команда ps, є ключовою, з її допомогою здійснюється контроль над всією системою. Всі її ключі краще знати напам'ять. Якщо у вашій версії Unix ключі різні, то використовуйте команда man ps для отримання опису ключів. Цією командою користуються все адміністратори, з її допомогою ніщо не вислизне від його погляду, хіба що rootkit зможе йому перешкодити. =)

Команда: pwd
Призначення: Висновок шляху поточного каталогу включаючи ім'я самого каталогу.
Висновок: Ця на перший погляд мало необхідна програма насправді виявляється просто не замінної при використанні символьних посилань на інші каталоги. Часто зайшовши в директорію / home, можна опинитися в / usr / base / users або ще де похлеще, тут то нам і стане в нагоді ця програма.

Команда: ruptime
Призначення: Висновок інформації про стан всіх машин, підключених до локальної мережі. Інформація, що виводиться таблиця містить ім'я кожного вузла, інформацію про те, чи доступний Юзель, час, який він вже чи доступний, число користувачів на вузлі, а також середнє навантаження вузла.
ключі:
-a Виведення списку всіх користувачів, включаючи користувачів, неактивних більше години.
-l Сортування виведеної інформації по середньому навантаженні вузлів.
-p Зворотний порядок сортування.
-t Сортування вузлів за часом безперервної роботи.
-u Сортування вузлів за кількістю користувачів.
Висновок: Команда дозволяє отримати цікаву інформацію не роблю зайвих зусиль. Корисна як Адміністраторам так і хакерам. Взломщику ця команда дає ще одну дірку в безпеці великої системи, через яку він зможе відстежити порядок роботи мережі. Рекомендується залишити цю команду тільки для обмеженого числа користувачів.

Команда: rwho
Призначення: Виводить список користувачів, що працюють в даний момент на машинах локальної мережі.
ключі:
-a Виведення списку всіх користувачів, включаючи користувачів, неактивних більше однієї години.
Висновок: Ще команда, доступ до якої має мати тільки обмежена кількість користувачів, так як ця команда розкриває ваші карти.

Команда: su
Призначення: Дозволяє користувачеві увійти під іншим користувачем не виходячи зі старого користувача. Найчастіше все цю команду застосовують щоб увійти під привілейовані користувачем, щоб змінити системний настройки.
ключі:
- Змінити параметри оточення у відповідності з установками обраного користувача.
Висновок: Доступ до цієї команди повинні мати тільки ті користувачі, яким дійсно часто доводиться влазити в чужу шкуру. Крім того ці користувачі повинні мати стійкі паролі.

Команда: umask
Призначення: Висновок або установка значення маски створення файлів, що вказує, який режим доступу буде встановлений за замовчуванням для новостворюваних файлів.
Режим доступу, також званий дозволу, визначає, хто буде мати доступ до створюваних файлів і каталогів. Команда umask тільки встановлює дозволу на доступ до вже існуючих файлів або каталогів можна за допомогою команди chmod. Команда umask без параметрів виводить поточне значення маски. Команда umask схожа з chmod, тільки для umask значення 777 буде нісшіх рівень доступу. Крім того umask в якості ключів приймає тільки числову форму.
Висновок: Ця команда важлива тим що визначає рівень доступу до майбутніх файлів. Їй краще скористатися відразу, а то може бути пізно.

Команда: uname
Призначення: Висновок імені, версії, тип процесора і платформи Unix системи.
ключі:
-a Висновок всієї доступної інформації (об'єднання всіх інших параметрів).
-m Виведення інформації про апаратній платформі.
-n Висновок імені вузла.
-p Висновок типу процесора.
-r Висновок головного номера версії операційної системи.
-s Висновок призначення операційної системи.
-v Висновок додаткового номера версії операційної системи.
Висновок: Ця інформація може виявитися дуже корисною для зломщика, наприклад, якщо він полює тільки на системи SunOS або RedHat. Блокування цієї команди для звичайних користувачів ускладнить орієнтацію на місцевості не тільки для користувачів, які найчастіше вже викорис версії, але і зломщикові. Мова йде не про досвідчених в Unix зловмисник.

Команда: who
Призначення: Виведення списку користувачів, підключених в даний момент до системи.
ключі:
am I Висновок інформації про системний ідентифікатор користувача.
-a використовувати всі вказані нижче параметри.
-b Висновок дати і часу останнього перезавантаження системи.
-d Виведення списку користувачів, відключених через тривалу неактивність.
-H Висновок на початку списку заголовків стовпців.
-I Висновок списку ліній, доступних для входу в систему.
-nN Висновок в одному рядку інформації про N користувачів.
-p Виведення списку процесів, запущених процесом init і все ще активних.
-q Короткий формат; виводяться тільки системні ідентифікатори користувачів.
-r Висновок рівня запуску системи.
-s Висновок системного ідентифікатора користувача, терміналу верб ремени неактивності (формат, який використовується за умовчанням).
-t Висновок часу, в яке останній раз за допомогою команди clock налаштовувалися системний годинник.
-T Висновок стану кожного терміналу:
+ Термінал доступний для виведення всім користувачам.
- Термінал доступний для виведення тільки системного адміністратора.
. Помилка при визначенні стану терміналу.
-u Висновок часу неактивності для кожного терміналу.
Висновок: Ця команда дійсно корисна штука і містить багато різноманітної інформації, яка не повинна потрапити на очі зломщикові. Які відразу визначити для себе час злому по отриманої інформації. Не варто давати доступ до неї звичайним користувачам.

Схожі статті