Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.
Модераторы: SLEDopit , Модераторы разделов
deber
Сообщения: 4
Сообщение
deber » 27.09.2007 18:01
Добрый день!
Есть перловый cgi скрипт.
В нем у меня запускаются команды на выполнение.
Есть такой sudoers:
Код: Выделить всё
root ALL=(ALL) ALL
apache ALL=NOPASSWD: /bin/mv; /bin/echo; /bin/touch
Объясните мне плз. почему работает команда
А эта команда не работает:
Код: Выделить всё
#httpd -V
Server version: Apache/2.2.2
Server built: Aug 11 2006 18:18:14
Server's Module Magic Number: 20051115:2
Server loaded: APR 1.2.2, APR-Util 1.2.7
Compiled using: APR 1.2.2, APR-Util 1.2.7
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
юзер апач и группа существуют. Все остальное работает без проблем.
Если надо показать еще какие-то настройки, то скажите - покажу.
ЗЫ Федора 6, Apache/2.2.2
mczim
Сообщения: 665
ОС: Debian/Ubuntu
Сообщение
mczim » 27.09.2007 18:06
вроде как должно быть так в /etc/sudoers
вот это вы из под пользователя апач делаете?
Я странный...
deber
Сообщения: 4
Сообщение
deber » 28.09.2007 10:16
mczim писал(а): ↑ 27.09.2007 18:06
вроде как должно быть так в /etc/sudoers
Не помогло.
Да и мой вариант на другом серваке работает.
вот это вы из под пользователя апач делаете?
У меня есть страничка с кнопками. При нажатии разных кнопок выполняются различные команды.
Одна из них echo 'blablabla' >> file.txt
Кстати на страничке в это время отображается:
Bad file descriptor
Sleeping Daemon
Сообщения: 1450
Сообщение
Sleeping Daemon » 28.09.2007 10:39
deber писал(а): ↑ 28.09.2007 10:16
mczim писал(а): ↑ 27.09.2007 18:06
вроде как должно быть так в /etc/sudoers
Не помогло.
Да и мой вариант на другом серваке работает.
вот это вы из под пользователя апач делаете?
У меня есть страничка с кнопками. При нажатии разных кнопок выполняются различные команды.
Одна из них echo 'blablabla' >> file.txt
Кстати на страничке в это время отображается:
Bad file descriptor
Может всё таки sudo /bin/echo 'blablabla' >> /path/file.txt ?
megabrain
Сообщения: 10
ОС: FC8
Сообщение
megabrain » 28.09.2007 10:42
прикрути к апачу suExeс и выполняй спокойно команды от имени нужного юзера..
то что ты сделал это дыра.. особенно mv.. и не надо говорить что "я только локально" и тдтп
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT
Сообщение
gcc » 19.11.2007 05:30
а где его найти suexec ?
и как массовые вируальный хосты загуртить apache 2.2.4
я не понял как mod_vhost_alias опеределит кто кто пользователь!!!!!? тоесть когда пишешь статически, то пишешь пользоватля и групу, а в mod_vhost_alias не надо писать ничего?
как правильно сделать нигде не нашел!!
скажите пожалуйста!!
SuexecUserGroup - не работает, опции не сущетсвует пишет!
Код: Выделить всё
# apachectl -V
Server version: Apache/2.2.4 (FreeBSD)
Server built: Jul 27 2007 21:20:23
Server's Module Magic Number: 20051115:4
Server loaded: APR 1.2.8, APR-Util 1.2.8
Compiled using: APR 1.2.8, APR-Util 1.2.8
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="/var/run/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/accept.lock"
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log"
-D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types"
-D SERVER_CONFIG_FILE="etc/apache22/httpd.conf"
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT
Сообщение
gcc » 19.11.2007 22:13
Код: Выделить всё
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
VirtualScriptAlias /never/found/%0/cgi-bin/
UseCanonicalName Off
VirtualDocumentRoot /usr/local/apache/vhosts/%0
как сделать чтобы видно было кто запускал скрипты?
в статической конфигурации если добавить
Код: Выделить всё
<VirtualHost *:80>
ScriptAlias /cgi-bin/ ${hosting_preffix}/${user_name}/cgi-bin/
ServerAdmin support@${domain_name}
User ${user_name}
Group ${user_name}
DocumentRoot ${hosting_preffix}/${user_name}/www
ServerName ${domain_name}
ServerAlias www.${domain_name}
# Директория пользователя
<Directory "${hosting_preffix}/${user_name}/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
DirectoryIndex index.php index.html index.htm index.shtml index.php3
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php /cgi-bin/php-cgi
ErrorLog ${hosting_preffix}/${user_name}/log/error.log
CustomLog ${hosting_preffix}/${user_name}/log/access.log common
</VirtualHost>
то пишет, что опции User нету!
а как правильно это сделать скажите пожалуйста, чтобы пользователи не видели каталоги друг друга или ндо всё перенести на /home ?
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT
Сообщение
gcc » 21.11.2007 22:32
СОБРАЛ!!!
/etc/make.conf
Код: Выделить всё
# apache22
# SSL - кому надо - включат - мне на этой машине не нужен
WITH_SSL= YES
# Включение поддержки suExec
WITH_SUEXEC= YES
# Корневая директория suExec
SUEXEC_DOCROOT= /usr/home
# Cубдиректория пользователя
SUEXEC_USERDIR= "/usr/home/*/cgi-bin"
# Файл лога suExec
SUEXEC_LOGFILE= /var/log/httpd/suexec.log
APACHE_SUEXEC_LOG=/usr/local/var/log/httpd-suexec.log
APACHE_HARD_SERVER_LIMIT=yes
WITH_APACHE_PERF_TUNING=yes
APACHE_HARD_SERVER_LIMIT=1024
#PATCH_SUEXEC=YES
виртуальные хосты работают, если добавить в один:
Код: Выделить всё
pw useradd myd -c -L webuser -s /bin/csh -d /home/myd
при запуске пишет вот это и не стартует
Код: Выделить всё
User cannot occur within <VirtualHost> section
что еще надо?
UPD
блин, когда фря обновляла она не обновила конфиги!!
Код: Выделить всё
LoadModule suexec_module modules/mod_suexec.so
+ еще вместо User вот так надо