Читайте также:
|
|
Утиліта ifconfig призначена спеціально для гнучкого налаштування мережевих інтерфейсів.
Наприклад, щоб дізнатись свою поточну ІР-адресу, потрібно ввести наступну команду:
# ifconfig
Вихідна інформація матиме приблизно наступний вигляд:
eth0 Link encap:Ethernet HWaddr 00:0F:EA:B2:53:85
inet addr:192.168.2.5 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20f:eaff:feb2:5385/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:471 errors:0 dropped:0 overruns:0 frame:0
TX packets:695 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:160637 (156.8 KiB) TX bytes:86193 (84.1 KiB)
Interrupt:185 Base address:0×6000
Створення нового пседовоніму для мережевої картки (NIC)
# ifconfig eth0:1 172.30.49.4
Зміна IP адреси
# ifconfig eth0 172.30.49.13
Зміна мережевої маски
# ifconfig eth0 netmask 255.255.255.0
Зміна адреси трансляції (broadcast)
# ifconfig eth0 broadcast 172.30.49.1
Підняття інтерфейсу
# ifconfig eth0 172.30.49.13 up
або
# ifup eth0
Вимкнути інтерфейс
# ifconfig eth0 down
або
# ifdown eth0
Команда route
Route використовується для побудови таблиць роутингу (у пам’яті) implemented for routing packets as well as displaying the routing information. It is used after ifconfig has initialized the interface. route is normally used to set up static routes to other networks via the gateway or to other hosts.
Синтаксис
# route [опції] [команди] [параметри]
Наприклад, для виведення таблиці маршрутизації, скористайтеся командою route без будь яких параметрів.
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
default. 0.0.0.0 UG 0 0 0 eth0
Використаємо опцію -n, щоб команда route вивела деяку додаткову інформацію, замінюючи IP-адреси іменами і зірочками (*). Виглядає це наступним чином:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
Додавання нового маршруту за замовчуванням
# route add default gw ІР-адреса інтерфейс
Наприклад:
# route add default gw 172.30.49.1
5 Відновлення видаленого /etc/passwd та /etc/shadow
Інколи (в основному початківці) випадково видаляють файл /etc/passwd. У принципі, це не проблема, оскільки Debian регулярно робить резервні копії важливих системних файлів до /var/backups/, тому панікувати не слід.
Ясна річ, спершу нам потрібно скопіювати цей файл до /etc, де йому і місце:
# cp /var/backups/passwd.bak /etc/passwd
Після цього нам залишається тільки змінити на нього права доступу:
# chmod 644 /etc/passwd
Відновлення інших системних файлів
Власне, у цій же теці містяться резервні копії й інших системних файлів: infodir, group, shadow, gshadow…
Sshfs
SSHFS – клієнт для роботи з файловою системою через протокол SSH File Transfer Protocol. Він дозволяє змонтувати віддалену файлову систему до вашої й користуватися нею так, ніби вона є локальною папкою. Крім того, даний протокол є безпечним і дуже простим у встановленні та налаштуванні. Для роботи sshfs необхідно лише дві речі:
– на локальній системі повинен бути завантажений модуль ядра FUSE;
– на віддаленій машині повинен бути завантажений ssh-сервер, який розуміє протокол sshfs.
Підготовка
Перш за все ми повинні встановити SSHFS на локальній системі:
# apt-get install sshfs
Архів міститься у дистрибутивах Дебіена та Убунту.
Після встановлення sshfs, потрібно завантажити модуль ядра fuse, якщо він ще не завантажений. Під root`ом введіть
# modprobe fuse
Після того, як модуль завантажено, sshfs може робити з ним чимало різних операцій з такими файловими системами, як BitTorrent file system, Bluetooth file system, User-level versioning file system, CryptoFS, Compressed read-only file system та багатьма іншими.
Згідно з другою умовою, OpenSSH сервер має бути запущений на віддаленій системі.
Використання
sshfs дуже простий у використанні. Використаємо наступну команду:
# sshfs user@host: mountpoint
За допомогою цієї команди змонтуємо локальну папку облікового запису user@host до локальної теки mountpoint. Ясна річ, припускається, що папка mountpoint вже існує з відповідними правами доступу.
Якщо ви бажаєте змонтувати іншу папку, можете вказати її після двокрапки. Очевидно, отримана команда буде схожою на
# sshfs [user@]host:[dir] mountpoint [options]
Альтернативи
Класичними альтернативами для доступу до віддалених файлових систем є NFS та SMBFS, однак вони не є на стільки простими у встановленні та використанні, до того ж серйозно поступаються sshfs у питаннях безпеки.
Якщо ви робите свої файли загальними (зашарюєте) між користувачами Microsoft Windows, можливо SMBFS буде для вас найкращим вибором. Якщо ж ви не піклуєтесь про безпеку і вам необхідна швидка альтернатива, NFS – для вас.
7 Відновлення (скидання) пароля root`а
Бувають ситуації, коли після тривалого невикористання або ж з іншої причини забувається пароль root`а, який потрібен для виконання багатьох важливих дій. Багато початківців у такій ситуації просто губляться, і перевстановлюють систему. Робити такого не потрібно, адже пароль користувача – це лише кілька символів в одному з файлів, до яких нам власне і потрібно добратися.
Є кілька методів для скидання/зміни паролю root`а.
Спосіб №1
Коли з’явиться екран завантаження lilo, де необхідно вибрати ОС для завантаження, наберіть
boot: Linux init=/bin/sh
Ця команда вказує системі завантажити ядро, а тоді /bin/sh замість стандартного init. Тепер ви маєте привілеї користувача root і root shell. Однак кореневий розділ / поки що доступний лише для читання, що не дозволяє нам змінити пароль. Для отримання повноцінної системи зробіть наступне:
# mount -n -o remount,rw /
# mount -avt nonfs,noproc,nosmbfs
# cd /etc
# vi passwd
# vi shadow
(Якщо друге поле у файлі /etc/passwd – “x”, ваша система використовує тіньові паролі і вам необхідно перейти до редагування файлу /etc/shadow). Для скидання пароля, потрібно відредагувати друге поле у файлі /etc/shadow таким чином, щоб воно було пустим. Тепер можете перезавантажити систему і зайти під користувачем root без пароля.
Потрібно знайти простий текстовий редактор у /bin на випадок, якщо /usr буде недоступною. Також бажано встановити архів sash. Якщо система стане нездатною завантажитися, просто наберіть
boot: Linux init=/bin/sash
sash є інтерактивною заміною для sh навіть якщо /bin/sh недоступний. Він статично пов’язаний (злінкований) і включає у себе багато корисних утиліт.
Спосіб №2
Завантажтесь із будь-якої аварійної дискетки. Якщо
/dev/sda3
– кореневий розділ, наступні команди дозволять так само легко, як і в попередньому випадку, скинути пароль root`а:
# mkdir recovery
# mount /dev/hda3 recovery
# cd recovery/etc
# vi shadow
# vi passwd
Опустіть курсор до рядка з інформацією про користувача root, котрий має приблизно наступний вигляд:
root:weeWRSF!sfDFs:12581:0:99999:7:::
Видаліть усі символи у другій колонці, щоб рядок виглядав наступним чином:
root::12581:0:99999:7:::
Збережіть файл і закрийте текстовий редактор. Перейдіть до домашньої папки.
Демонтуйте розділ /dev/sda3:
# unmount /dev/hda3 recovery
Після цього перезавантажте систему.
Перевага даного методу над попереднім полягає у тому, що нам не потрібно знати пароль на завантажувач (lilo/grub, etc). Але користувач повинен уміти налаштувати BIOS таким чином, щоб він спершу пробував завантажити систему з дискети або компакт-диску.
Спосіб №3
Третій спосіб полягає у тому, щоб під’єднати свій жорсткий диск до іншого ПК і повторити дії, описані у способі №1. УВАГА! Не забувайте правила поведінки із жорсткими дисками.
Спосіб №4
Суть способу у завантаженні з CD-приводу (Live CD) і під’єднання кореневого розділу в якості chroot`ного середовища та заміни наявного пароля за допомогою команди passwd:
# mkdir /recovery
# mount /dev/hda3 /recovery
# chroot /recovery
# passwd
Введіть новий пароль і перезавантажте систему.
8 Налаштування NTP-сервера і клієнта в Debian`і
Network Time Protocol (NTP) – протокол для синхронізації годинників комп’ютерних систем. NTP використовує UDP`шний порт 123.
Використання NTP є добрим способом підтримування коректності налаштувань системного годинника. Він дозволяє працювати з великою кількістю серверів, розташованих по всьому світу, і “підганяти” час під вказаний вами часовий пояс.
Встановлення NTP-сервера і клієнта в Debian`і:
# apt-get install ntp ntpdate ntp-server
Ця команда встановить усі необхідні для роботи з NTP архіви.
Налаштування NTP-сервера
За замовчуванням головним конфігураційним файлом є /etc/ntp.conf. Виглядає він приблизно наступним чином:
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Можна використовати кілька NTP-серверів:
#server ntp.your-provider.example
# pool.ntp.org є попою для понад 300 NTP-серверів.
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
# За замовчуванням змінити системний час може будь-хто.
# Дивіться /usr/share/doc/ntp-doc/html/accopt.html для більш детальної конфігурації.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Якщо локальні користувачі забажають звертатися до локального сервера.
restrict 127.0.0.1
restrict::1
# Клієнт з цієї (це лише приклад!) підмережі має безлімітний доступ,
# але тільки за умови створення шифрованого з'єднання
#restrict 192.168.123.0 mask 255.255.255.0 notrust
# Якщо бажаєте дозволити синхронізувати час лише клієнтам з вашої підмережі, використовуйте наступний рядок:
#broadcast 192.168.123.255
Перевіримо, чи синхронізується NTP належним чином.
Використовуйте команду ntpq для того, щоб дізнатися перелік серверів, з якими ви синхронізовані. Вона також виведе таку важливу інформацію, як час доступу ntp-клієнта до сервера (jitter), який для підвищення точності часу не повинен бути високим.
# ntpq -p
Отримаємо наступне:
Зірочка (*) перед адресою одного із серверів означає, що системний годинник синхронізується з годинником NTP-сервера. Якщо її немає, це означає, що сервер не доступний або має надто тривалий час синхронізації.
Налаштування міжмережевого екрана для NTP.
NTP-сервери спілкуються між собою через UDP і порт 123. Для цього доведеться дозволити трафік за протоколом UDP через порт 123 (отримувач і відправник).
Налаштування NTP-клієнта
Для того, щоб вказатати власні ІР-адреси серверів, потрібно відредагувати конфігураційний файл /etc/ntp.conf.
server 192.168.1.1
Обмежте спосіб доступу до серверів. У даному прикладі серверам не дозволяється динамічно змінювати конфігурацію або поставити під сумнів ваш Linux NTP-сервер.
restrict default notrust nomodify nopeer
Налаштування на локальний сервер
restrict 192.168.1.1
У даному випадку маска була розширена до увімкнення усіх 255 можливих ІР-адрес локальної мережі.
Нам також необхідно переконатися, що localhost (універсальне доменне ім’я, котре застосовується в Linux для прив’язки до самої себе) має повний доступ без будь-яких обмежуючих ключових слів:
restrict 127.0.0.1
Збережіть зміни у файлі і закрийте його.
Тепер знову запустіть команду ntpdate вказавши їй в якості параметра ІР-адресу свого сервера:
# ntpdate 192.168.1.1
Для того, щоб перезапустити ntp-сервіс, скористайтеся наступною командою:
# /etc/init.d/ntp restart
Якщо для зміни часу використовуєте команду date, варто змінити час на системному годиннику. Інакше зміни не збережуться після перезавантаження системи. Після того, як годинник операційної системи синхронізувався з NTP-сервером високоточного атомного годинника, синхронізуйте його з апаратним годинником наступним чином:
# hwclock –systohc
Використовуйте команду ntpq для перегляду серверів, з якими ви синхронізуєте час:
# ntpq
# ntpdc –p
9 Перевантаження системи Debian/Ubuntu при її «зависанні»
Інколи виникають ситуації на кшталт: впав GNOME, а чарівна комбінація CTRL-ALT-BKSPC не дає ніяких результатів. ALT-CTRL-F1 не відправляє вас до термінала, де ви можете спокійно перезапустити gdm.
На щастя, є ще два способи, про які не знає дуже велика кількість користувачів.
Перший полягає у тому, щоб примусово завершити усі процеси в системі, що є значно кращим варіантом, аніж її гаряча зупинка. Для того, щоб це зробити, скористайтеся наступною комбінацією:
ALT + SysReq + k
SysReq означає, що вам необхідно знайти на клавіатурі клавішу PrtSc (Print Screen). Клавіша “k” означає “Kill” – вбити.
А тепер комбінації клавіш, які можуть допомогти вам зробити деякі правильні дії перед заваршенням роботи системи:
ALT + SysReq + r
Переводить у режим Raw keyboard:
ALT + SysReq + s
Синхронізація диску:
ALT + SysReq + e
Ця комбінація клавіш вбиває усі процеси:
ALT + SysReq + i
Вбиваємо усі усі процеси, які не захотіли завершитися:
ALT + SysReq + u
Перемонтувати усі файлові системи лише для читання:
ALT + SysReq + b
10 Керування init-сценаріями в Debian
Init-скрипти – це маленькі сценарії командного процесора (shell), які контролюють сервіси, також відомі як демони. Також вони можуть контролювати стан деякого програмного забезпечення, на кшталт, hdparm, iptables (завантаження правил міжмережевого екрана в ядро) та setserial (налаштування COM-порта). Усі вони містяться в папці /etc/init.d, і запускаються/зупиняються init`ом при завантаженні системи та переході на інший рівень виконання.
Init-сцерарії виконують важливу роль при запусканні та зупинці системи (у *nix-системах просто змінюється рівень виконання (runlevel). Якщо подивитися на перелік запущених на системі процесів (команда # ps auwx), то, імовірно, процес з найменшим PID буде мати назву “init”. Це батько усіх процесів, перша програма, яку ядро запускає при завантаженні. Іnit, котрий можна знайти в /sbin/init, відповідає за завантаження системи й керування усіма процесами під час її роботи.
Найпростіші (і, мабуть, найкращі) утиліти для керування init-сценаріями:
rcconf;
update-rc.d;
file-rc.
Тепер розглянемо кожну з них, використовуючи реальні приклади.
Rcconf
Rcconf дозволяє вказати демони, які запускатимуться при завантаженні системи. Інтерфейс виконаний у вигляді звичайного меню, в якому є перелік усіх демонів, які можуть бути запущені разом із системою. Якщо потрібно, щоб якийсь демон запускався, встановіть навпроти нього галочку, якщо ж вам цього не потрібно, зніміть її.
Ця утиліта налаштовує системні сервіси, пов’язані з рівнем виконання системи. Вона вмикає/вимикає сервіси, використовуючи сценарії у папці /etc/init.d/. Rcconf працює з System-V стилем init. Це – псевдографічна надбудова для іншої утиліти – update-rc.d.
Rcconf отримує перелік сервісів з /etc/init.d і дивиться у папки /etc/rc?.d, щоб дізнатися, який демон працює, а який ні.
Якщо номер (NN /etc/rc?.d/NN імя) не 20 (за замовчуванням), rcconf зберігає ім’я сервісу і номер у /var/lib/rcconf/services, щоб пізніше можна було “відкатати” зміни.
Встановлюємо rcconf:
# apt-get install rcconf
Після цього потрібно запустити rcconf:
# rcconf
Ось яке вікно ви побачите перед собою:
Важливі файли:
/var/lib/rcconf/services - The service number data file.
/var/lib/rcconf/lock – Lock файл.
/var/lib/rcconf/guide.default – Guide File update-rcconf-guide generates.
/var/lib/rcconf/guide – Guide File user (Administrator) can define.
Встановлення і видалення init-сценаріїв стилю System-V style. update-rc.d автоматично оновлює посилання на init-сценарії стилю у /etc/rcRUNLEVEL.d/NNname до /etc/init.d/name. Вони запускаються init`ом під час зміни рівня виконання і, зазвичай, використовуються для запуску і зупинки демонів. Підтримуються наступні рівні виконання: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, S та NN.
Синтаксис update-rc.d:
update-rc.d [-n] [-f] ім’я remove
update-rc.d [-n] ім’я defaults [NN | NN-start NN-stop]
update-rc.d [-n] ім’я start|stop NN рівень – виконання
runlevel start|stop NN рівень – виконання рівень – виконання
Якщо запустити її зі звичайними параметрами для старту або зупинки демона, update-rc.d робить посилання /etc/rcrunlevel.d/[SK]NNім’я на сценарій в /etc/init.d/name. Якщо будь-які файли /etc/rcrunlevel.d/[SK]??ім’я вже наявні, то update-rc.d не робить нічого.
Додаткові опції:
-n – Нічого не робити, просто вивести перелік того, що ми маємо.
-f – Видалення лінків, навіть якщо вони й досі присутні у /etc/init.d/name.
Приклиди використання update-rc.d:
Встановити симлінк з defaults:
# update-rc.d samba defaults
Еквівалентна команда, яка використовує явний набір аргументів:
# update-rc.d samba start 20 2 3 4 5 | stop 20 0 1 6
Для того, щоб вилучити сценарій з автозавантаження, потрібно скористатися наступною командою:
# update-rc.d -f samba remove
file-rc
Є альтернативний механізм завантаження, в якому використовується єдиний конфігураційний файл. Цей архів призначений для керування альтернативним механізмом завантаження системи, завершенням її роботи і зміни рівня виконання. Посилання у /etc/rc?.d/* конвертуються в єдиний конфігураційний файл /etc/runlevel.conf, який дозволяє значно простіше і гнучкіше керувати демонами. Архів автоматично конвертує наявні симлінки в один файл і повертає усе при його видаленні з системи. Обидва механізми сумісні через /etc/init.d/rc, /etc/ init.d/rcS, /usr/sbin/update-rc.d та /usr/sbin/invoke-rc.d сценарії.
Приклади:
#
05 - 0 /etc/init.d/halt
05 - 1 /etc/init.d/single
05 - 6 /etc/init.d/reboot
10 0,1,6 2,3,4,5 /etc/init.d/sysklogd
12 0,1,6 2,3,4,5 /etc/init.d/kerneld
[…]
89 0,1,6 2,3,4,5 /etc/init.d/cron
99 - 2,3,4,5 /etc/init.d/rmnologin
99 0,1,6 2,3,4,5 /etc/init.d/xdm
11 Створення системної дискети
Встановлювач Debian`а дозволяє ще у процесі завантаження створити дуже корисну і часто просто необхідну для адміністратора системну дискетку.
Однак можна створити її у будь-який момент вже у встановленій і робочій системі Debian GNU/Linux. Для цього потрібно вставити чисту дискету до приводо, увійти як root і ввести наступні команди:
# mkboot
# kernel
Замість kernel необхідно вказати ім’я файлу ядра, котре необхідно використати для створення дискети, зазвичай – це vmlinuz.
Дата добавления: 2015-11-30; просмотров: 28 | Нарушение авторских прав