Тэг ‘linux’

linux список пользователей, кто подключен

У новичков, начинающих осваивать Linux (а точнее, консоль) часто возникают сложности с… да почти со всем.. Как найти и заменить текст в Linux , как добавить локаль (русский язык) в Linux

Пользователи в Linux добавляются командой useradd (или, если есть более расширенный вариант, который позволяет в режиме диалога задать все настройки пользователя - adduser)

Посмотреть кто подключен к консоли  можно командой
Читать целиком »

Опубликовано Октябрь 18, 2012 | автор: levik  |  Нет комментариев »

ftp-сервер vsftpd, установка на debian, особенности ftp за nat

Установка vsftpd на Debian

Шпаргалка по ftp-серверу proftpd

aptitude install vsftpd
В конфиге /etc/vsftpd.conf находим соответствующие строчки и убираем комментарии:
# запрещаем анонимусам
anonymous_enable=NO
# но пускаем локальных
local_enable=YES
# разрешаем запись
write_enable=YES
# маска загружаемых файлов 644
local_umask=022
# коннект 20 порт
connect_from_port_20=YES
# запереть пользователя в его домашнем каталоге
chroot_local_user=YES
# включаем ls -R для
ls_recurse_enable=YES
# добавляем парты для пассивного режима
pasv_min_port=50000
pasv_max_port=59000

Перегрузим /etc/init.d/vsftpd restart

Разрешаем подключение к FTP-серверу (не потребовалось)
-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32768:65535 -j ACCEPT
-A INPUT -p udp -m udp --dport 32768:65535 -j ACCEPT

Загружаем правила в iptables (аналогично, не потребовалосЬ)
/sbin/iptables-restore -c < /var/lib/iptables/rules

Использование vsftpd в контейнере openVZ

По сути, получается FTP-сервер за nat-ом. Требуется правильно пробросить порты. Если стандартные ftp-порты на ноде предназначены для проброса на VPS - добавляем.
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx(external_ip) -i eth0 -p tcp -m tcp --dport 20 -j DNAT --to-destination 192.168.0.101:20
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx(external_ip) -i eth0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.0.101:21

При использовании openvz и установке на VPS ftp-сервера  vsftpd, после проброса 20 и 21 порта с некоторых машин vsftpd выдает ошибку 500 Illegal PORT command.

В файле /etc/vsftpd.conf добавляем

pasv_address=xxx.xxx.xxx.xxx(external_IP)
pasv_min_port=60000
pasv_max_port=60235

И на ноде делаем проброс портов:

iptables -t nat -A PREROUTING -p tcp -d ip_address --dport 60000:60235 -i eth0 -j DNAT --to-destination ve_address

Опубликовано Февраль 19, 2012 | автор: levik  |  Нет комментариев »

Ошибка при удалении файлов ‘/bin/rm: Argument list too long’ error

При удалении большого количества файлов в linux (больше 1024) возникает ошибка Argument list too long.

lev@localhost /var/tmp/ # rm log-* /bin/rm: Argument list too long.

Для удаления следует перейти в каталог с файлами (или выполнить поиск по каталогу) и использовать команду

find . -name 'log-*' | xargs rm

Возможен и более изысканный поиск файлов в linux.

Для удаления всех файлов в текущем каталоге аргумент -name можно опустить:

find . | xargs rm

Если компьютер задумался - можно периодически проверять количество файлов в текущем каталоге
ls -l| wc -l
Если оно будет уменьшаться - процесс идёт

Опубликовано Декабрь 2, 2011 | автор: levik  |  Комментарий (1) »

rkhunter

Установка rkhunter

apt-get install rkhunter

Обновляем базу уязвимостей
rkhunter –update

После установки и каждого обновления следует обновить файловую базу
rkhunter –propupd

Сканируем в режиме вывода только предупреждений
rkhunter -c –rwo

Убираем Warning-и rkhunter-а

Warning: The command ‘/usr/bin/whatis’ has been replaced by a script: /usr/bin/whatis: Bourne shell script text executable

Для следует добавить указанные скрипты () в SCRIPTWHITELIST

Checking if SSH root access is allowed [ Warning ]

Чтобы убрать предупреждение о разрешении подключения по ssh с именем root следует.. запретить вход по SSH пользователю root;

