вторник, 23 сентября 2008 г.

Полезные вещи

w : Полезная комбинация команд who+uptime, показывает залогиненных юзеров, и нагрузку на процессор. Нагрузка (load average) считается, что меньше 3 это хорошо, больше - плохо.

Диск
df -h : Показывает, какие файловые системы смонтированы, их размер и сколько есть свободного места.
du -sh /directory: Показывает размер директории.
hdparm -t /dev/hda1 : скорость чтения/записи на диск.
smartctl -A /dev/hda1 : Показывает информацию о диске. Из важных параметров нужно отметить Power_On_Hours - показывает сколько часов проработал диск. В случае, если Current_Pending_Sector или Offline_Uncorrectable не равны нулю - готовьтесь к скорой смерти сервера.
pwd : показывает текущую директорию.

Память
free -m - показывает свободную и занятую память.
top - интеркативно показывает процессы, память, использование процессора, что-то вроде таск-менеджера для виндовс. Для того чтобы поменять порядок процессов в списке, нажимать Shift+O.
Замечание, актуальное для Fedora Core > 5: на одном сервере у меня по умолчанию оказался запущен tmpfs, виртуальный диск, который сожрал целый гигабайт памяти. Увидеть это можно с помощью df -h, а чтобы умерить его аппетиты, нужно сделать так: в файле /etc/fstab найти tmpfs и в 4й колонке после defaults написать “,size=100M” (например). После этого запустить mount -o remount /dev/shm.

Сеть
iptables -L : Показывает настройки юниксового “файрволла”. Чтобы забанить адрес, нужно написать что-то вроде: iptables -I INPUT -s 38.100.225.0/24 -j DROP (забанится вся подсеть).
netstat -a : Показывает список всех открытых соединений.
netstat -ant|grep ESTABLISHED : Показывает список всех установленных соединений.
ifconfig : показывает сетевые карты и их настройки.

четверг, 18 сентября 2008 г.

Автоматизируем резервное копирование

Для этого выбрал софтинку BackupPC (http://backuppc.sourceforge.net/). Устанавливал я ее на FedoraCore9.

Для ее работы потребовался следующий софт: Perl, Apache, Samba. Также нужны дополнительные модули к Compress::Zlib, Archive::Zip и File::RsyncP. Их наличие можно проверить командой perldoc [имя модуля].

Установка банальна до безобразия... yum install backuppc -y и все что вам еще не хватает из этого.

среда, 17 сентября 2008 г.

Samba с авторизацией в AD (upd:24.09.2008)

Было использовано на Fedora 7-9 c AD поднятом на Windows Server 2003.

Проверяем и если необходимо устанавливаем

# yum install -y samba samba-common krb5-workstation

Правим файл /etc/hosts:

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.254.254 ads.domain.local ads

Теперь настроим Керберос для добавления linux-сервера в windows-домен

# cat /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]javascript:void(0)
default_realm = DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
DOMAIN.LOCAL = {
kdc = ads.domain.local:88
admin_server = ads.domain.local:749
default_domain = domain.local
}

[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Необходимо провести синхронизацию времени с контролером домена
net time set ads
и желательно сие действо прописать в cron

# kinit administrator@DOMAIN.LOCAL
Password for administrator@DOMAIN.LOCAL:


Hастройка samba

[root@vm01 ~]# /etc/samba/smb.conf
[global]
workgroup = DOMAIN
netbios name = srvfile
server string = Samba Server
security = ads
encrypt passwords = yes
realm = DOMAIN.LOCAL
password server = ads.domain.local
winbind enum users = yes
winbind enum groups = yes
winbind cache time = 1800
winbind use default domain = yes
winbind refresh tickets = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%U
printing =
load printers = no


Входим в домен

# net ads join -U administrator
administrator's password:
Using short domain name -- DOMAIN
Joined 'srvfile' to realm 'DOMAIN.LOCAL'


Добавить описание pam_winbind.so модуля для аутентификации в системе. Модуль pam_mkhomedir.so для автоматического создания домашней директории при первом присоединении пользователя.

vim /etc/pam.d/system-auth
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_winbind.so use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022


Настраиваем nsswitch, для того чтобы он мог использовать данные (о пользователях и групппах) AD с помощью winbind-сервиса и стартуем сервис

vim /etc/nsswitch.conf
passwd: files winbind
shadow: files
group: files winbind

/etc/init.d/winbind start
Starting Winbind services: [ OK ]
chkconfig winbind on

суббота, 13 сентября 2008 г.

4 метода отключения SELinux (update 10.02.2012)

SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью) — реализация системы принудительного контроля доступа, которая может работать параллельно с классической дискреционной системой контроля доступа. Входит в стандартное ядро Linux. Также для функционирования SELinux требуются модифицированные версии некоторых утилит (ps, ls, и тд), которые обеспечивают поддержку новых функций ядра, и поддержка со стороны файловой системы.

Метод 1: Временное отключение SELinux

Для временного отключения SELinux вы можете модифицировать файл /selinux/enforce. Обратите внимание, это временное отключение, и после перезагрузки системы SELinux будет работать снова.

# cat /selinux/enforce
1
# echo 0 > /selinux/enforce
# cat /selinux/enforce
0
  Также можно использовать команду setenforce, как показано в примере ниже. Возможные параметры команды setenforce таковы: Enforcing , Permissive, 1 (включить) or 0 (отключить).
# setenforce 0

Метод 2: Постоянное отключение SELinux

Для постоянного отключения SELinux, измените файл /etc/selinux/config и установите SELINUX=disabled как показано ниже. После этого перезагрузите сервер.

# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0

Метод 3: Отключение SELinux в загрузчике Grub

Третий способ использует возможности загрузчика системы GRUB для отключения SELinux. Добавьте в конец строки selinux=0

# cat /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5PAE.img
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5.img

Метод 4: Отключаем SELinux только для определенных сервисов – HTTP/Apache

Если вам необходимо не целиком отключить SELinux, а только для определенных служб, у вас есть такая возможность. Для примера отключим SELinux для HTTP/Apache, изменив значение переменной httpd_disable_trans в файле /etc/selinux/targeted/booleans.
 
# grep httpd /etc/selinux/targeted/booleans
httpd_builtin_scripting=1
httpd_disable_trans=1
httpd_enable_cgi=1
httpd_enable_homedirs=1
httpd_ssi_exec=1
httpd_tty_comm=0
httpd_unified=1
  Установите переменную также используя команду setsebool. После этого перезапустите httpd для вступления изменений в силу.

# setsebool httpd_disable_trans 1
# service httpd restart



И вуа-ля