Displaying items by tag: tutorials - UniXoiD
дробовики.
заявка на кредит Тинькофф

Встала задача настроить прозрачный прокси SQUID + разобраться с перенаправлением трафика на mikrotik.

 Я собирал из исходников v4.9 вот с такими опциями: ./configure --enable-ssl --enable-ssl-crtd --with-openssl --disable-arch-native --prefix=/usr --localstatedir=/var --sysconfdir=/etc/squid --libexecdir=/usr/lib/squid --datadir=/usr/share/squid --with-default-user=proxy --with-logdir=/var/log/squid --with-pidfile=/var/run/squid.pid

Вот конфиг SQUIDA:

acl localnet src 192.168.26.0/25
acl localnet src 192.168.41.0/25
acl localnet src 192.168.88.0/25
acl localnet src 192.168.77.0/25
acl localnet src 192.168.33.0/24

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/cache/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/cache/squid

#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

cache deny all
http_reply_access allow all

acl white_dst dstdom_regex "/etc/squid/lists/white_dst"
acl white_name ssl::server_name "/etc/squid/lists/white_name"
acl white_dns dstdomain "/etc/squid/lists/white_name"
acl white_url url_regex "/etc/squid/lists/white_url"

acl white any-of white_dst white_name white_dns white_url

acl foreignProtocol squid_error ERR_PROTOCOL_UNKNOWN ERR_TOO_BIG
acl unsup_http_ver squid_error ERR_UNSUP_HTTPVERSION

on_unsupported_protocol tunnel foreignProtocol
on_unsupported_protocol tunnel unsup_http_ver

http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB cert=/etc/squid/ssl/squid.pem key=/etc/squid/ssl/squid.key
sslproxy_cert_error allow all
always_direct allow all

acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3

ssl_bump peek step1 all
ssl_bump splice white
ssl_bump stare step2 all !white
ssl_bump bump step3 all !white

sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 16MB
visible_hostname server2

Вот настройки MikroTik (в таблице mangle):

 mikrot squid 1

mikrot squid 2

mikrot squid 3

И на последок правила iptables для редиректа с портов 80, 443 на порты squid:

iptables -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3129
iptables -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3130

11 примеров использования netstat

Команда netstat, входящая в стандартный набор сетевых инструментов UNIX, отображает различную network–related информацию, такую как сетевые подключения, статистику интерфейсов, таблицы маршрутизации, masquerade, multicast, и т.п.

В этой статье рассмотрим десять практических примеров использования команды netstat в Linux.

1. Список всех портов (как прослушиваемых, так и нет)

Перечислить все порты: netstat -a

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
udp6       0      0 fe80::20c:29ff:fe68:ntp [::]:*

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     20492    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     23323    /var/run/php5-fpm.sock

Перечислить все TCP порты: netstat -at

# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp        0      0 *:http                  *:*                     LISTEN

Перечислить все UDP порты: netstat -au

# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 localhost:domain        *:*
udp        0      0 *:bootpc                *:*
udp6       0      0 fe80::20c:29ff:fe68:ntp [::]:*

2. Список сокетов, находящихся в состоянии LISTEN

Перечислить все прослушиваемые порты: netstat -l

# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 192.168.128.134:ntp     *:*

Перечислить прослушиваемые TCP порты: netstat -lt

# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN

Перечислить прослушиваемые UDP порты: netstat -lu

# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 *:bootpc                *:*
udp6       0      0 [::]:ntp                [::]:*

Перечислить прослушиваемые UNIX сокеты: netstat -lx

# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     3141     /var/run/fail2ban/fail2ban.sock
unix  2      [ ACC ]     STREAM     LISTENING     20492    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     23323    /var/run/php5-fpm.sock

3. Просмотр статистики для каждого протокола

Показать статистику всех портов: netstat -s

# netstat -s
Ip:
    11150 total packets received
    1 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    11149 incoming packets delivered
    11635 requests sent out
Icmp:
    13791 ICMP messages received
    12 input ICMP message failed.
Tcp:
    15020 active connections openings
    97955 passive connection openings
    135 failed connection attempts
Udp:
    2841 packets received
    180 packets to unknown port received.
.....

Показать статистику только TCP портов: netstat -st

# netstat -st

Показать статистику только UDP портов: netstat -su

# netstat -su

4. Отображение PID и имени процесса в выводе netstat

Опция netstat -p добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту.

# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55723 ESTABLISHED 9486/nginx: worker
tcp        0      0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55757 ESTABLISHED 9486/nginx: worker

5. Разрешение имён в выводе netstat

Когда вам не нужно резолвить имя хоста, имя порта, имя пользователя, используйте опцию netstat -n для вывода значений в цифровом формате. Команда покажет IP-адрес вместо хоста, номер порта вместо имени порта, UID вместо имени пользователя.

Это также ускорит вывод, так как netstat не станет выполнять ненужный поиск.

# netstat -an

Для вывода цифровых значений только некоторых из этих пунктов, используйте следующие команды:

# netsat -a --numeric-ports

# netsat -a --numeric-hosts

# netsat -a --numeric-users

6. Вывод информации netstat непрерывно

Опция netstat -c будет выводить информацию непрерывно, в стиле top, обновляя экран каждые несколько секунд.

