Окт 232011
 

Постоянно забываю как менять права доступа файлов и папок в терминале…

Циферный вид прав доступа

Я привык работать с правами доступа в циферной форме, потому кратенько разберемся какая цифра за что отвечает.

Например, у нас на папке стоят права доступа 765. Теперь по-порядку:
700 (первая цифра) — права доступа для владельца
60 (вторая цифра) — права доступа для группы
5 (третья цифра) — права доступа для всех остальных юзеров

Что же означают эты цифры. А означают они сумму прав доступа:
400 — владелец имеет право на чтение
200 — владелец имеет право на запись
100 — владелец имеет право на выполнение
40 — группа имеет право на чтение
20 — группа имеет право на запись
10 — группа имеет право на выполнение
4 — остальные имеют право на чтение
2 — остальные имеют право на запись
1 — остальные имеют право на выполнение

Тоесть, на нашем примере у нас такая математика:
700 = 400 + 200 + 100 (разрено читать + записывать + выполнять)
60 = 40 + 20 (читать и записывать разрешено, выполнять — запрещено)
5 = 4 + 1 (разрешено чтение и выполнение, но записывать запрещено)

Всё сводится к простой математике, тоесть суммированию прав доступа.

chmod (смена прав доступа)

Continue reading »

 Posted by at 02:49
Сен 272011
 

Имеется у меня дома хороший брендовый сервер, в tower корпусе, две головы по два ядра.
Вот только незадача, жрет электричества как дурной, поэтому по ночам я его выключаю, 13 — 15 киловатт в сутки получается 🙁
В последнее время я начал забывать его по утрам включать, и тут назрел вопрос включения его по сети. Для винды програмка нашлась очень быстро, для FreeBSD тоже 🙂
Значит идем в порты

cd /usr/ports/net
make search name='wol'
Port:   wol-0.7.1_2
Path:   /usr/ports/net/wol
Info:   Tool to wake up Wake-On-LAN compliant computers
Maint:  cm@therek.net
B-deps: gettext-0.18.1.1 libiconv-1.13.1_1 perl-5.10.1_3
R-deps: gettext-0.18.1.1 libiconv-1.13.1_1
WWW:    http://ahh.sourceforge.net/wol/

Программа поставилась с пол пинка 🙂 Далее пошли у меня другие танцы. Сначала сетевая на сервере не хотела правильно конфигурироваться, там у меня венда стоит. Потом не хотела будиться с FreeBSD хотя с ноута с венды будился сервак на ура.
В общем нашел правильную комбинацию 🙂

wol -v 00:0e:0c:3e:93:e0 -i 192.168.0.3

Сначала идет мак адресс, потом ip адресс, без IP не хотел просыпаться.
Вот и все 🙂

Авг 272011
 

Ранее я уже писал о http://slik45.kiev.ua/freebsd/cacti-monitoring-raboty-apache , в этой статье я напишу о мониторинге нагрузке на веб сервер Nginx
Качаем сам скрипт для сбора статистики cacti-nginx.tar.gz, распаковываем его куда нибудь в удобное для нас место.
Заливаем файлы

get_nginx_client_status.pl
get_nginx_socket_status

в

/usr/local/share/cacti/scripts/

Даем им права на выполнение

chmod 755 /usr/local/share/cacti/scripts/get_nginx_socket_status.pl
chmod 755 /usr/local/share/cacti/scripts/get_nginx_clients_status.pl

Continue reading »

Авг 202011
 

Казалось бы банальный вопрос, но многие не знают ответа на него. Чесно говоря, я тоже не знал. 🙂
На nix-ах делается следующим образом.

Открываем файл /etc/my.cf и описываем в него следующее:

[mysqld]
...
log-queries-not-using-indexes
log=/var/log/mysql/mysql-queries.log
log-error=/var/log/mysql/mysql-errors.log
log-slow-queries=/var/log/mysql/mysql-slow-queries.log
...

Файлы могут сами не появится, потому лучше их создать и выдать права самому.

touch /var/log/mysql/mysql-queries.log
touch /var/log/mysql/mysql-errors.log
touch /var/log/mysql/mysql-slow-queries.log
chown mysql:mysql /var/log/mysql/mysql*
chmod 640 /var/log/mysql/mysql*

Теперь осталось перезапустить сервис:
service mysqld restart

Вот и всё. 🙂

 Posted by at 01:17
Авг 072011
 

Эта статья описывает определенные шаги, которые должен предпринять админ для конфигурирования рабочей станции на основе FreeBSD 4.x. В общем говоря все это применимо и для сервера, но явно недостаточно — в случае сервера необходимо предпринять ряд дополнительных мер.

Основа

Известно, что FreeBSD одна из самых безопасных операционных систем, однако и для ее окончательного укрепления необходимо поработать ручками, не полагаясь на дефолтовые установки.

Прежде всего после установки ОС необходимо отключит все сервисы, которые не нужны. Допустим, что вам нужен лишь FTP и SSHD для работы в локальной сети. Для отключения всех сервисов подредактируйте /etc/rc.conf, примерно так как показано в этом файле.

Выключили? Замечательно. Теперь беремся за /etc/inetd.conf и разкомментируем там ftp. Все остальные службы в файле конфигурации должны быть закрыты до тех пор, пока они вам не понадобятся. Идем дальше: в /usr/local/etc/rc.d/. В этом (или из этого) месте httpd, rpcd и другие демоны инициализируются, так что делайте chmod -x всему тому, что вам не нужно. Или проще удалите/переместите удалите их если они вам не нужны. Перегружайте машину и выполняйте sockstat -l4. Примерно должно вылезти следующее:

root sshd 432 4 tcp4 *:22 *:*
root lpd 72 7 tcp4 *:515 *:*
root syslogd 60 5 udp4 *:514 *:*
root inetd 445 4 tcp4 *:21 *:*

Если видите что-то лишнее — возвращайтесь в /usr/local/etc/rc.d/ и убивайте все, что под руку попадется.
Continue reading »

 Posted by at 01:54
Июл 022011
 

Как и любому админу захотелось мониторить свои сервера, чтобы рисовались красивые графики и т.д.
На домашнем сервере cacti стоит уже довольно таки давно, сейчас я его раскатывать буду на рабочем сервере, точнее на файлопомойке 🙂
Делаем

cd /usr/ports/net-mgmt/cacti/ && make install clean

и ждем пока установится cacti
При установке cacti тянется очень много разных зависимостей, так что установка будет не шустро быстрой 🙂
После того как cacti установился видим такое

=======================================================================
Cacti is now installed. If you intall it for the first time,
you may have to follow this steps to make it work correctly:

1. Create the MySQL database:
# mysqladmin --user=root create cacti
2. Create a mysql user/password for cacti:
   (change user and/or password if requered)
# echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
FLUSH PRIVILEGES;" | mysql
3. Import the default cacti database:
# mysql cacti < /usr/local/share/cacti/cacti.sql
4. Edit /usr/local/share/cacti/include/db-settings.php.
5. Add a line to your /etc/crontab file similar to:
*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php >
/dev/null 2>&1
6. Add alias in apache config for the cacti dir:
Alias /cacti "/usr/local/share/cacti/"
7. Open a cacti login page in your web browser and login with admin/admin.

If you update cacti, open a login page right now. An updating process
will run automatically.
=======================================================================

Согласно инструкции приступаем к настройке.
Continue reading »

Июл 012011
 

Вот и пришло время когда понадобилось прикрутить Samba на FreeBSD.
Раньше как то настраивал ее на одной тестовой машинке года 3 назад, вот теперь опять потребовалось.
Приступаем.
Топаем в порты

cd /usr/ports/net/samba35/ && make install clean

Выскакивает меню конфигурации, я выбрал всего

                │ │  [ ] ADS          With Active Directory support                │ │
                │ │  [X] CUPS         With CUPS printing support                   │ │
                │ │  [X] WINBIND      With WinBIND support                         │ │
                │ │  [ ] SWAT         With SWAT WebGUI                             │ │
                │ │  [ ] ACL_SUPPORT  With ACL support                             │ │
                │ │  [ ] AIO_SUPPORT  With Asyncronous IO support                  │ │
                │ │  [ ] FAM_SUPPORT  With File Alteration Monitor                 │ │
                │ │  [X] SYSLOG       With Syslog support                          │ │
                │ │  [X] QUOTAS       With Disk quota support                      │ │
                │ │  [ ] UTMP         With UTMP accounting support                 │ │
                │ │  [ ] PAM_SMBPASS  With PAM authentication vs passdb backends   │ │
                │ │  [ ] DNSUPDATE    With dynamic DNS update(require ADS)         │ │
                │ │  [ ] AVAHI        With Bonjour service discovery support       │ │
                │ │  [ ] EXP_MODULES  With experimental modules                    │ │
                │ │  [X] POPT         With system-wide POPT library

То есть как видно по конфигу, что я ставлю самую обычную самбу, без доменной авторизации и т.д.
Архив на 29 мб, судя с этого будет долго ставится она.

Continue reading »

Июл 012011
 

Давно ничего не писал.
Вот собственно стала такая задача у меня.
Есть сервер на FreeBSD c установленным OpenVPN сервером, понадобилось поставить на другом сервере с FreeBSD поставить клиента, и настроить между ними прямой линк между разными интернет провайдерами.

Приступаем к работе.

cd /usr/ports/security/openvpn/ && make install clean

Все оставляем по умолчанию и ждем пока заинсталится OpenVPN
Далее делаем следующее

mkdir /usr/local/etc/openvpn
mkdir /usr/local/etc/openvpn/keys

Далее создаем конфиг такого вида

dev tun
proto tcp
# IP сервера
remote 1.1.1.1
#Port на котором работает сервер, у меня он отличается от стандартного
port 1194
client
client
resolv-retry infinite
ca keys/ca.crt
cert keys/cert.crt
key keys/key.key
tls-client
tls-auth keys/ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

Continue reading »

Май 122011
 

Вот так случилось что у меня на работе все работает через прокси. Иногда мне это очень мешает, вот к примеру раскатал я новый сервер на FreeBSD, и ведь надо дальше его настраиваить, обновлять порты и исходники.

Прописываем в файле make.conf

FETCH_ENV=FTP_PROXY=ftp://IP:PORT
FETCH_ENV=FTP_PROXY=http://IP:PORT
Май 052011
 

Настроил у себя на домашнем сервере связку nginx + apache, все работает отлично. Захотелось поглядеть за тем как отрабатывает apache, держит нагрузки и т.д.

Для того чтобы apache отдавал статистику должны быть включены следующие модули

LoadModule status_module libexec/apache2/mod_status.so
LoadModule info_module libexec/apache2/mod_info.so

Далее добавляем в конфиг apache следующие строки

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

ExtendedStatus On

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

Continue reading »