Warning: No output found from the lsmod command or the /proc/modules file:
/proc/modules output:
lsmod output:

Добавить ‘os_specific’ В сисок DISABLE_TESTS в файле /etc/rkhunter.conf

Warning: Hidden file found:

Такого рода предупреждения можно поправить, добавляя несколько параметров
ALLOWHIDDENDIR="/dev/.static"
ALLOWHIDDENDIR="/dev/.initramfs"

ПО аналогии убираются и предупреждения
Warning: File '/usr/bin/watch' has the immutable-bit set.
Атрибут IMMUTWHITELIST
IMMUTWHITELIST=/sbin/ifup

Предупреждения, связанные со старыми версиями программ можно отключить добавлением в опцию
APP_WHITELIST=”openssl:0.9.8e gpg httpd:2.2.3 php:5.2.6 sshd:4.5p2″

Опубликовано Октябрь 4, 2011 | автор: levik  |  Нет комментариев »

Wget - загрузка файлов и сайтов в Linux

Про полезности wget написано много.

Просто скачать файл при помощи wget:
wget ftp://myserver.com/file.data

Продолжить прерванную загрузку файла - загрузка файла с докачкой:
wget -c ftp://myserver.com/file.data
wget --continue ftp://myserver.com/file.data

скачать файлы из списка:
wget -i filelist.txt
wget --input-file filelist.txt

Создать локальное зеркало сайта - скачать сайт:
wget -m http://yandex.ru/
(простое сохранение страниц. При этом ссылки ведут на сам сайт)

Для того, чтобы создать копию сайта для локального просмотра (скачать сайт целиком), можно воспользоваться дополнительными ключами:

wget -r -l 0 -e robots=off -np -k http://yandex.ru/
Скачать весь яндекс :)

-r - рекурсивное скачивание
-l 0 - глубина 0 (т.е. качаем, пока качается)
-np - no-parent - не качать ссылки выше основного url
-k - изменить ссылки на локальные
-e robots=off - игнорируем директивы robots.txt

http://www.inp.nsk.su/~bolkhov/teach/inpunix/typ_wget.ru.html
Описание некоторых ключей wget

Опубликовано Февраль 12, 2011 | автор: levik  |  Комментарий (1) »

Debian 6.0 Squeeze

Вышел Debian 6.0 Squeeze, анонс на оф. сайтеDebian Squeeze Logo

Основные изменения:

  • Инфраструктура Debian:
    • backports.org теперь является частью основного проекта (backports.debian.org).
  • Структура ОС:
    • переработан установщик;
    • dash теперь устанавливается по умолчанию и является обязательным;
    • используется новый загрузчик GRUB 2, старый GRUB доступен в пакете grub-legacy;
    • загрузка ускорена с помощью insserv и параллельного запуска служб на основе их зависимостей;
    • в dpkg добавлена поддержка компрессии xz, проведены оптимизации по ускорению работы с базой данных, а также произведена отвязка от perl;
    • соответствие стандартам FHS 2.3 и LSB 3.2;
    • полностью свободное ядро Linux без закрытых и несвободных прошивок (перенесены в non-free);
    • более 10 000 новых пакетов — теперь общее число пакетов достигло 29 000 (собраны из 15 000 пакетов с исходными кодами), около 60% пакетов обновлены, некоторые пакеты были удалены;
    • в качестве технического обзора в дистрибутив включены два ядра FreeBSD, работающие с пакетами Debian: kfreebsd-i386 и kfreebsd-amd64.
  • ПО, включённое в выпуск:
    • ядро Linux 2.6.32 с поддержкой ext4 и KMS;
    • GNOME 2.30 с некоторыми частями GNOME 2.32;
    • KDE 4.4.5;
    • Xorg 7.5;
    • OpenOffice 3.2;
    • Python 2.6.6;
    • Samba 3.5.5;
    • Tomcat 6.0.28.

UPD PHP5.2 + debian squeeze
http://muzso.hu/2011/09/19/how-to-use-php-5.2-with-debian-squeeze

UPD2 2016-06… Закончился Long Time Support период поддержки Debian Squeeze… 5 лет пролетело

Для категорически нежелающих обновляться в sources.list  можно указывать
deb http://archive.debian.org/debian squeeze main
deb http://archive.debian.org/debian squeeze-lts main