# netstat -c
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 org-ru-putty.vm.udf:www 182.131.74.202:59933    FIN_WAIT2
tcp        0      0 org-ru-putty.vm.udf:www 182.131.74.202:63761    FIN_WAIT2
tcp        0      0 org-ru-putty.vm.udf:www 92-181-66-102-irk.:4585 ESTABLISHED
^C

7. Неподдерживаемые системой семейства адресов

Опция netstat --verbose покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family.

    netstat: no support for `AF IPX' on this system.
    netstat: no support for `AF AX25' on this system.
    netstat: no support for `AF X25' on this system.
    netstat: no support for `AF NETROM' on this system.

8. Маршрутизация ядра

Показать таблицу маршрутизации ядра: netstat -r

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.128.2   0.0.0.0         UG        0 0          0 eth0
192.168.128.0   *               255.255.255.0   U         0 0          0 eth0

Примечание: Используйте netstat -rn для просмотра маршрута в цифровом формате без разрешения имён узлов.

9. Соответствие портов и процессов

Узнать, какой порт занимает определённая программа:

# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 *:ssh                   *:*                     LISTEN      -
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      -

Выяснить, каким процессом используется определённый порт:

# netstat -an | grep ':80'

10. Сетевые интерфейсы

Показать список сетевых интерфейсов: netstat -i

# netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   1911037      0      0 0       1382056      0      0      0 BMRU
lo        16436 0         0      0      0 0             0      0      0      0 LRU

Показать расширенную информацию об интерфейсах (аналогично ifconfig): netstat -ie

# netstat -ie
Kernel Interface table
eth0      Link encap:Ethernet  HWaddr 00:0c:29:68:4c:a4
          inet addr:192.168.128.134  Bcast:192.168.128.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe68:4ca4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24278 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11275 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:33203025 (33.2 MB)  TX bytes:665822 (665.8 KB)
          Interrupt:19 Base address:0x2000

11. netstat -lnptux

Резюмируем вышеописанное и объединим ключи в одну полезную команду, которая покажет:

  • -l все открытые порты (LISTEN)
  • -t по протоколу TCP
  • -u по протоколу UDP
  • -x по протоколу UNIX Socket
  • -n без резолва IP/имён
  • -p но с названиями процессов и PID-ами

Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё.

# netstat -lnptux
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9614/nginx
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      601/sshd
udp        0      0 8.8.4.4:123             0.0.0.0:*                           574/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           574/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           574/ntpd
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     4233     826/python          /var/run/fail2ban/fail2ban.sock
unix  2      [ ACC ]     STREAM     LISTENING     8122     2561/mysqld         /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     160413   7301/php-fpm.conf   /var/run/php5-fpm.sock
Четверг, 07 мая 2020 00:00

Установка Linux на SSD

Установка Linux на SSD

Диски, использующие электронные ячейки памяти (SSD — Solid State Drive), мало весят, работают бесшумно и потребляют втрое меньше энергии, чем жёсткие диски (HDD). Однако главная причина их популярности – фантастическая скорость работы. Операционная система загружается быстро, операции с файлами большого размера выполняются значительно быстрее.

 

Недостаток твердотельных накопителей – износ ячеек. Память деградирует в процессе перезаписи данных. В среднем через 0,5-3 года диск может выйти из строя. Для того, чтобы продлить жизнь накопителя, использование Linux на SSD должно подчиняться определённым правилам. Каким – рассмотрим в этом материале.

Особенности работы SSD

Классические жёсткие диски (HDD) хранят данные в магнитном слое. Для чтения и записи используется позиционируемая магнитная головка. Перемещение считывателя требует какого-то времени, поэтому скорость работы HDD ограничена.

Принцип работы SSD основан на использовании электронных ячеек памяти. Единицу информации хранит заряд внутри транзистора, обращение к ячейкам выполняет контроллер. Задержки при чтении или записи минимальны.

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

Инженеры успешно работают над продлением срока службы SSD, но сами пользователи также могут продлив срок жизни накопителя, правильно настроив операционную систему.

В Интернете есть сотни советов, выдаваемых поисковиками по запросу "Установка Linux на SSD", однако мы советуем воспринимать написанное с осторожностью. Остановимся на моментах, способствующих улучшению состояния SSD-хранилища без риска потери данных.

Как установить Linux на SSD?

Внешне установка операционной системы Linux на твердотельный накопитель выглядит так же, как и на магнитный диск. Могут отличаться лишь настройки файловой системы, раздела подкачки и параметры монтирования разделов.

1. Выбор файловой системы

На данном этапе для Unix разработаны специальные файловые системы, учитывающие особенности работы SSD-дисков:

  • Extended4 (ext4) – самая популярная и стабильная файловая система в этой среде, поддерживающая отключаемое журналирование, а также функцию TRIM.
  • BtrFS – файловая система, разработанная инженерами Oracle, поддерживает зеркальные копии структур данных и контрольные суммы, что позволяет легко восстанавливать файлы при повреждении. Журналы не ведутся, поэтому дополнительной нагрузки на диск не возникает.
  • XFS – файловая система, разработанная Silicon Graphics для работы с большими файлами, журналы ведутся только для регистрации изменений структур данных.
  • Flash-Friendly File System (F2FS) – разработка Samsung специально для флешек и SSD. Учитывает особенности износа памяти, собирает данные в пакет, который затем записывает в свободные области за один цикл.

