LINUX.ORG.RU

Сообщения soleg

 

Запуск приложения E-num и обращение к нему

Форум — General

Всем привет. Очень интересен вопрос. Есть debian. Есть приложение e-num (http://enum.ru/). Можно ли как то запустить приложение и обращаться к нему из командной строки? Т.е. мы должны запустить приложение, ввести код активации, передать в него чиспо-вопрос, он должен возвратить число-ответ. Возможно ли такое вообще реализовать? Куда капать?

soleg
()

Дублируются процессы

Форум — Admin

Всем привет. Прошу дать ответ на этот странный для меня момент.

Есть некий скрипт script.php

Запускаем его от простого пользователя

php /var/www/script.php

Далее выполняем команду

ps -ef | grep -v grep | grep "/var/www/script.php" 
userName 32253 32155  1 13:46 pts/2 00:00:00 php /var/www/script.php

убиваем все процессы

sudo killall php -9

Теперь запускаем этот же скрипт от рута

sudo php /var/www/script.php

Снова выполняем

ps -ef | grep -v grep | grep "/var/www/script.php"

И уже видим вот что

root     32631 32155  0 13:49 pts/2    00:00:00 sudo php /var/www/script.php
root     32632 32631  1 13:49 pts/2    00:00:00 sudo php /var/www/script.php

Почему выдаётся что запущено два процесса?

В случае если поставить данный скрипт в крон от рута

sudo crontab -e 
* * * * * php /var/www/script.php

Команда

ps -ef | grep -v grep | grep "/var/www/script.php"

Выдаёт вот что

root 699 687 0 13:53 ? 00:00:00 /bin/sh -c php /var/www/script.php
root 700 699  0 13:53 ? 00:00:00 php /var/www/script.php

Вопрос возник после вот этого. Файл script.php задан в кроне на выполенние каждую минуту, и что бы не плодить дублей в самом файле выполняется комадна

if( ( $countPR = ( int ) exec( 'ps -ef | grep -v grep | grep "' . __FILE__ . '" | wc -l' ) ) > 1 ){
    
    echo 'Proccess (' . $countPR . ')' . PHP_EOL;
    die();
    
}

И получается при запуске от рута всегда находит 2 процесса файла, при запуске от простого юсера, находит только 1, т.е. сам себя же.

soleg
()

Проблема с htaccess

Форум — Admin

Всем привет.

пару дней как перешёл на Ubuntu 12.04, проблем не возникало пока, но вот сутки ковыряюсь и не могу понять из за чего так происходит.

Есть htaccess ( /var/www/.htaccess )

AddDefaultCharset UTF-8
Options +Indexes +FollowSymLinks +MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? $1.php?act=$2&subact=$3 [QSA,L]

На сервере работало нормально, но вот при переносе на локалку, перестало работать.

Дефолтовый хост

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride All
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

В директории /var/www/ лежит файл info.php

При обращении http://127.0.01/info/1/2/ Выдаётся файл info.php но без параметров $_GET['act'] & $_GET['subact']

При запросе http://127.0.01/info2/1/2/ 404 ошибка

Если в htaccess изменить

RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? $1.php?act=$2&subact=$3 [QSA,L]
на
RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? info.php?act=$2&subact=$3 [QSA,L]

И выполнить запрос http://127.0.01/info2/1/2/

Выдаётся скрипт info.php c параметрами $_GET['act'] == 1 & $_GET['subact'] == 2

И вот странность, если вообще очистить htacceess и вызвать http://127.0.01/info выдаётся скрипт info.php, если я приавльно понимаю, дело именно в этом.

soleg
()

Альтернатива psexec

Форум — General

Всем привет.

Есть ли что то на подобии psexec http://technet.microsoft.com/en-US/sysinternals/bb897553 только под Линукс? Чбо бы можно было подключиться к удалённому рабочему столу и выполнить нужную команду.

soleg
()

Права на выполнение «ejabberdctl»

Форум — General

Всем привет. Debian 6. Нужно позволить простому пользователю выполнять одну доп.команду, а именно «ejabberdctl». Что бы тот мог добавлять новых пользователей Jabber сервера выполняя команду «ejabberdctl register NewUserName Hostname Password» Можно ли так сделать?

soleg
()

Nginx SSLOptions & SSLCARevocationFile

Форум — Admin

Всем привет, снова я и снова вопрос по клиентским ssl.

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

Саму авторизацию сделал

ssl_certificate /certs/ca.crt;
ssl_certificate_key /certs/ca.key;
ssl_client_certificate /certs/ca.crt;
ssl_verify_client on;

keepalive_timeout 70;
fastcgi_param SSL_VERIFIED $ssl_client_verify;
fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;
fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;
fastcgi_param SSL_DN $ssl_client_s_dn;

Но теперь нужно получить параметры SSL сертификата, аналог

SSLOptions +StdEnvVars +ExportCertData
в апаче.

А так же аналог директивы в апаче

SSLCARevocationFile
Для указания списка отзыва сертификатов

soleg
()

Копирование (перенос) сервера.

Форум — Admin

Всем привет. Такой нубский вопрос.

Debian 6.0 (amd64).

У меня на сервере делается бекап. базы MYSQl + все файлы сервера загоняются в архив и отправляются на фтп. Так вот, возник вопрос. Если этот бекап залить на новый сервер так же debian 6.0 (amd64) распакопать там архив, то сервер будет работать или уже нет, есть какая то привязка?

Не хочется для проверки заказывать новый vps)

