Scott Guthrie (менеджер группы разработчиков ASP.NET) имеет интересное сообщение об этом .
наиболее важные моменты, почему Вы не должны уезжать debug="true"
:
- компиляция страниц ASP.NET занимает больше времени (так как некоторая пакетная оптимизация отключена)
- , Код может выполниться медленнее (так как некоторые дополнительные пути отладки включены)
- , Намного больше памяти используется в рамках приложения во времени выполнения
- Сценарии и отображает загруженный с обработчика WebResources.axd, не кэшируются браузером, приводящий к большему количеству запросов между клиентом и сервером
Он также упоминает флаг
Обновление : развертывание веб-приложений с debug="true"
все еще плохо, поскольку можно читать в недавнее сообщение в блоге Scott Hanselman :
Вот то, почему отладка = "верный" плоха. Серьезно, мы не шутим.
- тайм-аут выполнения запроса Переопределений, делающий его эффективно бесконечный
- , Отключает и страницу и оптимизацию JIT-компилятора
- В 1,1, приводит к чрезмерному использованию памяти CLR для отладочной информации, отслеживающей
- В 1,1, выключает пакетную компиляцию динамических страниц, ведя к 1 блоку на страницу.
- Для кода VB.NET, приводит к чрезмерному использованию WeakReferences (используемый для редактирования, и продолжите поддержку).
важное примечание: Вопреки то, чему иногда верят, устанавливая розничную продажу = "верный" в элементе, не является прямым противоядием к наличию отладки = "верный"!
Ok, now this is the script that I used to solve my problem. I first tried to write a small c-programm as susgested by Aaron Digulla, but that proved much too difficult.
Perhaps this Script is useful to someone else.
#!/bin/bash
#
# login.sh $USERNAME $PASSWORD
#this script doesn't work if it is run as root, since then we don't have to specify a pw for 'su'
if [ $(id -u) -eq 0 ]; then
echo "This script can't be run as root." 1>&2
exit 1
fi
if [ ! $# -eq 2 ]; then
echo "Wrong Number of Arguments (expected 2, got $#)" 1>&2
exit 1
fi
USERNAME=$1
PASSWORD=$2
# Setting the language to English for the expected "Password:" string, see http://askubuntu.com/a/264709/18014
export LC_ALL=C
#since we use expect inside a bash-script, we have to escape tcl-$.
expect << EOF
spawn su $USERNAME -c "exit"
expect "Password:"
send "$PASSWORD\r"
#expect eof
set wait_result [wait]
# check if it is an OS error or a return code from our command
# index 2 should be -1 for OS erro, 0 for command return code
if {[lindex \$wait_result 2] == 0} {
exit [lindex \$wait_result 3]
}
else {
exit 1
}
EOF
имя пользователя и пароли записываются в файл / etc / shadow
.
просто получите оттуда пользователя и хэш пароля ( sed
поможет), хешируйте свой собственный пароль и проверьте.
используйте mkpasswd для генерации хеша.
Вы должны посмотреть, какую соль использует ваша версия. новейшая тень использует sha-512
, поэтому:
mkpasswd -m sha-512 password salt
manpages могут вам очень помочь.
Проще было бы использовать php и модуль pam-aut. там вы можете проверить vie php для группового доступа пользователя pwd.
В Linux вам нужно будет написать небольшую программу на C, которая вызывает pam_authenticate ()
. Если вызов возвращает PAM_SUCCESS
, значит логин и пароль верны.
Частичный ответ будет заключаться в проверке имени пользователя, определено ли оно в файле passwd / shadow в / etc затем вычислите пароли MD5 с солью. Если ваш пароль пользователя отправлен через SSL (или, по крайней мере, через какую-то службу терминала сервера).
Это всего лишь намек, потому что я не знаю, что вам на самом деле нужно. Потому что su используется в основном для целей аутентификации.
Другие темы, на которые вы можете обратить внимание, - это службы Kerberos / LDAP, но это сложные темы.