Как видим, выбор богат, поле для экспериментов широкое. Однако если вы спросите, какая файловая система на SSD для Linux будет наилучшей, мы посоветуем остановиться на проверенной годами ext4. Прочие системы продолжают дорабатываться, в них могут быть критические ошибки.

2. Настройка файла подкачки

Оперативной памяти много не бывает. Если у вас её меньше, чем 4 Гб, рекомендуем докупить и установить дополнительные планки. В этом случае файл подкачки будет меньше задействован операционной системой. Отсюда следует резонный вопрос: нужен ли swap для Linux на SSD?

При установке системы мы всё же рекомендуем создать файл подкачки. В тех случаях, когда памяти недостаточно, Linux начинает выгружаться на диск, но не падает. У вас будет шанс обнаружить и выгрузить слишком ресурсоёмкую программу.

Специфика выгрузки сегментов памяти в Linux в файл подкачки регулируется параметром swappiness. По умолчанию его значение равно 60. Чем меньше эта величина, тем сильнее должна быть перегружена система перед началом выгрузки памяти на диск.

Для того, чтобы проверить эти настройки, запустите Terminal и выполните команду:

cat /proc/sys/vm/swappiness

Ustanovka Linux na SSD 1

В нашем случае установлено значение по умолчанию. Для того, чтобы его изменить, необходимо отредактировать файл /etc/sysctl.conf. Откройте файл в редакторе с помощью команды:

sudo nano /etc/sysctl.conf

Перейдите в конец файла, нажав на клавиатуре сочетание Alt-/, и добавьте строку:

vm.swappiness=5

Ustanovka Linux na SSD 2

 

Закройте редактор, сохранив изменения в отредактированном файле. Новые настройки вступят в силу после перезагрузки операционной системы.

3. Настройка монтирования в fstab

После того, как установка Linux на SSD завершена, рекомендуется изменить настройки монтирования. Особенностью Unix-систем является наличие специального атрибута у файлов — времени последнего доступа (access time stamp). Этот атрибут перезаписывается каждый раз при обращении какого-либо процесса к файлу. Необходимость атрибута сомнительна, а нагрузка на SSD существенна.

Обновление атрибута времени последнего доступа отключается, если добавить в строку монтирования дисков опцию noatime. Для изменения настроек необходимо отредактировать файл /etc/fstab. Это системный файл, поэтому для его редактирования нужны права суперпользователя:

sudo nano /etc/fstab

С помощью стрелок установите курсор в позицию после обозначения типа файловой системы (ext4) и после пробела впишите ключевое слово noatime. После него поставьте запятую. Обратите внимание, что пробела между запятой и следующим словом быть не должно.

Ustanovka Linux na SSD 4

Изменённые строки должны выглядеть так:

UUID=xxxxxxx / ext4 noatime,errors=remount-ro 0 1

UUID=xxxxxxx /storage ext4 noatime,defaults 0 1

4. Настройка TRIM

Настройка SSD в Linux близится к завершению. Остаётся рассмотреть метод TRIM. Так как ячейки памяти изнашиваются, встроенный контроллер каждый раз записывает данные в новые блоки. Когда свободное место подходит к концу, диск начинает притормаживать.

Файлы в операционной системе исправляются, затираются, удаляются. Задача команды TRIM (Data Set Management) – сообщить контроллеру SSD, что те или иные блоки данных уже пусты и в них можно опять записывать информацию.

В Linux команда TRIM по умолчанию выполняется раз в неделю. В случае повышенной интенсивности использования компьютера этого недостаточно, желательно запускать оптимизацию чаще.

Чтобы проверить включён ли TRIM, выполните команду:

fstrim -av ; echo $

Добавьте в файл /etc/cron.weekly/fstrim.timer следующие строки:

[Timer]
OnCalendar=daily

Закройте редактор, сохранив изменения в отредактированном файле. Для применения настроек перегрузите компьютер или выполните команду:

sudo systemctl daemon-reload

Убедитесь в том, что изменения настроек применены, выполнив команду:

systemctl cat fstrim.timer

Всё в порядке, команда TRIM теперь будет выполняться ежедневно.

Выводы

Твердотельный накопитель работает в 100 раз быстрее, чем магнитный диск, однако также имеется и своя специфика использования. Последние версии Windows или Ubuntu учитывают особенности SSD, поэтому могут быть рекомендованы к использованию с этими устройствами. Для того, чтобы установить Linux на SSD, не нужны какие-то особые знания. Мастер установки подскажет, какие шаги надо выполнить.

Скорость SSD в Linux можно измерить с помощью команды:

systemd-analyze

Ustanovka Linux na SSD 8

 

В результате выполнения команды на экран будет выведено время загрузки системы. Для продления срока службы SSD с обычных 3-5 до 10 лет вновь установленную систему следует правильно настроить. Не нужно выполнять советы, взятые из непроверенных источников. Достаточно выполнить важные настройки, устраняющие выполнение лишних операций записи на SSD.

Понедельник, 04 июня 2018 00:00

Установка Linux рядом с Windows 10