soleg
()

Вывод инфы при отсутствии клиентского сертификата

Форум — Admin

Всем привет, снова я.

У меня сайт с авторизацией по клиентским сертификатам. Если на сайт входит пользователь без сертификата, то ему выводится ошибка: - в мозиле это ssl_error_handshake_failure_alert - в хроме ошибка 117

Можно ли как то сделать так что бы при отсутствии сертификата выводилась информация как получить сертификат или делался редирект на страницу с информацией, о том как получить этот серт?

Если я правильно понимаю, то апаче после того как не получает от клиента запрашиваемый серт , отклоняет соединение с ошибкой 117, и соответственно произвести какие то действия просто невозможно. Надеюсь, что я ошибаюсь)

soleg
()

Отзыв SSL сертификата

Форум — Admin

Всем привет. Снова я и снова вопрос по SSL. Есть сайт авторизация происходит по клиентским SSL сертификатам. Отзыв сертификата выполняется через пхп командой

openssl ca -config ca.config -revoke cert1.crt
далее обновляется список отозванных сертификатов
openssl ca -gencrl -config ca.config -out ca.crl
Список отозванных сертов указываю так

SSLCARevocationFile /ca.crl

Но пользователь может заходить используя этот сертификат до момента пока не будет перезагружен апаче (перезагрузка выполняется каждый день в 3 часа ночи). Можно ли каким то образом, сделать так что бы пользователь не мог использовать сертификат не дожидаясь перезагрузки апаче?

Т.е. как я понимаю нужно, после того как отзываю серт и обновляю список отзыва, обновить эту самую директиву SSLCARevocationFile.

soleg
()

Подпись клиентских сертификатов купленным сертификатом

Форум — Admin

Такой вопрос. Есть сайт авторизация происходит по клиентским сертификатом.Подписываются они самоподписаным сертификатом. И браузер ругается при переходе на сайте. Сейчас купил сертификат от комодо. Подписываю им. Но при открытия защишенной страницы и указания нужного сертификата выдаёт ошибку

ERR_BAD_SSL_CLIENT_AUTH_CERT
Вот такой конфиг хоста
<VirtualHost %IP%:443>
	SSLEngine on
	SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
	SSLCertificateFile /ca.crt
	SSLCertificateKeyFile /ca.key
	SSLCACertificateFile /ca.crt  
        SSLCertificateChainFile /ca.ca-bundle    
	<Directory /var/www/user/data/www/site.ru/>
	SSLVerifyClient require
	</Directory>
	SSLOptions +StdEnvVars +ExportCertData
	ServerName site.ru
	DocumentRoot /var/www/user/data/www/site.ru
	AssignUserID user user
	ErrorLog /var/www/httpd-logs/site.ru.error.log
	ServerAlias site.ru
	ServerAdmin webmaster@site.ru
	php_admin_value open_basedir "/var/www/user/data:."
	php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@site.ru"
	php_admin_value upload_tmp_dir "/var/www/user/data/mod-tmp"
	php_admin_value session.save_path "/var/www/user/data/mod-tmp"
	AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
	AddType application/x-httpd-php-source .phps
</VirtualHost>

Если же убрать эти строки

<Directory /var/www/user/data/www/site.ru/>
	SSLVerifyClient require
	</Directory>
То просто выдаёт защищенную страницу без запроса сертификата, при этом показывает что соединение достоверное. т.е. зелённый https:

Возник вопрос. А можно ли вообще подписывать клиентские сертификаты не самоподписанным сертификатом?

Если можно, то скажите что делаю не так?

Клиентский сертификат создаю

openssl req -new -newkey rsa:1024 -nodes -keyout clien01.key  -subj /C=RU/CN=clien01/emailAddress=usr@dm.ru -out clien01.csr
openssl ca -config ca.config -in clien01.csr -out clien01.crt -batch
openssl pkcs12 -export -in clien01.crt -inkey clien01.key -certfile ca.crt -out clien01.p12 -passout pass:q1w2e3

soleg
()

Создать архив с паролем через SSH

Форум — Admin

Необходимо через SSH создать архив под паролем. Искал в гугле, но ничего толкового не нашёл.

Создаю архив такой командой

tar -cvzf /var/www/test/tar.gz /var/www/test

Архив можно создать любым способом не обязательно tar, для меня главное что бы на него устанавливался пароль.

soleg
()

RSS подписка на новые темы