Создание резервной копии базы данных с одновременным архивированием с указанием даты и времени создания бекапа:
/usr/bin/mysqldump -u -p | gzip > /path/to/backup/db/database_'date +%y_%m_%d'.gz
Обнуление и самоизоляция
Создание резервной копии базы данных с одновременным архивированием с указанием даты и времени создания бекапа:
/usr/bin/mysqldump -u -p | gzip > /path/to/backup/db/database_'date +%y_%m_%d'.gz
iptables -N ban
iptables -A INPUT -j ban
iptables -A ban -s 00.00.00.00 -j DROP
Цель: сменить пароль пользователя в Ubuntu, не имея доступ для входа в систему
Решение: загрузить систему в Recovery Mode (во время загрузки в окне GRUB выбрать соответствующий пункт), затем выбрать «root — Drop to root shell prompt». Просмотреть список зарегестрированных пользователей можно с так:
ls /home
Затем необходимо выполнить команду на изменение пароля:
passwd username
Пример для root-пользователя:
# passwd root
Enter new UNIX password: ******
Retype new UNIX password: ******
passwd: password updated successfully
Начиная с версии 11.10 в Ubuntu в списке автоматически запускаемых приложений показываются только те, которые были установлены или добавлены в автозапуск самостоятельно пользователем. Чтобы заставить вновь отображаться все помещенные в автозапуск приложения, необходимо выполнить:
sudo -i
cd /etc/xdg/autostart/
sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop
У меня на ноутбуке установлено две ОС — Windows и Ubuntu. В Windows жесткий диск разбит на два раздела: «С» и «D» (формат NTFS). В Ubuntu — один корневой раздел и один для swap (формат ext4). В последнее время место для корневого раздела стремительно закончилось, оставалось совсем немного сотен мегабайт. В связи с этим встала острая проблема увеличения размера корневого раздела. Для этого было решено отнять часть ГБ от диска «D» и прибавить их к разделу Linux.
Для проведения этой процедуры было решено использовать программу GParted, которая по многочисленным отзывам прекрасно справляется с подобными задачами. Ниже привожу краткие шаги от начало до конца:
Да, как ни странно, но лично у меня Ubuntu загрузилась на ура, ни какие изменения в /etc/fstab делать не пришлось. Хотя, все же проблемы после изменения размера раздела могут и возникнуть.
Практические советы по наиболее популярным вопросам, касающихся настройки Ubuntu 11.10.
Если кто не знал, то для системы семейства Windows есть эмуляторы среды *nix. Одним из самых известных является Cygwin, который до сих пор активно развивается. Microsoft также не осталась в стороне, и имеет в своем распоряжении пакет под названием Microsoft Windows Services for UNIX (SFU). Он, в отличии от Cygwin, уже не обновляется (последняя версия 3.5 датируется 2007 годом), а поддержка заканчивается в этом году.
SFU 3.5, размером в 220 МБ, включает в себя:
SFU не включает в себя: bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python.
Установщик Cygwin, в свою очередь, имеет крохотный размер за счет того, что выкачивает из Интернета все необходимые и выбранные пакеты на этапе установки. Список того, чтобы можно установить — внушителен. Те пакеты, которые не включены в SFU (OpenSSH, Apache, curl и т.д.) доступны из репозиториев для Cygwin.
В прошлой заметке я описывал процедуру включения ОС Ubuntu в состав домена Windows. Теперь приведу наглядные примеры, как можно проверить работоспособность того, подключился ли компьютер к домену или нет.
Проверям, можем ли мы обращаться к компьютерам в домен по их имени:
ping fileserver.myserver.com -c 10 PING fileserver.myserver.com (172.17.1.6) 56(84) bytes of data. 64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=1 ttl=128 time=71.3 ms ... 64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=9 ttl=128 time=1.65 ms 64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=10 ttl=128 time=4.25 ms
--- fileserver.myserver.com ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9011ms rtt min/avg/max/mdev = 1.494/9.540/71.321/20.673 ms
Проверяем, можем ли мы авторизироваться в домене. Выбираем какую-нибудь учетную запись в домене из Active Directory, и вводим от нее пароль, как показано ниже. Если после ввода пароля в консоли ничего не появилось, значит все прошло успешно.
kinit Ivanov@MYSERVER.COM
Password for Ivanov@MYSERVER.COM:
Чтобы окончательно убедиться в том, что все нормально и билет Kerberos для авторизации получен, введем следующую команду:
klist
Отобразится:
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: Ivanov@MYSERVER.COM
Valid starting Expires Service principal 06/18/11 14:40:29 06/19/11 00:38:38 krbtgt/MYSERVER.COM@MYSERVER.COM renew until 06/19/11 14:40:29
Входим в домен (в пример от учетной записи администратора):
sudo net ads join -U Администратор -D MYSERVER.COM
Enter Администратор's password:
Если на консоль выводится следующее, то вход в домен осуществлен успешно:
Using short domain name -- MYSERVER
Joined 'LAPTOPUBUNTU' to realm 'myserver.com'
Проверяем, что Winbind видит группы (-g) и пользователей (-u):
wbinfo -u
LAPTOPUBUNTU\nobody LAPTOPUBUNTU\myuser администратор krbtgt гость user_admin ivanov senatorov dholme jfine bmayer bmorelend myuser krayner mitchell
wbinfo -g
компьютеры домена издатели сертификатов пользователи домена гости домена серверы ras и ias администраторы домена администраторы схемы администраторы предприятия владельцы-создатели групповой политики группа с разрешением репликации паролей rodc группа с запрещением репликации паролей rodc контроллеры домена предприятия - только чтение контроллеры домена - только чтение контроллеры домена dnsadmins dnsupdateproxy финансы финансовые менеджеры продажи администраторы windows справка app_office 2007 пользователи dhcp администраторы dhcp
Проверяем, что Ubuntu запрашивает у Winbind информацию (содержимое файла /etc/passwd) о пользователях и группах:
getent passwd
root:x:0:0:root:/root:/bin/bash
...
ntp:x:113:124::/home/ntp:/bin/false
администратор:*:10000:10000:Администратор:/home/MYSERVER/администратор:/bin/bash
krbtgt:*:10001:10000:krbtgt:/home/MYSERVER/krbtgt:/bin/bash
гость:*:10002:10001:Гость:/home/MYSERVER/гость:/bin/bash
myuser_admin:*:10003:10000:Александр:/home/MYSERVER/user_admin:/bin/bash
lapshenkov:*:10004:10000:Anton Ivanov:/home/MYSERVER/ivanov:/bin/bash
senatorov:*:10005:10000:Alexander Petrov:/home/MYSERVER/ptrov:/bin/bash
dholme:*:10006:10000:Дэн Холме:/home/MYSERVER/dholme:/bin/bash
jfine:*:10007:10000:Джеймс Файн:/home/MYSERVER/jfine:/bin/bash
bmayer:*:10008:10000:Барбара Майер:/home/MYSERVER/bmayer:/bin/bash
bmorelend:*:10009:10000:Барбара Морленд:/home/MYSERVER/bmorelend:/bin/bash
myuser:*:10010:10000:Александр:/home/MYSERVER/user:/bin/bash
krayner:*:10011:10000:Тони Крайнер:/home/MYSERVER/krayner:/bin/bash
mitchell:*:10012:10000:Скотт Митчелл:/home/MYSERVER/mitchell:/bin/bash
getent group
root:x:0: ... sambashare:x:122:myuser winbindd_priv:x:123: ntp:x:124: компьютеры домена:x:10002: издатели сертификатов:x:10003: пользователи домена:x:10000: гости домена:x:10001: серверы ras и ias:x:10004: администраторы домена:x:10005:user_admin,администратор администраторы схемы:x:10006:администратор администраторы предприятия:x:10007:администратор владельцы-создатели групповой политики:x:10008:администратор группа с разрешением репликации паролей rodc:x:10009: группа с запрещением репликации паролей rodc:x:10010:krbtgt контроллеры домена предприятия - только чтение:x:10011: контроллеры домена - только чтение:x:10012: контроллеры домена:x:10013: dnsadmins:x:10014: dnsupdateproxy:x:10015: финансы:x:10016: финансовые менеджеры:x:10017: продажи:x:10018: администраторы windows:x:10019: справка:x:10020:bmayer app_office 2007:x:10021:laptop$ пользователи dhcp:x:10024: администраторы dhcp:x:10025:
Как видно из приведенных примеров, все работает, как и должно быть.
Задача: обновить существующее ядро Linux (для примера будем брать Ubuntu) до самой последней или до нужной.
Решение:
uname -r
— показывает текущую версию ядра в системе
sudo add-apt-repository ppa:kernel-ppa/ppa
— добавление PPA для ядра
sudo apt-get update
— обновляем списки репозиториев
apt-cache showpkg linux-headers
— показывает список доступных ядер
Пример отображения:
Package: linux-headers
Versions:
Reverse Depends:
lirc-modules-source,linux-headers
sl-modem-source,linux-headers
xtables-addons-dkms,linux-headers
oss4-dkms,linux-headers
openswan-modules-source,linux-headers
lirc-modules-source,linux-headers
blcr-dkms,linux-headers
alsa-source,linux-headers
nvidia-current,linux-headers
nvidia-96,linux-headers
nvidia-173,linux-headers
fglrx,linux-headers
bcmwl-kernel-source,linux-headers
dkms,linux-headers
Dependencies:
Provides:
Reverse Provides:
linux-headers-2.6.39-0 2.6.39-0.5~20110427
linux-headers-2.6.39-0-generic 2.6.39-0.5~20110427
linux-headers-2.6.39-0-generic-pae 2.6.39-0.5~20110427
linux-headers-2.6.39-0-virtual 2.6.39-0.5~20110427
linux-headers-2.6.38-8-virtual 2.6.38-8.42
linux-headers-2.6.38-8-generic-pae 2.6.38-8.42
linux-headers-2.6.38-8-generic 2.6.38-8.42
linux-headers-2.6.38-8 2.6.38-8.42
Устанавливаем нужное ядро:
sudo apt-get install linux-headers-2.6.39-0 linux-headers-2.6.39-0-generic linux-image-2.6.39-0-generic --fix-missing
Если необходимо установить какое-то конкретное ядро, а не самое последнее, то заходим сюда (http://kernel.ubuntu.com/~kernel-ppa/mainline/), скачиваем файлы (linux-headers и linux-image) для вашей архитектуры процессора (i386 или amd64) в какую-нибудь папку (к примеру, /home/user/kernerl), и затем выполняем команду:
sudo dpkg -i *
Стоит отметить, что после обновления ядра проприетарные драйверы, скорее всего, работать не будут, их необходимо будет занова установить/пересобрать. Лично у меня графические проприетарные драйвера обновились автоматически:
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.39-0-generic /boot/vmlinuz-2.6.39-0-generic
* dkms: running auto installation service for kernel 2.6.39-0-generic
* nvidia-current (270.41.06)... [ OK ]
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.39-0-generic /boot/vmlinuz-2.6.39-0-generic
Если необходимо удалить неиспользуемое ядро, то:
dpkg -l | grep linux-image
— отображает список установленных в системе ядер
Пример вывода:
ii linux-image-2.6.38-8-generic 2.6.38-8.42 Linux kernel image for version 2.6.38 on x86/x86_64
ii linux-image-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel image for version 2.6.39 on x86/x86_64
ii linux-image-generic 2.6.38.8.22 Generic Linux kernel image
sudo apt-get remove -f linux-image-2.6.38-8.42
— удаление выбранного ядра
dpkg -l | grep linux-headers
— отображает список установленных заголовков ядра
Пример вывода:
ii linux-image-2.6.38-8-generic 2.6.38-8.42 Linux kernel image for version 2.6.38 on x86/x86_64
ii linux-image-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel image for version 2.6.39 on x86/x86_64
ii linux-image-generic 2.6.38.8.22 Generic Linux kernel image
user@LaptopUbuntu:~$ dpkg -l | grep linux-headers
ii linux-headers-2.6.38-8 2.6.38-8.42 Header files related to Linux kernel version 2.6.38
ii linux-headers-2.6.38-8-generic 2.6.38-8.42 Linux kernel headers for version 2.6.38 on x86/x86_64
ii linux-headers-2.6.39-0 2.6.39-0.5~20110427 Header files related to Linux kernel version 2.6.39
ii linux-headers-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel headers for version 2.6.39 on x86/x86_64
ii linux-headers-generic 2.6.38.8.22 Generic Linux kernel headers
sudo apt-get remove -f linux-headers-2.6.38-8.42 linux-headers-2.6.38-8.42-generic
— удаление выбранных заголовков ядра
sudo update-grub
— удаление записей установленных ядер в загрузчике GRUP
Встала задача подключить ноутбук с ОС Ubuntu к домену Windows. Если в ОС Windows это сделать проще простого, то в линуксе нужно проделать небольшие манипуляции.
И так, для примера привожу нужную для дальнейшего мануала информацию:
Т.к. нашей задачей является подключить ноутбук к домену mydomain.com, то необходимо проделать следующие действия:
sudo apt-get install krb5-user ntp samba winbind
krb5-user — пакет для протокола Kerberos, который используется для аутентификации в Windows;
ntp — позволяет синхронизировать время в контроллером домена;
samba — позволяет стать членом домена;
winbind — позволяет использовать учетную запись пользователя из ActiveDirectory.
Теперь перейдем непосредственно к настройкам:
sudo gedit /etc/resolv.conf
Изменить содержимое на следующее:
domain myserver.com
search myserver.com
nameserver 172.17.1.3
Задаем нужное имя ноутбука (LaptopUbuntu) в следующем файле:
sudo gedit /etc/hostname
Далее открываем:
sudo gedit /etc/hostname
Меняем так, чтобы было (секцию IPv6 не трогаем):
127.0.0.1 localhost
172.17.1.2 LaptopUbuntu.myserver.com LaptopUbuntu
Теперь для применения изменений необходимо перезагрузить ноутбук. После перезагрузки у меня, почему-то, все отредактированные выше файлы сбросились в первоначальное содержимое. Немного подумав, я понял, что виноват тому значащийся в сетевых настройках включенный DHCP. Через Network Manager я отключил DHCP, выбрал пункт «ручная настройка», а затем опять проделал то, что написано выше. Хотя, часть значений параметров можно вписать через все тот же Network Manager.
Открываем следующий файл:
sudo gedit /etc/ntp.conf
и вписываем в него следующее:
server Server2008R2.myserver.com
Командой
sudo /etc/init.d/ntp restart
перезапускам демон.
Далее приступим к настройке Kerberos. Редактируем файл:
sudo gedit /etc/krb5.conf
Заполняем его следующей информацией:
[libdefaults]
default_realm = MYSERVER.COM
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
MYSERVER.COM = {
kdc = SERVER2008R2
kdc = FILESERVER
admin_server = SERVER2008R2
default_domain = MYSERVER.COM
}
[domain_realm]
.domain.com = MYSERVER.COM
domain.com = MYSERVER.COM
[login]
krb4_convert = false
krb4_get_tickets = false
Теперь настраиваем Samba:
sudo gedit /etc/samba/smb.conf
Приводим секцию [global] к следующему содержанию:
workgroup = MYSERVER.COM
realm = MYSERVER.COM
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
Для проверки правильности заполнения конфигурационного файла Samba, можно выполнить команду testparm, которая выведет информацию о том, что в конфигурации ошибок нет, либо они есть.
Теперь перейдем к настройке Winbind, если мы хотим использовать учетные записи из ActiveDirectory у себя на ноутбуке.
Опять редактируем файл:
sudo gedit /etc/samba/smb.conf
И в секцию [global] добавляем:
idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 1440
После чего необходимо перезапустить демоны:
sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start
Далее идем и редактируем следующий файл:
sudo gedit /etc/nsswitch.conf
Добавляем в конец строк passwd и group слово winbind, т.е. файл должнен выглядеть так:
passwd: compat winbind
group: compat winbind
И самое последнее: в файл /etc/pam.d/common-session добавить следующую строчку:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
Демонстрация всего того, что описано выше, будет в одной из следующих заметок.