Чтобы вторая строчка отрабатывала - в /etc/apt/apt.conf (в случае отсутствия файл следует создать):
Acquire::Check-Valid-Until false;

http://doc.biblissima-condorcet.fr/loris-setup-guide-ubuntu-debian python 2.7 на debian squeeze

Опубликовано Февраль 6, 2011 | автор: levik  |  Нет комментариев »

Безопасность linux сервера - мелкие хитрости

Мелкие хитрости, которые могут обезопасить сервер на Linux от таких же мелких хулиганов. :)

Сообщение о входе root-пользователя

(Если сообщения не отправляются - можно ознакомиться с некоторыми решениями проблемы mail на сервере с Debian)
Настраиваем отправку e-mail уведомлений при входе root-пользователя - добавить в /root/.bashrc или в /root/.bash_profile строчку:
echo -e "Root Shell Access on `tty` \n `w`" | \ mail -s "Alert: Root Access" mail@example.com

Вообще сработал вариант без слэша - возможно, лишнее экранирование затесалось выше..

echo -e "Root Shell Access on `tty` \n `w`" | mail -s "Alert: Root Access" mail@example.com

Аналогично можно настроить для SUDO-юзеров:
echo -e "Sudoer Shell Access on `tty` \n `w`" | \ mail -s "Alert: Sudoer Access" mail@example.com

Прячем SSH

Исправляем в /etc/ssh/sshd_config порт на произвольный от 1024 до 65535, не забываем про уже занятые порты (mysql, например), и запрещаем удаленный вход root-пользователя:
Port 65535
PermitRootLogin no

sudo /etc/init.d/sshd restart

Не помешает установить fail2ban
http://blog.sozinov.eu/2007/03/fail2ban.html

Можно поставить rkhunter - он будет периодически интересоваться изменением критически важных файлов (и не только).

И позакрывать все порты :)  Лишние..

http://secure-ubuntu-server.blogspot.com/

upd: http://silverghost.org.ua/2011/01/31/zashhita-servera-i-ezhednevnyj-audit/

http://rus-linux.net/nlib.php?name=/MyLDP/sec/openssh.html

UPD Если забанил сам себя, убрать бан в fail2ban можно, зайдя по ssh с другого компьютера (если есть такой, конечно)

# - посмотреть список ssh-банов
iptables -L fail2ban-ssh

# убрать бан
iptables -D fail2ban-ssh 1

Опубликовано Декабрь 8, 2010 | автор: levik  |  Комментарии (2) »

Оптимизация и настройка VPS (VDS) на OpenVZ - первые шаги

Итак, после {очередного отключения сайта за нагрузку|убедительного письма хостера с угрозой отключения|..} взяли мы новенький VPS-VDS, перенесли на него свой сайт(ы), настроили DNS и… сайты стали тормозить ещё сильнее… Да ещё и открываются через раз.. В чём же дело? Неужели, VDS хуже обычного хостинга? Надо брать отдельный сервер? Не исключено, однако, всё может быть не так уж плохо.

Совсем немного теории в вольном изложении:

1. Ресурсы виртуального (и физического, впрочем) сервера ограничены. Если один из лимитов превышен - сервер может работать не так, как ожидается. Командой cat /proc/user_beancounters (для VPS на OpenVZ) можно посмотреть не только каких ресурсов и сколько выделено, но ещё и количество превышений (failcnt) каждого ограничения.

2. Каждый процесс (будь-то веб-сервер, база данных, FTP-демон) требует некоторое количество определенных ресурсов. На сервере одновременно крутится много всего. Если все ресурсы заняты - процесс может некорректно завершить работу, или не запуститься совсем. Как пример - сервер просто не сможет обработать запрос на отображение веб-страницы.

3. Осталось определить, какому из процессов сколько и каких ресурсов требуется при определенных условиях (в качестве условий, например, можно взять максимальное количество одновременных посетителей), по возможности - уменьшить потребление ресурсов, заменить “тяжелые” процессы более “легкими”, распределить имеющиеся ресурсы между процессами и, по-возможности, разнести по времени (организовать очередь задач, которая будет пополняться, если новый процесс запустить невозможно…)

tcpsndbuf

http://www.ir-magazine.ru/community/post3356916.html#p3356916

http://www.opennet.ru/openforum/vsluhforumID1/90034.html