Допустим, вы прочитали в интернете несколько статей и заинтересовались свободной операционной системой Linux. Возможно, даже поставили ее себе на виртуальную машину или загрузились в Live-режиме и попробовали, как все выглядит и работает. Вам понравилось, и теперь вы хотите установить ее себе на компьютер и начать пользоваться. Но при этом терять уже установленную Windows не желаете, чтобы в случае непредвиденной ситуации можно было вернуться в полностью рабочую систему, да и любимые игры и нужные программы всегда будут под рукой. Есть возможность установить Linux и Windows 10 на одном компьютере. В свое время для меня, как и для многих других пользователей, это было идеальным вариантом.

 

В этой инструкции мы рассмотрим, как установить Linux рядом с Windows 10. Я говорю Windows 10 потому, что это самая новая операционная система от Microsoft, но эти инструкции также подойдут для более ранних версий, таких как Windwos 7, 8 и 8.1.

Я предполагаю, что у вас уже есть установленная Windows, вы нашли и определились, от какого диска отделить немного места для Linux, только не знаете, как правильно это сделать. Здесь вы получите подробный ответ на этот вопрос. Затронем еще одну важную тему — UEFI. Эта технология используется на всех новых ноутбуках с Windows, и многих пользователей интересует, как установить Linux на UEFI и какие при этом могут возникнуть проблемы.

Немного теории

Для установки операционной системы Linux рядом с Windows 10 вам понадобится создать несколько дополнительных разделов диска. Минимальное количество — три раздела. Linux не принято устанавливать на один раздел как Windows, хотя такой вариант возможен. Linux настолько гибок, что позволяет разместить систему, файлы пользователя и настройки на разных разделах. Это очень выгодно во время переустановки. Вы переустанавливаете систему в системном разделе, а все ваши файлы на рабочем столе и настройки рабочего окружения останутся на месте.

Вот эти три раздела:

  • Системный;
  • Домашний;
  • Раздел подкачки.

Минимальные требования объема под системный раздел в различных дистрибутивах варьируются от семи до двадцати Гигабайт. Но этого хватит для установки самой системы и нескольких дополнительных программ. Если же вы собираетесь использовать много программ и игр, особенно если они занимают много места, необходимо взять еще пару десятков Гигабайт про запас. Я рекомендую использовать под системный раздел Linux так же, как и для диска C Windows, 30-40 Гигабайт.

Раздел подкачки используется, когда системе не хватает оперативной памяти. При определенном проценте заполнения Linux понемногу начинает скидывать неиспользуемые данные в этот файл. Поэтому для данного раздела подойдет объем в два раза меньше, чем размер вашей ОЗУ. Но если вы планируете использовать спящий режим или гибернацию, то под раздел подкачки нужно выделить объем дискового пространства, равный размеру ОЗУ, потому что в этих режимах все содержимое оперативной памяти компьютера переносится на диск. Домашний раздел — это раздел с вашими файлами, фильмами, музыкой, загрузками. Прикиньте, сколько вам нужно.

Подготовка диска в Windows

Чтобы установить Linux рядом с уже использующейся Windows 10, нужно будет «отрезать» пространство от системного диска. Поэтому перед решительными действиями важно создать резервную копию системы или хотя бы важных файлов. Если все пройдет хорошо, ничего страшного не случится ни с файлами, ни с системой, но из-за какого-либо сбоя, например, отключения электричества, файловая система может быть повреждена. Вы и сами по невнимательности можете сделать что-то не так и удалить не то, что нужно.

install_linux1

Поэтому, если будете работать с системным диском, скопируйте важные файлы на внешний носитель, и, если есть возможность, создайте резервную копию операционной системы с помощью соответствующего пункта панели управления:

install_linux2

При работе с не системным разделом, например, D, E, F и т д, достаточно просто скопировать файлы оттуда.

Теперь переходим непосредственно к подготовке диска для установки Windows 10 и Linux. Проще всего это сделать с помощью стандартной утилиты управления дисками в Windows. Кликните правой кнопкой по значку «Этот компьютер» на рабочем столе и откройте пункт «Управление«:

install_linux3

Дальше нам нужна утилита Управление дисками:

install_linux4

Здесь внизу окна мы видим два диска: C (системный) и D (обычный). Я приведу пример, как изменить размер диска D. Для диска C все действия аналогичны.

Кликните по нужному диску правой кнопкой и выберите опцию Сжать том:

install_linux5

Откроется вот такое окно, в котором нужно ввести размер создаваемого тома в поле размер сжимаемого пространства:

install_linux6

Обратите внимание, вы не можете указать размер больше, чем количество свободного места на диске. Поэтому сначала освободите место, если еще этого не сделали. Кликаем на кнопку сжать. После этого появится неразмеченное пространство, из которого можно создать нужные разделы:

install_linux7

Вот и все. Теперь у вас есть место для установки Linux рядом с Windows 10. Выполнять дальнейшую разметку диска в утилите Windows не вижу смысла, поскольку все опасные операции, которые могли повредить систему, мы уже сделали, а разделы для Linux лучше всего и настраивать средствами Linux.

Подготовка диска в Linux

Это не следующий пункт установки Linux вместе с Windows 10. Это альтернативный вариант разметки диска без использования Windows. Если вы по каким-либо причинам не хотите использовать стандартную утилиту Windows для выделения нужного пространства, это также можно сделать с помощью любого LiveCD дистрибутива Linux с предустановленной программой для управления дисками Gparted. Например, того же Ubuntu.

 

install_linux8

Загрузитесь с диска Ubuntu, в поиске Dash наберите Gparted:

install_linux10

Откроется вот такое окно программы для управления дисками в Linux:

install_linux20

Здесь важно заметить, что разделы диска в Linux называются иначе чем в Windows. Здесь диски — это просто адреса файлов в виртуальной файловой системе dev. Позже вы поймете, что это такое, а сейчас важно только, что имя каждого раздела начинается с /dev/sd. Дальше идет буква, означающая физический диск (sda, sdb, sdc, sdd и так далее). За ней цифра, что обозначает номер раздела на диске, например: sda1, sda2.

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

В моем примере /dev/sdb1 — это диск С в Windows, а /dev/sdb2 — D. Мы будем делать то же, что и в предыдущем примере. Давайте уменьшим размер раздела /dev/sdb2 (D) до 10 Гигабайт чтобы на освободившимся пространстве выполнить установку Linux на Windows 10. Для этого кликните по разделу правой кнопкой и выберите пункт Resize/Move:

install_linux11

В открывшемся окне можно ввести нужный размер вручную в поле New size или воспользоваться ползунком:

install_linux12

Затем нажмите кнопку Resize/Move.

install_linux15

Как видите, появилось свободное пространство, но реальных изменений на диске еще нет. Для того чтобы записать все на диск, нажмите зеленую галочку, или в меню Edit выберите пункт Apply All Operations:

install_linux25

Процесс изменения размера файловой системы может занять немного времени:

install_linux14

Теперь вы можете видеть, что раздел /dev/sdb2 уменьшился, и появилось свободное место:

install_linux15

Для системного раздела операции те же, только есть одно замечание: не трогайте начало раздела. Вы можете спокойно уменьшать размер раздела, добавляя свободное пространство после него, но не пытайтесь это сделать до него, вот так:

install_linux16

Так делать не нужно, иначе будет поврежден загрузчик Windows, его очень легко восстановить, но решать эти проблемы в самом начале знакомства с Linux вам, думаю, незачем.

Создавать разделы для Linux здесь мы тоже не будем, лучше все это сделать во время установки, специально предназначенной для этого утилитой.

Установка Linux рядом с Windows 10

Я не буду здесь подробно рассматривать, как установить Linux, все это уже подробно рассмотрено в моих статьях отдельно для разных дистрибутивов. Рассмотрим только несколько аспектов разметки диска. Возьмем Ubuntu, как самую популярную ОС для новичков, но в других дистрибутивах все почти так же.

На этапе выбора способа разметки я советую брать ручной вариант. Поскольку так вы лучше разберетесь, как устанавливать систему:

install_linux17

Здесь вы из освобожденного ранее места создаете те разделы, о которых мы говорили в самом начале статьи. Для корневого раздела точку монтирования нужно выбрать /, для домашнего — /home, а для раздела подкачки точка монтирования не указывается.

Дальше действуем все как обычно — по инструкции для определенного дистрибутива, и установка Linux рядом с Windows 10 будет выполнена успешно.

Установка Linux рядом с Windows 10 UEFI

На всех современных ноутбуках, выпускаемых с Windows 8, 8.1, 10 используется технология UEFI. Это новая прогрессивная технология, которая пришла на смену устаревшей BIOS. Первое важное и самое заметное изменение — использование таблицы разделов GPT, вместо устаревшей MBR, а также создание отдельного раздела диска для загрузчиков операционных систем. Многие пользователи боятся, что UEFI усложнит установку Linux с Windows 10 на их ноутбук. И зря — в большинстве случаев нет ничего сложного. Если у вас уже установлена Windows, то, скорее всего, раздел efi уже был создан, и во время разметки диска нужно просто выбрать его для установки загрузчика.  Раздел efi, как правило, создается с файловой системой fat32 и занимает около 30 Мегабайт памяти:

install_linux22

Если же у вас чистый винчестер, нужно создать таблицу разделов GPT. Это можно сделать с помощью той же Gparted, открыв меню Devices -> Create Partition Table:

install_linux18

Дальше необходимо создать efi раздел, делаем тоже с помощью Gparted, создаем обычный раздел, с файловой системой fat32 и меткой EFI:

install_linux19

Потом указываем этот раздел во время установки Linux вместе с windows 10, для него нужно указать точку монтирования /boot/EFI. Вот и все сложности с установкой в UEFI. Вообще, установку в UEFI поддерживают все дистрибутивы, работающие в Grub2.

Завершение установки

Многих новых пользователей интересует: «Как же загрузить потом мою Windows?» Не беспокойтесь, загрузчик Grub автоматически найдет загрузчик Windows и перед запуском компьютера предложит вам меню, где вы сможете выбрать операционную систему:

Install-Ubuntu-15.04-Alongside-Windows-First-Time-Ubuntu-Booting

Таким образом, двойная загрузка Windows 10 и Linux будет настроена автоматически.

Если что-то пойдет не по плану, хотя такое вряд ли случиться, все очень легко настроить. Так что, если все сделано правильно, вы обязательно получите доступ к своей Windows после установки Linux.

Выводы

Сегодня мы рассмотрели, как установить Linux на Windows 10. Разобрались, как выполнить разметку, как выбрать разделы и что делать, если на вашем ноутбуке используется UEFI. Об установке какого-либо определенного дистрибутива Linux вместе Windows 10, говорить бессмысленно, так как, во-первых, все действия похожи, и, во-вторых, вы можете найти подробные инструкции в соответствующих статьях. Еще хотелось бы заметить: для комфортной работы Windows 10 с Linux на одном компьютере нужно отключить Windows FastBoot, иначе вы не сможете подключить системный раздел Windows в Linux. Если остались вопросы, спрашивайте в комментариях!

Воскресенье, 03 июня 2018 00:00

Поиск текста в файлах Linux

Иногда может понадобится найти файл, в котором содержится определённая строка или найти строку в файле, где есть нужное слово. В Linux всё это делается с помощью одной очень простой, но в то же время мощной утилиты grep. С её помощью можно искать не только строки в файлах, но и фильтровать вывод команд, и много чего ещё.

 

В этой инструкции мы рассмотрим, как выполняется поиск текста в файлах Linux, подробно разберём возможные опции grep, а также приведём несколько примеров работы с этой утилитой.

Что такое grep?

Команда grep (расшифровывается как global regular expression print) — одна из самых востребованных команд в терминале Linux, которая входит в состав проекта GNU. Секрет популярности — её мощь, она даёт возможность пользователям сортировать и фильтровать текст на основе сложных правил.

Утилита grep решаем множество задач, в основном она используется для поиска строк, соответствующих строке в тексте или содержимому файлов. Также она может находить по шаблону или регулярным выражениям. Команда в считанные секунды найдёт файл в с нужной строчкой, текст в файле или отфильтрует из вывода только пару нужных строк. А теперь давайте рассмотрим, как ей пользоваться.

Синтаксис grep

Синтаксис команды выглядит следующим образом:

$ grep [опции] шаблон [имя файла…]

Или:

$ команда | grep [опции] шаблон

  • Опции — это дополнительные параметры, с помощью которых указываются различные настройки поиска и вывода, например количество строк или режим инверсии.
  • Шаблон — это любая строка или регулярное выражение, по которому будет вестись поиск
  • Файл и команда — это то место, где будет вестись поиск. Как вы увидите дальше, grep позволяет искать в нескольких файлах и даже в каталоге, используя рекурсивный режим.

Возможность фильтровать стандартный вывод пригодится,например, когда нужно выбрать только ошибки из логов или найти PID процесса в многочисленном отчёте утилиты ps.

Опции

Давайте рассмотрим самые основные опции утилиты, которые помогут более эффективно выполнять поиск текста в файлах grep:

  • -b — показывать номер блока перед строкой;
  • -c — подсчитать количество вхождений шаблона;
  • -h — не выводить имя файла в результатах поиска внутри файлов Linux;
  • -i — не учитывать регистр;
  • — l — отобразить только имена файлов, в которых найден шаблон;
  • -n — показывать номер строки в файле;
  • -s — не показывать сообщения об ошибках;
  • -v — инвертировать поиск, выдавать все строки кроме тех, что содержат шаблон;
  • -w — искать шаблон как слово, окружённое пробелами;
  • -e — использовать регулярные выражения при поиске;
  • -An — показать вхождение и n строк до него;
  • -Bn — показать вхождение и n строк после него;
  • -Cn — показать n строк до и после вхождения;

Все самые основные опции рассмотрели и даже больше, теперь перейдём к примерам работы команды grep Linux.

Примеры использования

С теорией покончено, теперь перейдём к практике. Рассмотрим несколько основных примеров поиска внутри файлов Linux с помощью grep, которые могут вам понадобиться в повседневной жизни.

Поиск текста в файлах

В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:

grep User /etc/passwd

В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:

User:x:1000:1000:User,,,:/home/User:/bin/bash

А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:

grep -i "user" /etc/passwd

Вывести несколько строк

Например, мы хотим выбрать все ошибки из лог-файла, но знаем, что в следующей строчке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк. Ошибки будем искать в Xorg.log по шаблону «EE»:

grep -A4 "EE" /var/log/xorg.0.log

Выведет строку с вхождением и 4 строчки после неё:

grep -B4 "EE" /var/log/xorg.0.log

Выведет целевую строку и 4 строчки до неё:

grep -C2 "EE" /var/log/xorg.0.log

 

Выведет по две строки с верху и снизу от вхождения.

Регулярные выражения в grep

Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:

Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:

grep "^Nov 10" messages.1

Nov 10 01:12:55 gs123 ntpd[2241]: time reset +0.177479 s
Nov 10 01:17:17 gs123 ntpd[2241]: synchronized to LOCAL(0), stratum 10

Поиск в конце строки — спецсимвол «$»:

grep "terminating.$" messages

Jul 12 17:01:09 cloneme kernel: Kernel log daemon terminating.
Oct 28 06:29:54 cloneme kernel: Kernel log daemon terminating.

Найдём все строки, которые содержат цифры:

grep "[0-9]" /var/log/Xorg.0.log

Вообще, регулярные выражения grep — это очень обширная тема, в этой статье я лишь показал несколько примеров. Как вы увидели, поиск текста в файлах grep становиться ещё эффективнее. Но на полное объяснение этой темы нужна целая статья, поэтому пока пропустим её и пойдем дальше.

Рекурсивное использование grep

Если вам нужно провести поиск текста в нескольких файлах, размещённых в одном каталоге или подкаталогах, например в файлах конфигурации Apache — /etc/apache2/, используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

grep -r "mydomain.com" /etc/apache2/

В выводе вы получите:

grep -r "zendsite" /etc/apache2/
/etc/apache2/vhosts.d/zendsite_vhost.conf: ServerName zendsite.localhost
/etc/apache2/vhosts.d/zendsite_vhost.conf: DocumentRoot /var/www/localhost/htdocs/zendsite
/etc/apache2/vhosts.d/zendsite_vhost.conf: <Directory /var/www/localhost/htdocs/zendsite>

Здесь перед найденной строкой указано имя файла, в котором она была найдена. Вывод имени файла легко отключить с помощью опции -h:

grep -h -r "zendsite" /etc/apache2/

ServerName zendsite.localhost
DocumentRoot /var/www/localhost/htdocs/zendsite
<Directory /var/www/localhost/htdocs/zendsite>

Поиск слов в grep

Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:

grep -w "abc" имя_файла

Поиск двух слов

Можно искать по содержимому файла не одно слово, а два сразу:

egrep -w 'word1|word2' /path/to/file

Количество вхождений строки

Утилита grep может сообщить, сколько раз определённая строка была найдена в каждом файле. Для этого используется опция -c (счетчик):

grep -c 'word' /path/to/file

C помощью опции -n можно выводить номер строки, в которой найдено вхождение, например:

grep -n 'root' /etc/passwd

Получим:

1:root:x:0:0:root:/root:/bin/bash

Инвертированный поиск в grep

Команда grep Linux может быть использована для поиска строк в файле, которые не содержат указанное слово. Например, вывести только те строки, которые не содержат слово пар:

grep -v пар /path/to/file

Вывод имени файла

Вы можете указать grep выводить только имя файла, в котором было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:

grep -l 'primary' *.c

Цветной вывод в grep

Также вы можете заставить программу выделять другим цветом вхождения в выводе:

grep --color root /etc/passwd

Получится:

1

Выводы

Вот и всё. Мы рассмотрели использование команды grep для поиска и фильтрации вывода команд в операционной системе Linux. При правильном применении эта утилита станет мощным инструментом в ваших руках. Если у вас остались вопросы, пишите в комментариях!

Четверг, 24 мая 2018 00:00

Как создать пользователя Linux

Основу управления правами доступа в Linux и уровнем привилегий в Linux составляют именно пользователи. Изначально, еще при проектировании системы существовал пользователь root, которому позволено выполнять любые действия и другие пользователи, права которых настраиваются с помощью вступления их в группы Linux и установки прав на каталоги.
 

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

Создание пользователя в Linux

Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.

Команда useradd

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

$ useradd опции имя_пользователя

Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:

  • -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c — комментарий к учетной записи;
  • -d — домашний каталог, в котором будут размещаться файлы пользователя;
  • -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f — заблокировать учетную запись сразу после создания;
  • -g — основная группа пользователя;
  • -G — список дополнительных групп;
  • -k — каталог с шаблонами конфигурационных файлов;
  • -l — не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m — создавать домашний каталог пользователя, если он не существует;
  • -M — не создавать домашнюю папку;
  • -N — не создавать группу с именем пользователя;
  • -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p — задать пароль пользователя;
  • -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s — командная оболочка для пользователя;
  • -u — идентификатор для пользователя;
  • -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.

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

useradd -D

Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

sudo useradd test

 

Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:

sudo useradd -p password -s /bin/bash test1

Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:

sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash test2

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

sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash -e 01:01:2018 test2

Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:

sudo useradd -o -u 0 -g 0 -s /bin/bash newroot

Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.

Создание нового пользователя linux в GUI

В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:

Затем откройте «Пользователи»:

Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:

Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:

После этого создание пользователя linux завершено, новый пользователь появится в списке.

Выводы

В этой статье мы рассмотрели как создать пользователя linux с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!

В этой инструкции мы рассмотрим как удалить пользователя Linux вместе с его данными и домашним каталогом.

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

При удалении пользователей Linux также важно удалить их домашний каталог, чтобы освободить место на устройстве хранения для новых пользователей и их файлов. Сначала мы рассмотрим как удалить пользователя Linux с помощью терминала, потом поговорим о том, как это делается в графическом интерфейсе одного из самых популярных дистрибутивов — Ubuntu.

Перед тем как переходить к действиям в реальной среде нужно немного попрактиковаться, давайте создадим два пользователя unixoid и unixoid1, вместе с домашними каталогами, а затем уже будем их удалять:

adduser unixoid
$ passwd unixoid

adduser unixoid1
$ passwd unixoid1

Здесь команда adduser используется для создания учетной записи пользователя, а passwd для создания пароля.

Удаление пользователя Linux в терминале

