Man
# yum install man.i686 man-pages.noarch
man.i686: A set of documentation tools: man, apropos and whatis
man-pages.noarch: Man (manual) pages from the Linux Documentation Project
Пользователи
Добавление пользователя:
# useradd <login name>
Пользователь создается с параметрами, описанными в /etc/default/useradd. Для изменения дефолтных параметров можно использовать опции команды useradd. Есть еще команда adduser, но это всего-навсего символическая ссылка на useradd.
Установка пароля новосозданного пользователя:
# passwd <login name>
По умолчанию пользователь не может выполнять команды с правами root’a, используя команду sudo -s:
[user1@srv]$ sudo -s [sudo] password for user1: user1 is not in the sudoers file. This incident will be reported.
Править /etc/sudoers:
# visudo
В файле /etc/sudoers видим, что пользователи, которые входят в группу wheel, могут выполнять все команды:
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
Как вариант, можно добавить пользователя в группу wheel.
Добавить пользователя в дополнительную группу:
# usermod -a -G <group name> <login name>
-a — добавить пользователя в дополнительную группу (не меняя initial-группы пользователя), используется только совместно с опцией -G
-G — указывает, в какую именно группу (или группы) добавить пользователя. Группа должна быть создана ранее.
Добавить пользователя в группу wheel:
# usermod -a -G wheel user1
# cat /etc/group ... wheel:x:10:root,user1
Проверка:
[user1@srv]$ sudo -s [sudo] password for user1: [root@srv]#
Добавить пользователя еще в несколько групп:
# usermod -a -G support,sales,management user1
Система
Посмотреть версию установленной OS Centos:
# cat /etc/centos-release
CentOS release 6.7 (Final)
lrwxrwxrwx. 1 root root 14 Nov 17 12:52 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 Nov 17 12:52 /etc/system-release -> centos-release
/etc/redhat-release и /etc/system-release — это ссылки на centos-release
Посмотреть список возможных обновлений:
# yum list updates
Upgrage системы (например, с 6.0 до 6.7)
# yum update
Ядро и модули
Какие модули загружены:
# lsmod
Информация о модуле
# modinfo <module name>
Загрузить модуль на лету:
# modprobe <module name>
Выгрузить модуль на лету:
# modprobe -r <module name>
Автозагрузка модуля при старте системы
Для этого создаем скрипт и размещаем его в /etc/sysconfig/modules
Обязательные условия:
— имя скрипта должно иметь вид <some_words>.modules, например 8021q.modules
— скрипт, само собой, делаем исполняемым — chmod +x 8021q.modules
— сам скрипт запускает все тот же modprobe <имя модуля>
#!/bin/sh /sbin/modprobe 8021q
не забываем про первую строку #!/bin/sh и путь к modprobe лучше указать полностью
Добавление своего скрипта в автозагрузку
Скрипт должен быть исполняемым
# ls -al /etc/iptables/iptables-start.sh
-rwxr—r—. 1 root wheel 83 Nov 28 2013 /etc/iptables/iptables-start.sh
Добавляем его в /etc/rc.local
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. /etc/iptables/iptables-start.sh
Скрипт выполняется после загрузки системы.
Сеть
DNS Настройка резолвера:
/etc/resolv.conf
seacrh provoip.in.ua
nameserver 8.8.8.8
nameserver 8.8.4.4
Настройка сетевых параметров:
/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=srv.provoip.in.ua
GATEWAY=192.168.100.1
NETWORKING=yes (yes — сеть будет настраиваться автоматически из скриптов /etc/sysconfig/network-scripts, no — вручную)
Настройка сетевых интерфейсов:
/etc/sysconfig/network-scripts/ifcfg-*
В /etc/sysconfig/network-scripts есть файлы вида ifcfg-*, например ifcfg-eth0, ifcfg-eth1, ifcfg-lo — в них описываем необходимые настройки сетевых карт. Эти файлы передаются в качетсве аргумента в скрипты ifup, ifdown и т.п. Каждая сетевая карта имеет свой файл ifcfg-. Например, есть в системе сетевая карта, которая определяется как eth0. Для ее автонастройки после перезагрузки системы необходим соответствующий файл ifcfg-eth0.
Конфигурация сетевой карты (фиксированный ip-адрес):
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.100.2
NETMASK=255.255.255.0
NETWORK=192.168.100.0
BROADCAST=192.168.100.255
ONBOOT=yes — включать интерфейс при загрузке или нет
NAME=eth0
Конфигурация сетевой карты (получение ip-адреса по dhcp):
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
BOOTPROTO=<protocol>, значения — none, dhcp, bootp — какой протокол использовать для получения настроек
BROADCAST=<address> — необязательно указывать, высчитывается автоматически
NETWORK=<address> — необязательно указывать, высчитывается автоматически
DEVICE=<name> — имя физического устройства
HWADDR=<MAC-address> — используется в серверах с несколькими сетевыми картами для того, чтобы убедиться интерфейсы получат свои правильные device-name. Т.е., например, настройки, прописанные для девайса eth0 всегда будут применяться к карте с вот таким вот HWADDR (Другими словами, сетевая карта с этим вот HWADDR всегда будет иметь имя eth0 и на при каких обстоятельствах не поменяет его на eth1). Директива не используется совместно с MACADDR.
MACADDR=<MAC-address> — можно перезаписать MAC-адрес физической сетевой карты (в форме AA:BB:CC:DD:EE:FF). Директива не используется совместно с HWADDR.
ETHTOOL_OPTS=<options> — указать опции утилиты ethtool, например, прибить жестко скорость и т.д
ETHTOOL_OPTS=»autoneg off speed 100 duplex full»
DNS1=<address>
DNS2=<address>
PEER_DNS=yes — изменять /etc/resolv.conf. При ONBOOT=dhcp PEER_DNS=yes — это дефолтное значение
SRCADDR=<address> — ip-адрес, котрый навешивается на исходящие пакеты (полезно если на интерфейсе прибито alias’ом несколько адресов)
USERCTL=<yes,no> — Не-root пользователи могут (или нет) управлять сетевой картой
Алиас на интерфейс:
Алиас — несколько ip-адресов на одном физическом интерфейсе
Файл для алиаса — ifcfg-<if-name>:<alias-value>
DEVICE=<ifname>:<alias-value>
!Алиас-интерфейсы не поддерживают DHCP
Пример
Физический интерфейс — файл ifcfg-eth0 (DEVICE=eth0)
Алиас на физический интерфейс — файл ifcfg-eth0:0 (DEVICE=eth0:0)
Еще один алиас на физический интерфейс — файл ifcfg-eth0:1 (DEVICE=eth0:2)
и т.д.
Файл-клон интерфейса:
Файл-клон используется для добавления каких-либо опций для одного и того же физического интерфейса.
Файл ifcfg-<if-name>-<clone-name>
Пример
Физический интерфейс — файл ifcfg-eth0 (DEVICE=eth0)
Клон физического интерфейса — файл ifcfg-eth0-custom (DEVICE=eth0)
Параметры, указанные в ifcfg-eth0 и ifcfg-eth0-custom комбинируются
802.1q в Centos
Должен быть загружен модуль 8021q
Проверяем:
# lsmod | grep 8021q
Если не загружен, загружаем:
# modprobe 8021q
Добавим автозагрузку модуля при старте системы (как это делается, смотрим выше)
! Для каждого влана создаем свой файл ifcfg-ethX.<vlan number> в /etc/sysconfig/network-scripts/.
VLAN=yes
DEVICE=ethX.<vlan number>
IPADDR=192.168.100.2
NETMASK=255.255.255.0
ONBOOT=yes
Не лишним будет создать ifcfg- файл физического устройства перед этим.
Пример
Нужно создать vlan 222 на интерфейсе eth0. Создаем 2 файлав /etc/sysconfig/network-scripts/:
ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
ifcfg-eth0.222
VLAN=yes
DEVICE=eth0.222
IPADDR=192.168.100.2
NETMASK=255.255.255.0
ONBOOT=yes