проверьте имя пользователя Unix и пароль в сценарии оболочки

Scott Guthrie (менеджер группы разработчиков ASP.NET) имеет интересное сообщение об этом .

наиболее важные моменты, почему Вы не должны уезжать debug="true":

  1. компиляция страниц ASP.NET занимает больше времени (так как некоторая пакетная оптимизация отключена)
  2. , Код может выполниться медленнее (так как некоторые дополнительные пути отладки включены)
  3. , Намного больше памяти используется в рамках приложения во времени выполнения
  4. Сценарии и отображает загруженный с обработчика WebResources.axd, не кэшируются браузером, приводящий к большему количеству запросов между клиентом и сервером

Он также упоминает флаг > в machine.config, который позволяет глобально переопределять отладку = "истинный" флаг всех приложений, работающих на машине (например, на рабочем сервере).

Обновление : развертывание веб-приложений с debug="true" все еще плохо, поскольку можно читать в недавнее сообщение в блоге Scott Hanselman :

Вот то, почему отладка = "верный" плоха. Серьезно, мы не шутим.

  • тайм-аут выполнения запроса Переопределений, делающий его эффективно бесконечный
  • , Отключает и страницу и оптимизацию JIT-компилятора
  • В 1,1, приводит к чрезмерному использованию памяти CLR для отладочной информации, отслеживающей
  • В 1,1, выключает пакетную компиляцию динамических страниц, ведя к 1 блоку на страницу.
  • Для кода VB.NET, приводит к чрезмерному использованию WeakReferences (используемый для редактирования, и продолжите поддержку).

важное примечание: Вопреки то, чему иногда верят, устанавливая розничную продажу = "верный" в элементе, не является прямым противоядием к наличию отладки = "верный"!

5
задан 22 September 2009 в 12:05
поделиться

4 ответа

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
4
ответ дан 18 December 2019 в 10:46
поделиться

имя пользователя и пароли записываются в файл / etc / shadow . просто получите оттуда пользователя и хэш пароля ( sed поможет), хешируйте свой собственный пароль и проверьте.

используйте mkpasswd для генерации хеша. Вы должны посмотреть, какую соль использует ваша версия. новейшая тень использует sha-512 , поэтому:

mkpasswd -m sha-512 password salt

manpages могут вам очень помочь.

Проще было бы использовать php и модуль pam-aut. там вы можете проверить vie php для группового доступа пользователя pwd.

8
ответ дан 18 December 2019 в 10:46
поделиться

В Linux вам нужно будет написать небольшую программу на C, которая вызывает pam_authenticate () . Если вызов возвращает PAM_SUCCESS , значит логин и пароль верны.

4
ответ дан 18 December 2019 в 10:46
поделиться

Частичный ответ будет заключаться в проверке имени пользователя, определено ли оно в файле passwd / shadow в / etc затем вычислите пароли MD5 с солью. Если ваш пароль пользователя отправлен через SSL (или, по крайней мере, через какую-то службу терминала сервера).

Это всего лишь намек, потому что я не знаю, что вам на самом деле нужно. Потому что su используется в основном для целей аутентификации.

Другие темы, на которые вы можете обратить внимание, - это службы Kerberos / LDAP, но это сложные темы.

0
ответ дан 18 December 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: