Команды Linux для управления пользователями
35. useradd / userdel / usermod
Эти команды консоли Linux позволяют вам добавлять, удалять и изменять учетные записи пользователей. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай.
36. passwd
Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.
Файлы и директории
<box 100% left round|>
cd /home — перейти в директорию ‘/home’ cd .. — перейти в директорию уровнем вышеcd ../.. — перейти в директорию двумя уровнями вышеcd — перейти в домашнюю директорию~user — перейти в домашнюю директорию пользователя usercd — — перейти в директорию, в которой находились до перехода в текущую директориюpwd — показать текущюю директориюls — отобразить содержимое текущей директорииls -F — отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих типls -l — показать детализированое представление файлов и директорий в текущей директорииls -a — показать скрытые файлы и директории в текущей директорииls ** — показать файлы и директории содержащие в имени цифрыtree или lstree — показать дерево файлов и директорий, начиная от корня (/)mkdir dir1 — создать директорию с именем ‘dir1’mkdir dir1 dir2 — создать две директории одновременноmkdir -p /tmp/dir1/dir2 — создать дерево директорийrm -f file1 — удалить файл с именем ‘file1’rmdir dir1 — удалить директорию с именем ‘dir1’rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимоеrm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимоеmv dir1 new_dir — переименовать или переместить файл или директориюcp file1 file2 — сопировать файл file1 в файл file2cp dir/* . — копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2 — копировать директорию dir1 в директорию dir2ln -s file1 lnk1* — создать символическую ссылку на файл или директориюln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директориюtouch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
</box>
Examples
rpcinfo
Display all of the RPC services of the local host.
rpcinfo cpuhope
Show all RPC services registered with rpcbind on the machine named cpuhope.
rpcinfo -s cpuhope
Same as the above command, but shows more concise information (the default information display can be quite lengthy). Output resembles the following:
program version netid service owner 100000 2,3,4 local,tcp,udp,tcp6,udp6 rpcbind super-user 100008 1 udp,tcp,udp6,tcp6 walld super-user 100002 2,1 udp,udp6 rusersd super-user 100001 2,3,4 udp,udp6 rstatd super-user 100012 1 udp,tcp sprayd super-user 100007 3 udp,tcp ypbind super-user
rpcinfo -T tcp cpuhope prognum versnum
Show whether the RPC service with program number prognum and version versnum is registered on the machine named cpuhope for the transport tcp.
rpcinfo -p
Show all RPC services registered with version 2 of the rpcbind protocol on the local machine.
rpcinfo -d 100008 1
Delete the registration for version 1 of the walld (program number 100008) service for all transports.
rpcinfo -d walld 1
Same as the above example, but specifies walld by name.
Способ 3: проверьте подключение к сети
Проблема «Сервер RPC недоступен» иногда возникает из-за неправильной настройки сетевого подключения. Чтобы проверить подключение к сети:
1) нажмите Логотип Windows ключ а также р на клавиатуре, чтобы открыть Бежать Диалог. Затем введите «ncpa.cplИ нажмите Войти.
2) Щелкните правой кнопкой мыши используемое сетевое подключение и выберите свойства.
3) Удостовериться Общий доступ к файлам и принтерам для сетей Microsoft а также Интернет-протокол версии 6 (TCP / IPv6) являются включен (Коробки рядом с этими пунктами тикали).
Вы также можете сбросить общий доступ к файлам и принтерам, переустановив драйвер сетевого адаптера. Если вам неудобно играть с драйверами устройств, мы рекомендуем использовать Водитель Легко. Это инструмент, который обнаруживает, загружает и (если вы используете Pro) устанавливает любые обновления драйверов, необходимые вашему компьютеру.
Вам может понадобиться другой компьютер с доступом в Интернет, чтобы вы могли установить сетевой драйвер.
Чтобы удалить драйверы с помощью Driver Easy, просто перейдите на инструменты > Удаление драйвера. Затем выберите сетевой адаптер и нажмите Удалить. (Это требует Pro версия — вам будет предложено обновить, когда вы нажмете кнопку Удалить.)
После удаления драйвера сетевого адаптера вы можете использовать Driver Easy для его переустановки. Если вы не можете получить доступ к Интернету, вы можете использовать Автономное сканирование функция для установки вашего сетевого драйвера. Он сканирует и обнаруживает ваши сетевые устройства, и вы можете использовать результаты для загрузки сетевых драйверов на другой компьютер с доступом в Интернет.
Как получить информацию о файловой системе Linux
Что бы получить информацию о системных разделах используйте команду fdisk
Shell
fdisk -l
Disk /dev/sda: 1000 GB, 1000204887016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xcee8ad92
Device Boot Start End Blocks Id System
/dev/sda1 1 1953425167 976762583+ ee GPT
Partition 1 does not start on physical sector boundary.
1 |
fdisk-l Disk/dev/sda1000GB,1000204887016bytes 255heads,63sectors/track,121601cylinders,total1953525168sectors Units=sectors of1*512=512bytes Sector size(logical/physical)512bytes/4096bytes I/Osize(minimum/optimal)4096bytes/4096bytes Disk identifier0xcee8ad92 Device Boot Start EndBlocks IdSystem /dev/sda111953425167976762583+ee GPT Partition1does notstart on physical sector boundary. |
Как получить информацию по PCI устройствам.
PCI устройства могут включать usb порты, графические карты, сетевые адаптеры.
Shell
lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
03:00.0 3D controller: NVIDIA Corporation GM108M (rev a2)
1 |
lspci 0000.0Host bridgeIntel Corporation Haswell-ULT DRAM Controller(rev0b) 0002.0VGA compatible controllerIntel Corporation Haswell-ULT Integrated Graphics Controller(rev0b) 0003.0Audio deviceIntel Corporation Haswell-ULT HD Audio Controller(rev0b) 0014.0USB controllerIntel Corporation Lynx Point-LPUSB xHCI HC(rev04) 0016.0Communication controllerIntel Corporation Lynx Point-LPHECI#0 (rev 04) 001b.0Audio deviceIntel Corporation Lynx Point-LPHD Audio Controller(rev04) 001c.0PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port3(rev e4) 001c.3PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port4(rev e4) 001c.4PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port5(rev e4) 001d.0USB controllerIntel Corporation Lynx Point-LPUSB EHCI#1 (rev 04) 001f.0ISA bridgeIntel Corporation Lynx Point-LPLPC Controller(rev04) 001f.2SATA controllerIntel Corporation Lynx Point-LPSATA Controller1AHCI mode(rev04) 001f.3SMBusIntel Corporation Lynx Point-LPSMBus Controller(rev04) 0100.0Ethernet controllerRealtek Semiconductor Co.,Ltd.RTL8111/8168/8411PCI Express Gigabit Ethernet Controller(rev10) 0200.0Network controllerRealtek Semiconductor Co.,Ltd.RTL8723BE PCIe Wireless Network Adapter 0300.03DcontrollerNVIDIA Corporation GM108MGeForce840M(rev a2) |
С опцией lspci -t вывод информации будет в виде дерева. С опцией lspci -v более детальная информация.
Что значит «сервер RPC недоступен»?
Смысл сообщения в том, что система не в состоянии связаться с другим компьютером или иным устройством. Это может потребоваться при развертывании сетей, открытии удаленного доступа к ПК или даже по причине взлома операционной системы. Порой причина в программе, которая требует те или иные полномочия. Если ошибка появляется при входе в систему, но никто из пользователей ПК не настраивал автоматическое подключение – дело плохо, нужно срочно искать вредоносный софт. В остальных случаях все легко исправить.
Причины ошибки:
- второе устройство сейчас недоступно, скорее всего – оно выключено;
- служба RPC отключена в системе;
- брандмауэр или провайдер блокирует порты, использованные при подключении;
- указаны неправильные параметры подключения;
- скопился неправильный кэш DNS.
Linux команды консоли для работы с текстом
19. more / less
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. head / tail
Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. grep
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. sort
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
24. diff
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.
Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.
Options
-d, —no-syslog
- Causes rpc.statd to write log messages on stderr instead of to the system log, if the -F option was also specified.
- -F, —foreground
- Keeps rpc.statd attached to its controlling terminal so that NSM operation can be monitored directly or run under a debugger. If this option is not
specified, rpc.statd backgrounds itself soon after it starts. - -h, -?, —help
- Causes rpc.statd to display usage information on stderr and then exit.
- -H, —ha-callout prog
- Specifies a high availability callout program. If this option is not specified, no callouts are performed. See the High-availability callouts section
below for details. - -L, —no-notify
- Prevents rpc.statd from running the sm-notify command when it starts up, preserving the existing NSM state number and monitor list.
- Note: the sm-notify command contains a check to ensure it runs only once after each system reboot. This prevents spurious reboot notification if
rpc.statd restarts without the -L option. - -n, —name ipaddr | hostname
- Specifies the bind address used for RPC listener sockets. The ipaddr form can be expressed as either an IPv4 or an IPv6 presentation address. If this
option is not specified, rpc.statd uses a wildcard address as the transport bind address. - This string is also passed to the sm-notify command to be used as the source address from which to send reboot notification requests. See
sm-notify(8) for details. - -N
Causes rpc.statd to run the sm-notify command, and then exit. Since the sm-notify command can also be run directly, this option is
deprecated.
-o, —outgoing-port port
Specifies the source port number the sm-notify command should use when sending reboot notifications. See (8) for details.
-p, —port port
Specifies the port number used for RPC listener sockets. If this option is not specified, rpc.statd chooses a random ephemeral port for each listener
socket.
This option can be used to fix the port value of its listeners when SM_NOTIFY requests must traverse a firewall between clients and servers.
-P, —state-directory-path pathname
Specifies the pathname of the parent directory where NSM state information resides. If this option is not specified, rpc.statd uses
/var/lib/nfs/statd by default.
After starting, rpc.statd attempts to set its effective UID and GID to the owner and group of this directory.
-v, -V, —version
Causes rpc.statd to display version information on stderr and then exit.
Description
rpcinfo makes an RPC call to an RPC server and reports what it finds.
In the first synopsis, rpcinfo lists all the registered RPC services with rpcbind on host. If host is not specified, the local host is the default. If -s is used, the information is displayed in a concise format.
In the second synopsis, rpcinfo lists all the RPC services registered with rpcbind, version 2. Also, note that the format of the information is different in the first and the second synopsis. This is because the second synopsis is an older protocol used to collect the information displayed (version 2 of the rpcbind protocol).
The third synopsis makes an RPC call to procedure 0 of prognum and versnum on the specified host and reports whether a response was received. The transport is the transport which has to be used for contacting the given service. The remote address of the service is obtained by making a call to the remote rpcbind.
The prognum argument is a number that represents an RPC program number. If a versnum is specified, rpcinfo attempts to call that version of the specified prognum. Otherwise, rpcinfo attempts to find all the registered version numbers for the specified prognum by calling version 0, which is presumed not to exist; if it does exist, rpcinfo attempts to obtain this information by calling an extremely high version number instead, and attempts to call each registered version.
The version number is required for -b and -d options.
To Check Listening Ports in Linux
After configuring the network, checking the ports which are still listening on the network interface is one of the important things in network management and security. This article will help you to check Listening ports in Linux. Following examples help you to find listen port after network configuration.
Checking Listening Ports
Use nmap command with following option to view listening ports for TCP.
Desktop]# nmap -sT -O localhost Starting Nmap 6.40 ( http://nmap.org ) at 2017-02-25 01:49 IST Nmap scan report for localhost (127.0.0.1) Host is up (0.0019s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 111/tcp open rpcbind 631/tcp open ipp Device type: general purpose Running: Linux 3.X OS CPE: cpe:/o:linux:linux_kernel:3 OS details: Linux 3.7 - 3.9 Network Distance: 0 hops
Use ss command to display all listen tcp and udp port.
Desktop]# ss -lntu Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp UNCONN 0 0 *:45113 *:* tcp UNCONN 0 0 *:111 *:* tcp UNCONN 0 0 *:123 *:* . . . tcp LISTEN 0 128 :::80 :::* tcp LISTEN 0 128 :::22 :::* tcp LISTEN 0 128 ::1:631 :::*
Use netstat command to list all open ports or currently running ports including TCP and UDP in Linux.
Desktop]# netstat -lntu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:36393 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN . . . udp6 0 0 :::683 :::* udp6 0 0 ::1:323 :::* udp6 0 0 :::54192 :::*
To view a list of different applications and port/protocol combination in single configuration file.
Desktop]# cat /etc/services | less
To view particular listening port in configuration file, run the following command
Desktop]# cat /etc/services | grep 80 http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol http 80/sctp # HyperText Transfer Protocol socks 1080/tcp # socks proxy server . . . nimbusdb 48004/tcp # NimbusDB Connector nimbusdbctrl 48005/tcp # NimbusDB Control 3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service Protocol
Filter the particular listen port details by its service name using netstat.
Desktop]# netstat -anp | grep httpd tcp6 0 0 :::80 :::* LISTEN 13560/httpd unix 3 STREAM CONNECTED 69292 13560/httpd
Filter the particular listen port details by its port name using lsof.
Desktop]# lsof -i | grep 22 rpc.statd 2350 rpcuser 7u IPv4 22736 0t0 UDP *:43289 rpc.statd 2350 rpcuser 8u IPv4 22740 0t0 TCP *:36393 (LISTEN) rpc.statd 2350 rpcuser 9u IPv6 22744 0t0 UDP *:54192 rpc.statd 2350 rpcuser 11u IPv6 22748 0t0 TCP *:35835 (LISTEN) master 2404 root 13u IPv4 22844 0t0 TCP localhost:smtp (LISTEN) master 2404 root 14u IPv6 22845 0t0 TCP localhost:smtp (LISTEN)
Also filter the listening port details by ss commands.
Desktop]# ss -lnt | grep 80 LISTEN 0 128 :::80 :::*
Как просмотреть информацию об оборудовании Linux
Что бы узнать информацию об cpu, disks, memory, usb controllers можно воспользоваться командой lshw
Если её нет в системе то необходимо предварительно установить, она есть в репозитории rpmforge
Shell
yum install lshw
1 | yum install lshw |
Выполнить команду и в результате получите подобную информацию
Shell
lshw
description: Computer
width: 64 bits
capabilities: vsyscall64 vsyscall32
*-core
description: Motherboard
physical id: 0
*-generic UNCLAIMED
physical id: 123
bus info: parisc@123
*-memory
description: System memory
physical id: 0
size: 1GiB
*-cpu
product: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
version: 6.10.9
serial: 0003-06A9-0000-0000-0000-0000
size: 3300MHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc……………
1 |
lshw descriptionComputer width64bits capabilitiesvsyscall64 vsyscall32 *-core descriptionMotherboard physical id *-generic UNCLAIMED physical id123 bus infoparisc@123 *-memory descriptionSystem memory physical id size1GiB *-cpu productIntel(R)Xeon(R)CPU [email protected] vendorIntel Corp. physical id1 bus infocpu@ version6.10.9 serial0003-06A9-0000-0000-0000-0000 size3300MHz width64bits capabilitiesfpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64constant_tsc…………… |
Можно сократить и упорядочить вывод с помощью опции
Shell
lshw -short
H/W path Device Class Description
=========================================
system Computer
/0 bus Motherboard
/0/123 generic
/0/0 memory 1GiB System memory
/0/1 processor Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
/0/1/1.1 processor Logical CPU
/0/1/1.2 processor Logical CPU
/0/1/1.3 processor Logical CPU
/0/1/1.4 processor Logical CPU
/0/1/1.5 processor Logical CPU
/0/1/1.6 processor Logical CPU
/0/1/1.7 processor Logical CPU
/0/1/1.8 processor Logical CPU
/0/1/1.9 processor Logical CPU
/0/1/1.a processor Logical CPU
/0/1/1.b processor Logical CPU
/0/1/1.c processor Logical CPU
/0/1/1.d processor Logical CPU
/0/1/1.e processor Logical CPU
/0/1/1.f processor Logical CPU
/0/1/1.10 processor Logical CPU
1 |
lshw-short H/Wpath Device ClassDescription ========================================= system Computer /bus Motherboard //123generic //memory1GiBSystem memory //1processor Intel(R)Xeon(R)CPU [email protected] //1/1.1processor Logical CPU //1/1.2processor Logical CPU //1/1.3processor Logical CPU //1/1.4processor Logical CPU //1/1.5processor Logical CPU //1/1.6processor Logical CPU //1/1.7processor Logical CPU //1/1.8processor Logical CPU //1/1.9processor Logical CPU //1/1.aprocessor Logical CPU //1/1.bprocessor Logical CPU //1/1.cprocessor Logical CPU //1/1.dprocessor Logical CPU //1/1.eprocessor Logical CPU //1/1.fprocessor Logical CPU //1/1.10processor Logical CPU |
Также есть возможность вывода информации в html файл
Shell
lshw -html > lshw.html
1 | lshw-html>lshw.html |
Задачи
Раздел «Задачи» показывает статистику процессов, запущенных в вашей системе. «Общее» значение — это просто общее количество процессов. Например, на приведенном выше снимке экрана запущено 142 процесса. Чтобы понять остальные значения, нам нужно немного рассказать о том, как ядро Linux обрабатывает процессы.
Процессы выполняют смешанную работу, связанную с вводом / выводом (например, чтение дисков), и работу, связанную с ЦП (например, выполнение арифметических операций). Процессор простаивает, когда процесс выполняет ввод / вывод, поэтому ОС переключаются на выполнение других процессов в течение этого времени. Кроме того, ОС позволяет заданному процессу выполняться в течение очень небольшого промежутка времени, а затем переключается на другой процесс. Вот как ОС выглядят так, как если бы они были «многозадачными». Выполнение всего этого требует от нас отслеживания «состояния» процесса. В Linux процесс может находиться в следующих состояниях:
Runnable (R): процесс в этом состоянии либо выполняется на CPU, либо присутствует в очереди на выполнение, готовый к выполнению.
Прерываемый сон (S): процессы в этом состоянии ожидают завершения события.
Непрерывный сон (D): в этом случае процесс ожидает завершения операции ввода-вывода.
Остановлено (T): эти процессы были остановлены сигналом управления заданием (например, нажатием Ctrl + Z) или потому, что они отслеживаются.
Zombie (Z): ядро поддерживает различные структуры данных в памяти, чтобы отслеживать процессы. Процесс может создать несколько дочерних процессов, и они могут завершиться, пока родительский процесс еще существует. Однако эти структуры данных должны храниться до тех пор, пока родительский объект не получит статус дочерних процессов. Такие завершенные процессы, чьи структуры данных все еще существуют, называются зомби.
Процессы в состояниях D и S показаны в «спящем» режиме, а процессы в состоянии T — в «остановленном». Количество зомби показано как значение «зомби».
Краткое резюме
Давайте кратко рассмотрим то, что мы только что рассмотрели.
Если вы используете NFS v4, все, что вам нужно, это разрешить порт 2049. Однако, если вы используете NFS v2 или v3, вам необходимо отредактировать файл / etc / sysconfig / nfs и добавить порты для следующих служб.
- Mountd — MOUNTD_PORT = порт
- Statd — STATD_PORT = порт
- LOCKD — LOCKD_TCPPORT = порт, LOCKD_UDPPORT = порт
Наконец, вам необходимо убедиться, что демон NFSD работает на порту 2049, а средство отображения портов — на порту 111.
Вы также можете проверить / var / log / messages, если служба NFS не запускается правильно. Убедитесь, что указанные вами порты не используются.
Using netstat to see the listening processes
To see if a program or process is listening on a port, ready to accept a packet, use the netstat command.
# netstat -tulnp
The arguments to the netstat command are listed below:
t – Show TCPu – Show UDPl – Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)n – Do not resolve network IP address names or port numbersp – Show the process name that is listening on the port
For example :
# netstat -tulnp 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:111 0.0.0.0:* LISTEN 1254/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1484/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1355/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1562/master tcp 0 0 0.0.0.0:44349 0.0.0.0:* LISTEN 1274/rpc.statd udp 0 0 0.0.0.0:111 0.0.0.0:* 1254/rpcbind udp 0 0 0.0.0.0:631 0.0.0.0:* 1355/cupsd udp 0 0 0.0.0.0:44165 0.0.0.0:* 1274/rpc.statd udp 0 0 0.0.0.0:602 0.0.0.0:* 1274/rpc.statd udp 0 0 0.0.0.0:1001 0.0.0.0:* 1254/rpcbind
#: NFSD
Это демон NFS, который работает на серверах NFS. Это критически важная служба, которая работает с ядром Linux и обеспечивает такие функции, как серверные потоки, для всех клиентов, подключенных к серверу.
По умолчанию демон NFS уже настроен для запуска статического порта 2049. Порт является истинным для протоколов TCP и UDP.
#: Lockd и Statd
Демон NFS Lock Manager (lockd) и демон Status Manager (statd) — это другие службы, необходимые для запуска NFS. Эти демоны работают как на стороне сервера, так и на стороне клиента.
Демон lockd позволяет клиентам NFS блокировать файлы на сервере NFS.
С другой стороны, демон statd отвечает за уведомление пользователей о перезапуске сервера NFS без корректного завершения работы. Он реализует протокол RPC монитора состояния сети.
Хотя обе эти службы запускаются автоматически службой nfslock, вы можете настроить их для запуска статического порта, что может быть полезно в конфигурациях брандмауэра.
Установите статический порт для демонов statd и lockd, отредактируйте / etc / sysconfig / nfs и введите следующие записи.
Повреждение реестра
Иногда неполадки бывают связаны с реестром. Для устранения проблемы лучше использовать традиционное средство отката к предыдущим системным точкам восстановления. Также вы можете скопировать из папки C:/Windows/System32/config/RegBack файл SYSTEM и поместить его в родительскую папку config с заменой. Операцию эту выполнять желательно из-под LiveCD.
Выводы
С ошибкой недоступности сервера RPC на локальных компьютерах, как правило, удается справиться путем задействования всех необходимых служб или восстановления файлов и реестра (если имели место сбои). Одним из способов решения проблемы также является обновление Windows до более новой версии. Что же касается этой же ошибки на серверах, здесь всё может оказаться намного сложнее, впрочем, рядовым пользователям встретиться с подобной ситуацией вряд ли придется, так как это дело обычно ложиться на плечи системных администраторов.
Как получить информацию об устройствах Linux
Что бы получить инфо о блочных устройствах таких как жесткие диски, флэшки и т.п. используйте команду lsblk
Пример вывода команды
Shell
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 59.5G 0 part
├─vg_web02-lv_root (dm-0) 253:0 0 55.6G 0 lvm /
└─vg_web02-lv_swap (dm-1) 253:1 0 4G 0 lvm
1 |
lsblk NAME MAJMIN RMSIZE RO TYPEMOUNTPOINT sr01111024Mrom sda860Gdisk ├─sda181500Mpart/boot └─sda28259.5Gpart ├─vg_web02-lv_root(dm-)25355.6Glvm/ └─vg_web02-lv_swap(dm-1)25314GlvmSWAP |
Для большей информации используйте опцию lsblk -a
Что такое RPC и как работает
RPC или иначе удаленный вызов процедур можно охарактеризовать как способ связи между устройствами, одно из которых является клиентом, а другое сервером. Также RPC – это сетевая служба, предназначенная для выполнения определенных действий на удаленных устройствах или, как говорят, других адресных пространствах. Примерами могут служить отправка данных на сетевой принтер и удаленное администрирование, предполагающее запуск на управляемом компьютере каких-либо программ.
Технология RPC представлена двумя базовыми компонентами – сетевым протоколом и обеспечивающим сериализацию объектов и структур языком программирования. Протоколы при этом могут использоваться разные, например, наиболее распространенными являются протоколы UDP и TCP. Взаимодействие устройств в рамках RPC происходит посредством обмена пакетами через соответствующий порт. Если в этой цепочке действий происходит сбой, служба реагирует появлением ошибки «сервер RPC недоступен».
ADDITIONAL NOTES
rpc.statd
-
The UTS nodename of your systems should match the DNS names that NFS
peers use to contact them - The UTS nodenames of your systems should always be fully qualified domain names
-
The forward and reverse DNS mapping of the UTS nodenames should be
consistent -
The hostname the client uses to mount the server should match the server’s
mon_namein SM_NOTIFY requests it sends
Unmounting an NFS file system does not necessarily stop
either the NFS client or server from monitoring each other.
Both may continue monitoring each other for a time in case subsequent
NFS traffic between the two results in fresh mounts and additional
file locking.
On Linux, if the
lockd
kernel module is unloaded during normal operation,
all remote NFS peers are unmonitored.
This can happen on an NFS client, for example,
if an automounter removes all NFS mount
points due to inactivity.
High-availability callouts
rpc.statd
The name of the callout program is specified with the
-H
option.
The program is run with 3 arguments:
The first is either
add-client
del-client
or
sm-notify
depending on the reason for the callout.
The second is the
mon_name
of the monitored peer.
The third is the
caller_name
of the requesting lock manager for
add-client
or
del-client
, otherwise it is
IP_address
of the caller sending SM_NOTIFY.
The forth is the
state_value
in the SM_NOTIFY request.