http://highload.org/

http://habrahabr.ru/blogs/hosting/116217/

Опубликовано Октябрь 10, 2010 | автор: levik  |  Нет комментариев »

VPS-VDS настройка сервера на Debian Linux (шпаргалка)

Некоторые особенности первоначальной настройки VPS на DEBIAN linux

apt-get install mc - установка Midnight Commander

Debian restart apache 2 - перезапуск web-сервера Apache

При запуске apache2 выводится куча опций, в том числе -k restart. Однако, попытка перезапустить сервер apache2 на дебиан приводит к ошибке:

apache2: bad user name ${APACHE_RUN_USER}

Перезапускаем апач с указанием полного пути:

/etc/init.d/apache2 restart

Добавить модуль mod_rewrite в apache2 на debian

sudo a2enmod rewrite
sudo invoke.rc apache2 restart

Аналогично удалить (команда без параметра выведет список доступных модулей Apache2):

sudo a2dismod rewrite
sudo invoke.rc apache2 restart

Структура конфигов Apache в Debian может показаться непривычной на первый взгляд:
http://www.debian-administration.org/articles/412

a2ensite www.example.com

Ошибки

[date] [warn] NameVirtualHost *:0 has no VirtualHosts
[date] [warn] NameVirtualHost *:0 has no VirtualHosts

DEBIAN не отправляет почту

Только установленный сервер с Debian Linux не отправляет почту командой SendMail. Заглядываем в каталог /var/mail - если там присутствуют файлы, открываем и читаем:

Mailing to remote domains not supported

Всё дело в том, что по умолчанию MTA exim настроен на конфигурацию local - разрешает отправку только на локальные адреса. Debian Exim4 ошибка  Mailing to remote domains not supported исправляется переконфигурацией пакета:

$ dpkg-reconfigure exim4-config

Если при установке exim4 (или переустановке почты) вылетает с ошибкой

E: Could not perform immediate configuration on ‘exim4-daemon-light’. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)

Немного изменим порядок установки -
сначала apt-get install exim4-base exim4-config
затем apt-get install exim4-daemon-light

bash: mail: command not found
Устанавливаем mailutils : #apt-get install mailutils

Еще может оказаться полезным перенаправление root-почты (пересылка) на свой ящик. Прописываем в /etc/aliases (последней строчкой)
root: mymail@myhost.my
Если не помогло - ознакомиться:
http://www.howtoforge.com/forums/archive/index.php/t-316.html

reason: 550 Unroutable address - ещё одна почтовая ошибка sendmail
myhost sendmail[###]: [ID ### mail.crit] My unqualified host name (myhost ) unknown; sleeping for retry
myhost sendmail[###]: [ID ### mail.alert] unable to qualify my own domain name (myhost) — using short name
как правило,причиной является неполное имя домена в /etc/hosts (myhost.mydomain, сойдет даже myhost.localhost)

Настройка часового пояса в Debian
dpkg-reconfigure tzdata - переходим к выбору часового пояса на уже установленной системе

Настройка локалей - локализация Debian
+ русификация консоли в Debian
+ более подробно про Locale ,  /etc/default/locale и  update-locale

make команда не найдена
apt-get install make

http://debian.pro/ - заметки debian-щика :)
http://www.openkazan.info/node/3629 - установка webmin + virtualmin на debian

Читать целиком »

Опубликовано Сентябрь 27, 2010 | автор: levik  |  Комментарии (2) »

linux - Добавляем локаль (locale) при помощи localedef

Если функции изменения регистра некорректно работают с русским текстом, и не помогает установка локали в php (функция setlocale), скорее всего, нужной локали просто нет на сервере.

Если имеется доступ по SSH, посмотреть список имеющихся локалей можно командой

locale -a

locale -a | grep ru_RU

Если нужной локали (обычно, требуется ru_RU.CP1251 - остальные, скорее всего уже установлены) нет, установить (добавить в систему) её можно командой localedef (в Linux):

localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Если интересуют подробности - можно почитать, man localedef (для начала).
http://unix1.jinr.ru/~lavr/locale-1251.html - более подробная информация

краткая памятка по locale

Конфигурация локали в Debian

dpkg-reconfigure locales

Опубликовано Август 27, 2010 | автор: levik  |  Нет комментариев »