Давайте рассмотрим, как удалить пользователя Linux в терминале. Для этого используется команда — deluser в debian и производных системах, а в RedHat — userdel. Рассмотрим подробнее эти две утилиты.

Описание deluser

Синтаксис команды deluser очень простой:

$ deluser параметры пользователь

Настройки команды deluser находятся в файле /etc/deluser.conf, среди прочих настроек там указанно что нужно делать с домашней папой и файлами пользователя.

Вы можете посмотреть и изменить эти настройки выполнив команду:

vi /etc/deluser.conf

Рассмотрим подробнее эти настройки:

  • REMOVE_HOME — удалять домашний каталог пользователя
  • REMOVE_ALL_FILES — удалить все файлы пользователя
  • BACKUP — выполнять резервное копирование файлов пользователя
  • BACKUP_TO — папка для резервного копирования
  • ONLY_IF_EMPTY — удалить группу пользователя если она пуста.

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

Поддерживаются такие параметры, они аналогичны настройкам, но тут больше вариантов:

  • —system — удалять только если это системный пользователь
  • —backup — делать резервную копию файлов пользователя
  • —backup-to — папка для резервных копий
  • —remove-home — удалять домашнюю папку
  • —remove-all-files — удалять все файлы пользователя в файловой системе

Описание userdel

Утилита userdel работает немного по-другому, файла настроек здесь нет, но есть опции, с помощью которых можно сообщить утилите что нужно сделать. Синтаксис аналогичный:

$ userdel параметры пользователь

  • -f, —force — принудительное удаление, даже если пользователь еще залогинен
  • -r, —remove — удалить домашнюю директорию пользователя и его файлы в системе.
  • -Z — удалить все SELinux объекты для этого пользователя.

Для удаления пользователя с сервера лучше использовать расширенный способ, который мы рассмотрим ниже. Когда пользователи используют сервер, они запускают различные программы и сервисы. Пользователь может быть правильно удален, только если он не залогинен на сервере и все программы, запущенные от его имени остановлены, ведь программы могут использовать различные файлы, принадлежащие пользователю, а это помешает их удалить. Соответственно тогда файлы пользователя будут удаленны не полностью и останутся засорять систему.

Блокировка учетной записи пользователя

Для блокировки учетной записи пользователя можно использовать утилиту passwd. Это запретит пользователю доступ к системе и предотвратит запуск новых процессов:

 

Выполните команду passwd с параметром —lock:

 passwd --lock unixoid

passwd: информация об истечении срока действия пароля изменена.

Уничтожить все запущенные процессы пользователя

Теперь давайте найдем все запущенные от имени пользователя процессы и завершим их.

Найдем процессы с помощью pgrep:

pgrep -u unixoid

14684
14735

Посмотреть подробнее, что это за процессы можно передав pid, каждого из них в команду ps, вот так:

ps -f --pid $(pgrep -u unixoid)

UID PID PPID C STIME TTY STAT TIME CMD
unixoid  14684 14676 0 22:15 pts/2 S 0:00 -bash
unixoid  14735 14684 0 22:15 pts/2 S+ 0:00 vi text

Теперь, когда вы убедились, что там нет ничего важного, можно уничтожить все процессы с помощью команды killall:

Killall -9 -u unixoid

Опция -9 говорит программе, что нужно отправить этим процессам сигнал завершения SIGKILL, а -u задает имя пользователя.

В основанных на Red Hat системах, для использования killall необходимо будет установить пакет psmisc:

sudo yum install psmisc

Резервное копирование данных пользователя

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

tar jcvf /user-backups/unixoid-backup.tar.bz2 /home/unixoid

Удаление учетной записи пользователя

Теперь, когда все подготовлено, начинаем удаление пользователя linux. На всякий случай укажем явно, что нужно удалять файлы пользователя и домашнюю директорию. Для Debian:

deluser --remove-home unixoid

Для Red Hat:

userdel --remove unixoid

Если нужно удалить все файлы, принадлежащие пользователю в системе используйте опцию —remove-all-files, только будьте с ней осторожны, так и важные файлы можно затереть:

deluser --remove-all-files unixoid

Теперь пользователь полностью удален, вместе со своими файлами и домашней директорией из вашей системы.

Удаление пользователя в Ubuntu

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

Откройте Параметры системы:

ubuntu-settings

Откройте пункт Учетные записи:

ubuntu

Как видите, сейчас все действия недоступны, и нарисованы серым цветом. Чтобы их активировать нажмите кнопку разблокировать и введите пароль пользователя.

Теперь для того чтобы удалить пользователя в linux достаточно кликнуть по нему мышкой, а затем нажать на значок минус.

В открывшимся окне можно выбрать, что нужно сделать с файлами пользователя:

ubuntu1

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

Выводы

Удалить пользователя в linux не так уж сложно, независимо от того где это нужно сделать, на сервере или домашнем компьютере. Конечно, графический интерфейс более удобен, но в терминал, как всегда, предлагает больше возможностей. Если у вас есть еще какие-нибудь идеи по этому поводу, напишите в комментариях!

О сайте

Вы попали на сайт о UNIX подобных операционных системах. Здесь вы сможете получить навыки работы с UNIX подобными операционными системами, а также быть в курсе новостей в мире UNIX.

Контакты

  • E-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
  • E-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Gentoo

Mikrotik

Android