Права доступа в Linux
Обновлено: 15.01.2025Автор grinder, источник: http://www.linuxstudio.ru
Настало время поговорить о швабре на которую наступают новички. Речь сегодня пойдет о правах доступа. И так вы садитесь за компьютер, работа не идет и в порыве вы уничтожаете случайно важные системные файлы. Или ваши знакомые или сослуживцы залезли в папку которую не должны были видеть. Или ... Ситуация я думаю знакомая. Но зато согласитесь удобно. Я сам себе режиссер, что хочу то делаю, любая программа, пользователь имеет доступ ко всем системным файлам и ресурсам, никаких ограничений. Красота. Отсюда эпидемии вирусов. Так вот в Linux всего такого нет. Почему?
Файлы в Linux имеют двух владельцев: пользователя (user owner) и группу (group owner) под которой понимается определенный список пользователей и причем владелец файла не обязательно должен быть членом группы владеющей файлом. Каждый пользователь может быть членом сразу нескольких групп одна из которых называется первичной (primary), а все остальные - дополнительными (supplementary). Это дает большую гибкость в организации доступа к определенному файлу. Совместное использование некоторым ресурсом организовать очень просто, достаточно создать новую группу и включить в нее всех кому это действительно необходимо, а если человек предположим перешел в другой отдел и уже нет необходимости в использовании данного файла. А все очень просто, необходимо просто выключить его из состава данной группы. Ну а, что делать с остальными неужели они так и не смогут хотя бы прочитать содержимое файла или их прийдется каждый раз включать и исключать из группы. А вот для всех остальных (other) которые не принадлежат ни к user owner и group owner права доступа устанавливаются отдельно и как правило самые минимальные. Обычно владельцем файла является пользователь который создал данный файл. Владелец-группа вновь создаваемого файла устанавливается равной первичной группе пользователя создавшего файл, но в некоторых версиях Unix владелец-группа наследуется от владельца-группы каталога в котором создается файл. Для изменения владельца файла используется команда chown в качестве параметров принимающая имя нового владельца и список файлов: # chown new_owner file1 file2 ...Конечно же на месте названия файла может быть и имя каталога, но при этом владелец файлов внутри каталога не изменится, для того чтобы это произошло лучше всего воспользоваться флагом -R (chown -R). При использовании данной команды (впрочем как и большинства) можно пользоваться регулярными выражениями если есть необходимость отобрать файлы удовлетворяющие определенному критерию (chown - R lys *.с). Для изменения владельца группы используется команда chgrp, синтаксис использования данной команды аналогичен предыдущей: # chgrp sales /home/sales/*. Кстати команда chown позволяет сразу установить и группу-владельца для этого необходимо сразу за именем владельца без пробелов и др. знаков поставить двоеточие и написать название необходимой группы
# chown - R sergej:gljuk *
допускается и такой вариант записи:
# chown - R :gljuk * (т.е. аналог команды chgrp).
Владение файлом определяет те операции которые тот или иной пользователь может совершить над файлом. Самые очевидные из них это изменение владельца и группы для некоторого файла. Эти операции может проделать суперпользователь и владелец файла (в производных BSD UNIX только суперпользователь). Если с первым все понятно, то например написав программу и сделать затем ее владельцем, например суперпользователя увы не получится, и хотя вариант изменения владельцем допускается варианта такого применения я честно говоря не нашел. А вот группу, если вы являетесь владельцем файла, можно изменить только на свою первичную (по умолчанию имеет то же название, как и имя соответствующего пользователя). Эти все ограничения введены по нескольким причинам, чтобы никто не мог подсунуть какой ни будь зловредный файл и для того чтобы если на компьютере установлен лимит дискового пространства для конкретного пользователя, нельзя было просто переопределив владельца превысить его.
Следующие базовые операции которые можно совершить над файлом: это доступ на чтение (Read), доступ на запись (Write) и доступ на выполнение (eXecute). Эти операции устанавливаются для каждой из трех групп пользователей раздельно. Причем проделать это может только пользователь владелец и конечно же суперпользователь. Для установки соответствующих прав используется команда chmod. Применяется она в двух формах абсолютной - когда игнорируются старые права, а безусловно устанавливаются новые, и относительной - когда к имеющимся правам добавляются/убираются другие. Абсолютная форма предполагает задание прав доступа к файлу прямым заданием его в восьмеричной форме. Для того чтобы получить полный код необходимого режима файла, необходимо просто сложить значения кодов приведенных в таблице.
Восьмеричный код | Режим файла |
0001 | Право на выполнение для всех |
0002 | Право на запись для всех |
0004 | Право на чтение для всех |
0010 | Право на выполнение для группы |
0020 | Право на запись для группы |
0040 | Право на чтение для группы |
0100 | Право на выполнение для владельца |
0200 | Право на запись для владельца |
0400 | Право на чтение для владельца |
1000 | Включения бита сохранения задачи |
2000 | Если файл выполняемый включения бита SGID |
4000 | Если файл выполняемый включения бита SUID |
Таким образом команда # chmod 755 file устанавливает следующие права доступа, это исполняемый файл, запустить его на выполнение и прочитать содержимое имеют право все (т.е. владелец, группа и остальные), а владелец дополнительно имеет право на изменение содержимого - запись. Это кстати пример задания прав классического cgi сценария.
Относительная форма команды требует конкретного указания классов доступа ('u'- владелец, ‘g'- группа, ‘o'- остальные , ‘a' -все вместе), соответствующие права доступа ('r' - чтение, ‘w' - запись, ‘x' - выполнение) и операцию которую необходимо произвести для списка файлов ('+' добавить , ‘-' удалить, ‘=' присвоить) для соответствующего списка файлов. Например команда # chmod u+w, ug+r, a+x file добавляет дополнительно к имеющимся всем право запустить файл на выполнение, группа и владелец смогут прочесть содержимое, а владелец кроме того и изменить содержание. Да и команда ‘=' относится скорее к абсолютному заданию прав доступа так как устанавливает соответствующие права вместо имеющихся.
Просмотреть соответствующие права доступа, а также владельца и группу можно с помощью команды ls -l:
[sergej@grinder sergej]$ ls -l
итого 2
drwxrwxr-x 2 sergej sergej 1024 Авг 17 09:45 bin
-rw-rw-r- 1 sergej sergej 604 Авг 22 21:07 printenv.pl
Буква ‘d' означает, что это каталог, прочерк ‘-' - обыкновенный файл, ‘l' - символическая связь, ‘b'- блочное устройство, ‘c' - символьное устройство. Исполняемый файл может быть как откомпилированной программой (для его запуска необходимо только право на выполнение) и скриптом. Чтобы запустить на выполнение последний необходимо дополнительно право на чтение, так как программа-интерпретатор должна перед этим его прочитать. Значение прав доступа для различных типов файлов также различно. Вы ведь не забыли, что все остальное: каталоги, устройства, сокеты и именованные каналы тоже являются файлами. Например для последних трех право на выполнение смысла не имеет. Для символических связей они контролируются целевым файлом. Для каталогов они имеют немного другой смысл. Каталог по своей сути файл содержащий имена всех файлов которые содержатся в данном каталоге, а также указатели на дополнительную информацию, позволяющие операционной системе производить необходимые операции. Так вот право на чтение каталога позволяет всего лишь получить только имена файлов, находящихся в данном каталоге. А вот для того, чтобы получить дополнительную информацию, необходимы право на исполнение так, как уже прийдется заглянуть в "метаданные" каждого файла. Также чтобы перейти в какой ни будь каталог (cd) (и все каталоги на пути) необходимо иметь право на выполнение. Поэтому например часто создав каталог для домашней страницы Web-сервера Apache (public_html) и при попытке открыть его http://localhost/~user_name, получаете сообщение о том, что узел не достижим одной из причин является, то что сервер просто не может прочитать содержимое соответствующего каталога и всех каталогов на пути к нему. Кстати из-за наличия этих особенностей можно добиться так называемого эффекта "dark directory". Когда есть возможность создать каталог файлы в котором доступны только если пользователь знает точно имя соответствующего файла. Давайте посмотрим, как создать такой каталог.
[sergej@grinder sergej]$ mkdir darkcat # создаем каталог
[sergej@grinder sergej]$ chmod a-r+x darkcat # устанавливает необходимые права доступа, добавляем исполнение для всех и убираем возможность чтения списка файлов
[sergej@grinder sergej]$ ls -l # маленькая проверка
d-wx-wx-x 2 sergej sergej 1024 Сен 7 15:14 darkcat
[sergej@grinder sergej]$ cp myfile darkcat # копируем файл в каталог
[sergej@grinder sergej]$ cd darkcat # переходим в каталог
[sergej@grinder darkcat]$ ls -l # пробуем прочитать список файлов
ls: .: Permission denied # вот те раз
[sergej@grinder darkcat]$ cat myfile # выводим содержимое файла на терминал
Получилось.
Право на запись для каталога позволяет изменять его содержимое т.е. удалять и записывать файлы, при этом права доступа к конкретному файлу игнорируются.
Еще один момент права на доступ проверяются в такой последовательности: суперпользователь, владелец, группа-владелец и остальные. Отсюда если вы являясь владельце забыли установить для себя право например на запись, но установили его всем остальным и не надейтесь, что сможете записать в него что-нибудь, даже если вы являетесь членом группы, просто потому, что все остальные могут, а вы являетесь владельцем. Система при запросе нужного ресурса проверит кем он запрашивается в приведенной выше последовательности и допустит только к разрешенным операциям, дальнейшая проверка прав просто проводится не будет.
Справедливости стоит отметить, что права доступа имеет не пользователь, а процесс запущенный ним. Не вдаваясь в подробности (я думаю о процессах разговор отдельный), каждый пользователь зарегистрировавшись в системе получает свою копию текущего процесса shell который имеет установленные идентификаторы RID и RGID реальные индетификаторы пользователя и первичной группы пользователя. А все процессы запущенные пользователем (дочерними), которые наследуют все переменные в том числе и RID, RGID. К чему это я собственно. У нас остались не рассмотренными три режима файла: бит сохранения задачи (stisky bit или save text mode), а также флаги SUID и SGID. Со stisky bit все просто, этот бит указывает на необходимость сохранения копии выполняющейся программы в памяти после завершения выполнения. Этот режим позволяет сэкономить время на запуске программы при частом использовании, но в современных системах применение этого режима встречается редко. А вот флаги SUID и SGID позволяют изменить (расширить) права пользователя (группы) запустившего программу на выполнение, на время выполнения программы. Как уже говорилось запущенное приложение имеют права доступа к системным ресурсам такие же, что и пользователь, запустивший программу. А установки этих флагов позволяет назначить права доступа исходя из прав доступа владельца файла. Отсюда если владельцем запущенного приложения является root, то любой независимо кто запустил данное приложение будет иметь права суперпользователя. При этом при установке флага SUID наследуется права владельца файла, а SGID - группы-владельца.
В качестве примера где может применяться это свойство рассмотрим утилиту passwd, которая позволяет изменить пользователю свой пароль. Все учетные записи и пароли (в зашифрованном виде) хранятся в файлах /etc/passwd и /etc/shadow, если предоставить право каждому пользователю на самолично вносить изменения в эти файлы напрямую, то можете представить, что это будет. И естественно вам и не кто и не даст такое право.
[sergej@grinder sergej]$ ls -l /etc/passwd /etc/shadow
-rw-r-r- 1 root root 1628 Авг 13 18:31 /etc/passwd
-r--- 1 root root 1081 Авг 13 18:31 /etc/shadow
Как видите все пользователи имеют право только на чтение файла /etc/passwd, а записывать информацию может только root (а /etc/shadow как вы видите закрыли от всех, чтобы пароли не могли подобрать). Теперь смотрим на утилиту passwd:
[sergej@grinder sergej]$ ls -l /usr/bin/passwd
-r-s-x-x 1 root root 15104 Мар 14 03:44 /usr/bin/passwd
Буква 's' означает, что установлен флаг SUID, а владельцем файла является его величество root и теперь кто бы ни запустил утилиту на выполнение, на время работы программы он временно получает права суперпользователя, т.е. произвести запись в защищенный системный файл. Естественно утилита должна (и делает это) производить изменение учетной записи только запустившего ее пользователя. Как вы понимаете требования по безопасности к программам использующим данный метод должны быть повышены. Это наверное самая большая дыра во всех Unix, потому что найдя ошибку в одной из программ использующих биты SUID/SGID можно производить любые действия не обладая при этом правами суперпользователя. А аксиома программирования говорит, что ошибки будут всегда. Поэтому сейчас где можно пытаются уйти или сильно изменить этот механизм. Да почитайте хотя бы аннотацию к большинству дистрибутивов Linux, там производитель с гордостью сообщает, что такие то программы уже не используют механизм SUID/SGID. Для установки битов SUID/SGID в символьной форме используется буква - 's', sticky bit устанавливается буквой -'t', а с помощью буквы ‘l' можно установить блокировку файла, для устранения возможных конфликтов когда несколько процессов попытаются работать с одним и тем же файлом. И еще один интересный момент.
[sergej@grinder sergej]$ ls -l /
drwxrwxrwt 25 root root 4096 Сен 8 20:08 tmp
Посмотрите, в каталоге /tmp установлен sticky bit. Зачем? Как говорилось предоставление права на запись в каталог позволяет удалять все файлы даже те владельцами которых он не является. Чтобы избежать этого устанавливается sticky bit для каталога и теперь удалить файл может только пользователь создавший его. А при установке бита SGID для каталога, все вновь созданные файлы будут теперь наследовать группу не по пользователю создавшему его, а по группе-владельцу каталога.
А теперь для чего все это собственно я вам рассказываю т.е. о наших швабрах. Представьте такую ситуацию смотрировали CDROM под root и скопировали с него файлы в домашний каталог обычного пользователь, поработали и выключили компьютер. Угадайте на следующий день вы сможете открыть там хоть один файл. Да работать мне целую неделю в Windows если да, а все потому, что владельцем файла окажется все тот же суперпользователь. Это относится и к различным конфигурационным файлам скопированным в домашний каталог (или созданным под root), процесс запущенный обычным пользователем просто не сможет его прочитать и пользоваться вы будете общесистемным, недоумевая почему не вступают в силу настройки произведенные вами. А вот еще ситуация настроили принтер утилитой princonf, под обычным пользователем не печатает. Почему? А потому, что вам не дано право на выполнение. Самый радикальный метод который я встречал в некоторых книгах выглядит так.
[root@grinder sergej]# chmod a+rwx /dev/*
Все получают право на выполнение, чтение и запись и проблема решена, причем проделав сразу для всех файлов данного каталога вы решите ее раз и на всегда. Для домашнего пользователя в принципе такое решение сойдет. Но оно как раз в духе Windows. Более культурный вариант выглядит так.
[sergej@grinder sergej]$ ls -l /dev/lp0
crw-rw-- 1 root lp 6, 0 Апр 11 17:25 /dev/lp0
Видите право на выполнение дано root и членам группы lp, отсюда если нужен принтер добавьте себя в эту группу. Либо прямым редактированием файла /etc/group (sergej:x:500:sergej,gdm,mysql,named,nobody,sound,lp), либо с помощью различных графических утилит вроде System Setting.
Зачем все это?
Например не играет звук. Смотрим.
[sergej@grinder sergej]$ ls -l /dev/dsp
crw--- 1 sergej root 14, 3 Апр 11 17:25 /dev/dsp
Получается что только пользователь sergej будет слушать музыку. Парадокс однако. Пришлось создавать группу sound и добавить в нее себя, сделать владельцем обиженного root'a, а для группы sound определить чтение. Справедливости хотелось отметить, что права доступа это заслуга не только операционной , но и файловой системы ext2. В inode файла внесена вся необходимая информация о соответствующих правах доступа.
Или например на форумах часто спрашивают как сделать чтобы ppp соединение было доступно обычному пользователю. А все просто. Не нужно ничего выдумывать. Ищем пользователя и группу которая имет доступ к этому сервису и добавляем себя любимого. В Ubuntu это группа dip.
Вот и в принципе и все. Бывшего пользователя Windows несколько раздражает такой подход когда собственноручно созданный файл нельзя даже прочитать, но зато такой подход дисциплинирует, лучше всяких запретов. По этой же причине в Linux мало приживаются вирусы, для того чтобы нанести серьезный ущерб системе нужны соответствующие права. Linux forever.
Защита сайта с помощью .htaccess и .htpasswd
Обновлено: 15.01.2025
Автор - Голышев С.В. http://www.softtime.ru
Защита сайта средствами самого сервера Apache является одним из самых простых и в тоже время достаточно надежных способов. В этом случае Вам не нужно досконально продумывать стратегию безопасности, осуществлять ее проектирование и реализацию в коде. К тому же, для того, чтобы создать хорошую систему защиты нужно обладать достаточной квалификацией в этом вопросе. Используя встроенную защиту WEB-сервера Apache, Вы значительно упрощаете себе задачу — все, что Вы должны сделать — это выполнить несложную последовательность действий и Ваш сайт будет в достаточной мере защищен. В данной статье будут подробно описаны шаги и действия, которые Вам необходимо совершить. А в конце статьи будут приведены примеры файлов .htaccess
.
Базовая аутентификация
В данной статье будет рассмотрен самый простой и доступный способ защиты — базовая аутентификация.
Замечание
Аутентификация — процесс, с помощью которого проверяется, что некто является именно тем, за кого он себя выдает. Как правило, проверка включает в себя ввод имени и пароля.
Рассмотрим, как работает базовая аутентификация.
При обращении посетителя в защищаемую директорию, сервер Apache в ответ на запрос посылает заголовок с кодом 401 (401 authentication required header). Браузер посетителя принимает заголовок с кодом 401 и выводит окно с полями для ввода имени пользователя и пароля. После ввода имени и пароля эти данные отсылаются назад серверу, который проверяет имя пользователя на предмет нахождения в специальном списке, а пароль на правильность. Если все верно, то посетитель получает доступ к ресурсу. Вместе с заголовком браузеру посылается специальной имя, называемое областью действия. Браузер кэширует не только имя и пароль, чтобы передавать их при каждом запросе, но и область действия. Благодаря этому, ввод имени и пароля в защищаемой директории осуществляется только раз. В противном случае их необходимо было бы вводить при каждом запросе к защищаемой директории. Кэширование параметров аутентификации (имя, пароль, область действия), обычно осуществляет только в пределах одного сеанса.
Замечание
При базовой аутентификации имя пользователя и его пароль передаются в сеть в открытом виде в течении всего сеанса, когда посетитель работает с защищенной директорией. Хакер может перехватить эту информацию, используя сетевой анализатор пакетов. Данный вид аутентификации не должен использоваться там, где нужна реальная защита коммерческо-ценной информации.
Замечание
WEB-сервер Apache поддерживает еще один вид защиты — digest-аутентификацию. При digest-аутентификации пароль передается не в открытом виде, а в виде хеш-кода, вычисленному по алгоритму MD5. Поэтому пароль не может быть перехвачен при сканировании трафика. Но, к сожалению, для использования digest-аутентификации необходимо установить на сервер специальный модуль - mod_auth_digest. А это находится только в компетенции администрации сервера. Также, до недавнего времени, digest-аутентификация поддерживалась не всеми видами браузеров.
Защита сайта — это просто
Для того чтобы защитить сайт, нужно выполнить следующую последовательность действий: создать файл с паролями, переписать его на сервер, создать файл .htaccess
и тоже переписать его на сервер.
Для организации защиты понадобится.
- WEB-сайт и FTP-доступ к нему.
- Права на создание файлов
.htpaccess
и организацию защиты с помощью них. - Утилита генерации паролей
htpasswd.exe
Проверка работы файла .htaccess на сервере
Для того чтобы проверить есть ли у Вас права на организацию защиты с помощью файлов .htaccess
создайте текстовый файл с именем .htaccess
(первым символом идет точка, расширение отсутствует).
Замечание
Удобно создавать файлы .htaccess с помощью встроенного редактора в оболочках Far, WindowsCommander, TotalCommander и т.п., а также в редакторе Блокнот.
Замечание
Чтобы блокнот не подставлял автоматически расширение txt, в диалоге сохранения в выпадающем списке "тип файла" следует выбрать опцию "Все файлы".
Рис. Сохранение файлов .htaccess
в блокноте
Перед тем как сохранить файл, впишите в него следующие строки:
Проверка работы .htaccess
AuthType Basic
AuthName admin
require valid-user
Затем, через FTP-доступ, перепишите файл .htaccess на сайт, в ту директорию, которую вы хотите защитить.
Замечание
Действие файлов .htaccess распространяется не только на ту директорию, где лежит файл, но и на все поддиректрии, лежащие уровнем ниже.
Далее через браузер обратитесь к этой директории. Если Вы защищаете директорию admin и переписали туда файл .htaccess, то для проверки Вам следует вписать в адресную строку браузера следующий URL: http://www.mysite.ru/admin/.
Если после этого Вам открылся запрос на ввод логина и пароля, как на рисунке ниже, то тестирование прошло успешно и можно продолжать защиту директории.
Рис. Окно ввода логина и пароля
Если вы все сделали правильно, но окошко ввода пароля не появилось, то это значит, что настройки сервера запрещают Вам использовать файлы .htaccess
для защиты директорий. Для решения данного вопроса Вам следует связаться с администрацией сервера, либо использовать другой тип защиты.
После того, как было выяснено, что файлы .htaccess
работают, следует удалить с сайта только что написанный тестовый файл.
Замечание
Если по каким либо причинам Вы не можете удалить файл .htaccess, то создайте пустой файл .htaccess и замените им файл, лежащий на сервере.
Создание файла с паролями .htpasswd
Файл с паролями создается утилитой htpasswd.exe
. Если у Вас на машине установлен WEB-сервер Apache, то данная утилита находится в директории с установленным Apache-ем в подкаталоге bin.
Замечание
Если у Вас не установлен Apache, то утилиту htpasswd.exe можете скачать по ссылке: http://www.softtime.ru/files/htpasswd.zip.
Для работы с утилитой htpasswd.exe необходим интерфейс работы с командной строкой. Интерфейсом работы с командной строкой обладают такие программы как Far, WindowsCommander и т.п. Здесь будет рассмотрена работа с командной строкой с помощью утилиты cmd, которая входит в поставку Windows 2000/XP и т.п.
Нажмите "Пуск"->"Выполнить", введите в строку ввода cmd и нажмите ОК. Вам откроется окно утилиты CMD.
Рис. Окно утилиты CMD
Далее необходимо перейти в директорию, где находится утилита htpasswd.exe
. Допустим, сервер Apache установлен в директории с:/Apache2, тогда введите в командную строку команду: cd../../apache2/bin и нажмите ввод.
Вы перешли в директорию с:Apache2in. Теперь нужно дать команду на создание файла с паролем. Введите в командную строку следующее:
htpasswd -cm .htpasswd admin
- -cm — это ключи для утилиты. Ключ с — указывает, что необходимо создать новый файл с паролями. Если файл с таким именем уже существует, то он будет перезаписан. Ключ m — определяет шифрование по алгоритму MD5.
.htpasswd — имя файла с паролями (можете использовать любое имя).
admin — имя посетителя, которому будет разрешен доступ в закрытую область сайта.
В ответ, должен появится запрос на ввод пароля и его повтор. Если все правильно, то в завершении появится сообщение: Adding password for user admin. И в директории c:Apache2in появится файл .htpasswd, к котором будет находиться строка с именем пользователя и хеш-кодом его пароля. Для того, что бы в тот же файл .htpasswd добавить еще одного пользователя следует убрать ключ -c из команды запуска утилиты htpasswd.exe
htpasswd -m .htpasswd admin
Замечание
Если файл с паролями не был создан, то возможно, некоторые ключи утилиты не поддерживаются в Вашей операционной системе. Например, иногда не поддерживается ключ m. В этом случае, Вам нужно ввести htpasswd -c .htpasswd admin
Для того, чтобы посмотреть ключи и параметры работы утилиты введите htpasswd.exe /? Вам будет выдано описание интерфейса.
Итак, файл с паролями создан. Теперь Вам необходимо переписать его на сервер. Файлы с паролями очень желательно класть выше корневой директории сайта — туда, куда не будет доступа посетителям.
Если это невозможно, то файлы с паролями следует обязательно защитить. Это можно сделать с помощью файлов .htaccess. Чтобы защитить файлы с паролями создайте файл со строками, представленными в следующем листинге.
Защита файлов .htpasswd
<Files .htpasswd>
deny from all
</Files>
И положите его в ту директорию, где находится Ваш файл с паролями. Теперь посетители сайта не смогут получить к нему доступ.
Файл с паролем создан и защищен от несанкционированного доступа. Теперь необходимо создать файл .htaccess, который будет использоваться в защищаемой директории.
Создание файла .htaccess
Для защиты директории могут использоваться следующие директивы:
- AuthType — Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
AuthName — Имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: "Private zone. Only for administrator!"
AuthUserFile — путь к файлу с паролями (.htpasswd).
AuthGroupFile — путь к файлу групп, если он существует.
Require — Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
Пример файла .htaccess
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthGroupFile /usr/host/mysite/group
AuthUserFile /usr/host/mysite/.htpasswd
require group admins
Следует более подробно описать директивы AuthUserFile и AuthGroupFile. В них прописываются абсолютные пути к соответствующим файлам от корня сервера.
Внимание!
Относительные пути работать не будут!
Путь от корня сервера, можно узнать, спросив у администрации сервера, либо можно попробовать выяснить его самим. Для этого выполните функцию phpinfo(). На экран будет выведена фиолетовая таблица. Значение абсолютного пути от корня сервера можно посмотреть в переменных: doc_root, open_basedir, DOCUMENT_ROOT.
Директива Require определяет кому разрешен доступ к закрытой области. Например,
- require valid-user — разрешен доступ всем прошедшим проверку
- require user admin alex mango — разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
- require group admins — разрешен доступ всем пользователям из группы admins
Файлы групп
Если к защищаемой области сайта должна иметь доступ большая группа людей, то удобно объединить людей в группы, и разрешать доступ, определяя принадлежность посетителя к группе.
Формат файла групп очень прост. Это текстовый файл, каждая строка, которой описывает отдельную группу. Первым в строке должно идти название группы с двоеточием. А затем через пробел перечисляются посетители, входящие в группу.
Пример файла групп
Admins: admin alex mango
Users: guest user max23
В группу Admins входят посетители с именами admin, alex, mango. А группу Users входят посетители с именами guest, user, max23.
Примеры файлов .htaccess
Доступ всем пользователям, прошедшим авторизацию
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /usr/host/mysite/.htpasswd
require valid-user
Доступ только пользователям admin и root
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /usr/host/mysite/.htpasswd
require user admin root
Доступ только пользователей из группы admins
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /usr/host/mysite/.htpasswd
AuthGroupFile /usr/host/mysite/group
require group admins
Запрет доступа только к файлу private.zip
<Files private.zip>
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /usr/host/mysite/.htpasswd
require valid-user
</Files>
Xming. Подключение к X-Window Linux из Microsoft Windows
Обновлено: 15.01.2025Ключевые слова: Xming, X-Window, Putty, Ssh
Предисловие
Случилось так, что вместо FreeBSD я поставил CentOS 5.2. Когда я ставлю FreeBSD, то не предполагаю использование оконных интерфейсов, вроде KDE или GNOME. Имхо, во FreeBSD их реализация сделана чуть хуже, чем в Linux, но не важно, я не хочу разводить политических войн. А тут поставил CentOS с KDE. Все сервера стоят у меня в серверной, соответственно, если бы я захотел использовать графические приложения, мне пришлось бы сидеть на табурете в тесной и жаркой комнатухе и… Короче, я решил, что попытаюсь сделать так, чтобы можно было использовать преимущества графического интерфейса Linux, не сидя при этом непосредственно за компьютером.
Из Википедии:
X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с мышью и клавиатурой. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретнного оконного менеджера.
В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).
Поэтому для меня был необходим X-Server для Windows. С его помощью я подключился бы к программе-клиенту на компьютере с Linux в графическом режиме.
Наиболее удобным оказался бесплатный Xming X Server.
Xming X Server
Веб-страница проекта: http://www.straightrunning.com/XmingNotes/
Скачать можно отсюда: http://sourceforge.net/project/showfiles.php?group_id=156984
Для создания защищенного соединения между Linux и Windows-компьютерами нам потребуется ssh, благо в нем есть все нам необходимое и он бесплатен. По этому соединению будут «общаться» X-сервер на Windows и графическая программа-клиент на Linux.
На любом компьютере с Linux есть запущенный ssh-сервер. Если у вас это не так – вы – исключение и вам надо установить openssh-сервер на вашем Linux-компьютере.
На компьютере с Windows нам потребуется клиент ssh, например, putty.
Настройка putty
Меню Connection -> SSH -> X11:
Здесь 192.168.0.10 – адрес компьютера, с которого мы подключаемся к Linux.
При соединении по ssh к Linux часто бывает, что кодировки отличаются, например, это может сказываться на отображении русских букв или псевдографики, например, при запуске в консоли файлового менеджера mc. Или, в нашем случае, это может повлиять на отображение программ Linux на нашем Windows-компьютере. Для уменьшения вероятности таких проблем изменим кодировку в putty на UTF-8:
В конце вводим ip-адрес Linux компьютера, сохраняем настройки putty и соединяемся:
Вот, теперь установим и настроим Xming
Установка и настройка Xming
Скачиваем файл Xming-6-9-0-31-setup.exe (на 26.02.09 я скачал эту версию). Запускаем.
Указываем, в каком виде желаем работать с программами-клиентами:
Далее предлагается настроить запуск собственной версии ssh, либо использовать соединение, устанавливаемое вручную. Я предпочитаю все ручками, поэтому выбираю верхний вариант (устанавливать соединение самим):
Далее мы можем добавить корректирующие настройки:
В поле «Addtional parameters for Xming” можем вписать следующее (нашел в интернете):
"-dpi 96" - уточняем размер шрифтов.
"-xkblayout us,ru" - для работы с двумя раскладками клавиатуры.
"-xkbvariant basic,winkeys" - уточнение раскладок.
Полный список (но без нормальных комментариев) есть на странице http://www.straightrunning.com/XmingNotes/manual.php.
Жмем далее, «Save configuration», «Готово». Все, настройка закончена, значок Xming висит в трее и ждет подключений со стороны Linux. Не дадим ему долго ждать и в окне сессии ssh, открытой нами ранее, вводим, например, «system-config-network &». Знак «&» пишется через пробел для того, чтобы запускаемое приложение работало в фоновом режиме.
Если все прошло нормально, вы увидите окно:
Ну вот и все, все как всегда не очень сложно, бесплатно и безопасно!
PS: Значения параметров Xming взяты с сайта: http://debback.blogspot.com/2008/03/linux-windows-xming-ssh.html
Запуск программ от имени администратора из-под ограниченной учетной записи
Обновлено: 15.01.2025Любой системный администратор сталкивался с ситуацией, когда бухгалтеру нужно поставить какую-нибудь программу, которая работает только под админом, например, банк-клиент. И часто из всех подходящих способов остается только дать админа и молиться, чтобы бухгалтерша не полезла шариться по форумам и пр. в поисках всякой полезной малвари.
Вариант создания ограниченной учетной записи и выдача пароля от админской учетной записи неудобен по нескольким соображениям:
1) Вводить пароль каждый раз будет неудобно (уж не помню, почему, но от ключа «/savecred» команды «runas» я отказался).
2) Факт владения паролем от админки(!) для бухгалтерши(!!!) открывает ей путь для волшебства. Аськи, плагины и прочие, недоступные ранее радости, теперь доступны. Естественно, это сразу отразиться на работе компьютера.
Выходом из сложившейся ситуации стала программа AdmiLink, создающая ярлык для запуска программы от имени какой-либо учетной записи, введенной ранее. Программа с русским интерфейсом, бесплатная и очень простая в использовании. Приведу цитату с сайта автора:
«AdmiLink - утилита, при помощи которой Администратор может создать ярлык, дающий возможность пользователям с ограниченными правами запускать конкретную (без возможности подмены!) программу с правами Администратора (или любого другого пользователя) без (интерактивного) ввода пароля.
Типичным применением программы AdmiLink является администрирование защищенных систем, в которых пользователь работает в основном под своей ограниченной учетной записью, и только отдельные, строго ограниченные Администратором функции запускает под Администратором, не зная его пароля и не имея возможности запускать другие, несанкционированные программы»
Запуск программ под администратором в Windows 7
Совершенно случайно (см. комментарии kpcp) я узнал, что Admilink при работе в Windows 7 может выдавать ошибку при попытке запуска созданного ярлыка для какой-нибудь программы, которую мы хотим выполнить под админом.
Выглядит это так (здесь и далее скрины и идея с oszone.net):
Происходит это из-за проблем с пресловутым "Контролем учетных записей пользователя" (User Account Control или UAC). Кто-то отключает UAC, но я не стал, все-таки лишний контроль не помешает.
Ладно, а как жить дальше-то? Решение не обычное, сразу сам бы не додумался, наверное:
Нам будет нужна утилита Elevate от Johannes Passing. Эта утилита из командной строки запустит нашу программу, которой нужны права администратора и у которой есть проблемы с поддержкой UAC:
> "C:AdminElevateReleaseElevate.exe" "C:EVERESTPORTABLEEVERESTULTIMATEPORTABLE.exe"
Выведется запрос UAC и приложение запустится от имени администратора.
Вот как это будет выглядеть в программе Admilink:
Вот так вот, желаю всем удачи! Большое спасибо автору программы и замечательной статье на oszone.net, в которой описан способ работы Admilink в Windows 7. Надеюсь, программа поможет многим!
Да, чуть не забыл, сайт программы http://www.crw-daq.ru/ или сразу руководство по установке.
Download Master и ClamWin - безопасный дуэт
Обновлено: 15.01.2025Традиционно считается, что такие продукты, как Касперский, NOD, Symantec и им подобные настолько превосходят более слабые некоммерческие проекты, что последние тихо отдыхают и работают в основном на почтовых серверах FreeBSD или Linux, да и то не всегда, настолько сильна вера в клиентские "интегрированные" "тяжеловесы".
Но, как многие также знают, каждый антивирус обладает своими особенностями, которые отличают его от конкурентов, и вполне возможна ситуация, когда один антивирус не обратит внимания на тот файл, который другой посчитает инфицированным.
Также известен факт, что установить на один компьютер Касперского и, скажем, NOD, без "бубнов" и прочих примудростей не выйдет (а если и выйдет, то проактивная защита все равно будет работать криво).
Теперь представим, что есть некий человек, который активно качает "всяко-разно" из интернета, музыку там, видео... У него установлен тот же NOD, Ad-Aware и Outpost. И пусть человек этот - параноик (хотя даунлоадеров-параноиков по Дарвину быть не должно) и он хочет дополнительно проверять скачиваемые файлы каким-либо другим антивирусом, желательно, в автоматическом режиме, и, желательно, не оплачивая вторую-третью-и-так-далее лицензии разных крупных антивирусов, которые все равно вместе "не дружат". На помощь можно призвать тех самых неброских бесплатных антивирусов без навороченной проактивной защиты, но активно поддерживаемых и регулярно обновляемых сообществом. Например, ClamWin.
ClamWin, свободный антивируcный сканер для платформ Microsoft Windows 98/Me/2000/XP/2003/Vista. Он обеспечивает графичеcкий интерфейс пользователя к программе ClamAV, одного из крупных представителей бесплатных антивирусов. Сайт http://ru.clamwin.com/. О возможностях этого антивируса вы можете прочесть на его странице (прямо на первой странице), а мы продолжим. Скачиваем, устанавливаем, обновляемся. Ок, теперь наш компьютер имеет еще один антивирус. Здорово, но он он не резидентный антивирус, а посему файлы сам проверять не станет.
Скачивать файлы можно разными качалками, среди которых Download Master можно выделить двумя моментами: 1) бесплатность 2) возможность подключить внешний антивирус для автоматической проверки скачиваемых файлов. Уже поняли, к чему это я? Идем на http://www.westbyte.com/dm/, качаем последнюю версию и устанавливаем ее. Кроме многих фишек (типа скачивания видео с youtube), нас интересует меню "Инструменты" - "Настройки" - "Автоматизация" - "Антивирус".
Отмечаем галочку "Проверять файлы на вирусы после закачки", в поле "Антивирусная программа" пишем:
C:Program FilesClamWininclamscan.exe (это путь для ClamWin по-умолчанию),
в поле "Параметры" пишем:
--database="C:Documents and SettingsAll Users.clamwindb" --move="C:Documents and SettingsAll Users.clamwinquarantine" [FileName]
Жмем OK. Все, теперь файлы, которые будут скачиваться этой программой, будут проверяться, в дополнение к основному антивирусу, антивирусом ClamWin. Проверить действие антивируса можно, попробовав скачать тестовый вирус eicar со страницы http://www.eicar.org/anti_virus_test_file.htm. Например, eicar.com. При этом этот файл должен будет быть перемещен в директорию "C:Documents and SettingsAll Users.clamwinquarantine". Опции командной строки можете посмотреть через cmd, запустив "clamscan.exe --help". Удалять файл, детектированный как вирус, не обязательно, ведь это может быть ложным срабатываением, ведь вы можете, например, качать RAdmin или, не дай Бог, кряк ;). А эти "господа" вполне могут быть обработаны как вирус.
Ну вот, в кратце, все, всякие нюансы проще смотреть вам самим, т.к. если уж вы читаете эту заметку, то наверняка сами разбираетесь в настройках всяких там программулек :)
PS: К тому же ClamWin можно настроить на периодическую проверку системы, на проверку почты в Outlook, The Bat (с помощью бесплатного плагина http://mark0.net/plugins-tb-tbclamwin-e.html). Спи спокойно, параноик ;)
Таблица настройки правил брандмауэров
Обновлено: 15.01.2025Application or Service | what is it? | TCP UDP | _local_ | remote | dire-ction | _зачем_? | Specific rules, ICMP | |||
DHCP | Dynamic Host Configuration Protocol. Автоматическая настройка IP и др. сетевых параметров | UDP | 68 | 67 | both | settings request +answer | ||||
DNS | Сервис соответствия доменного имени IP-адресу
(RU-Board.com -> 207.44.160.93) |
TCP, UDP | 1024-5000 | 53 | both | IP request + response | ||||
ntoskrnl .exe | Cистемный модуль ядра NT. Передача файлов из/в расшаренные папки | TCP
UDP |
1024..5000
137. 138 |
139
137. 138 |
out
both |
NetBIOS session service
NetBios overTCP/IP |
| |||
ntoskrnl .exe | оно же через CIFS (Common Internet File System) | TCP, UDP | 445 | 445 | both | win2k+ аналог NetBIOS/TCP | поправьте меня, если я не прав | |||
browser | IE, Opera, Mozilla | TCP | 1024..5000 | 80, 443, 8080, 8100 | out | http(s) web-servers | ||||
FTP-clients | active mode | TCP
TCP |
1024-5000
1024-5000 |
20
21 |
in
out |
data transmission
ftp requests |
||||
FTP-clients | passive mode. Соединения для данных инициируются клиентом | TCP | 1024-5000 | 21, 1024-65535 | out | FTP requests+ transmission | ||||
ICQ | internet messenger | TCP | 1024-5000 | 443 or 5190 | out | 443 - с шифрованием | можно обозначить IP login.icq.com = 64.12.161.153 | |||
IRC | internet messenger | TCP | ?
113 |
6660-6670
? |
out
in |
IRC connection
IRC AUTH connection |
||||
почтовая программа-клиент (Outlook, The Bat и др.) | TCP | 1024-5000 | 25, 110, 143, 993, 995 | out | 25 - SMTP-сервер (отправка)
110 - POP3-сервер (прием) 143 - IMAP (замена POP3) 993 - secure IMAP 995 - secure POP3 |
comment: почтовый сервер может использовать отличные от 25 и 110 порты. RTFM | ||||
Emule & Co | файлообменник | TCP | 4662,4711, 4712
any |
any
1025-65535 |
in
out |
response (?)
request (?) |
поправьте меня, если я не прав | |||
Emule & Co | файлообменник | UDP | 4665,4672, 4673
any |
any
1025-65535 |
in
out |
response (?)
request (?) |
поправьте меня, если я не прав | |||
Bittorent | качалка, hispeed Р2Р, с центральным сервером (трекер) | TCP | 1024-5000
6881-6889 |
any (?)
any (?) |
out
in |
(?)
(?) |
||||
Radmin Viewer | Remote Administrator | TCP | any | 4899 (or server-defined. RTFM) | out | connect to Radmin-server | ||||
Radmin Server | Remote server | TCP | 4899 (or serv-defined. RTFM) | any | both | connect to client | ||||
Languard & Co | сканеры сетей | TCP, UDP
UDP |
any
any |
any
any |
out
in |
скан
- |
Allow ICMP out | |||
Novel client | NetWare application (инфо) | TCP, UDP | 1024-65535
427 |
524
427 |
out
both |
NCP Requests
SLP Requests |
||||
MSN | Windows Messenger | TCP | 1024-65535 | 1863,6891-6901 | out | - | Block Incoming Fragment, Block Incoming Conection | |||
Time Sync | синхронизация времени | UDP | 123 | 123 | both | - | Block incoming fragment | |||
LAST RULE | Block any other connection | TCP UDP | any | any | any | все остальные пусть не лазят в сеть | ICMP block |
*относительно диапазона локальных TCP портов (1024-5000)- 5000 значение по умолчанию, на NT based может быть изменено
ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters |-> MaxUserPort | тип DWORD | valid значения 5000-65534
Таблица взята с сайта ru-board. Данные из таблицы могут быть неприемлемыми для вашего брандмауэра по разным соображениям, пожалуйста, старайтесь трезво оценивать ваши потребности и соответсвенным образом настраивать правила :)
Настройка OpenVPN
Обновлено: 30.10.2020Нам надо соединить удаленного сотрудника к рабочей сети. Это делается в том числе с помощью VPN, в нашем случае, OpenVPN. Это бесплатный, достаточно надежный и не очень сложный в настройке сервер и клиент VPN.
OpenVPN - настройка в Windows и Linux
Обновлено: 30.10.2020OpenVPN является реализацией технологии VPN с использованием протокола SSL/TLS. С его помощью можно поднять надежный, достаточно быстрый и в то же время защищенный от прослушивания и вмешательства злоумышленников криптотуннель поверх общедоступной сети, такой как интернет. В двух словах схему работы этого приложения можно описать следующим образом: любой сетевой трафик, посылаемый или принимаемый сетевым адаптером, инкапсулируется в зашифрованный пакет и доставляется в другой конечный пункт туннеля OpenVPN, где данные расшифровываются и попадают в удаленную сеть.
Это статья старая. Ссылка на актуальную статью по настройке OpenVPN.
Утилита командной строки rundll32.exe
Обновлено: 15.01.2025Источник: http://www.goldfaq.ru/
Windows имеет в своем составе утилиту командной строки rundll32.exe, которая позволяет запускать некоторые команды-функции, заложенные в DLL-файлах. Вообще-то данная утилита была разработана для внутреннего пользования программистами Microsoft. Но богатые возможности этой программы дало повод на всеобщее использование пользователями. Список команд слишком обширен.
Приведем список наиболее значимых команд (в котором найдете ОЧЕНЬ интересные команды, ну а как их использовать, думайте сами!).
* rundll32 shell32.dll,Control_RunDLL hotplug.dll - диалоговое окно Отключение или извлечение аппаратного устройства
* rundll32 diskcopy,DiskCopyRunDll - вызов диалога "Копирование диска".
* rundll32 keyboard,disable - отключение клавиатуры, действует до следующей перезагрузки.
* rundll32 mouse,disable - отключение мыши вплоть до перезагрузки.
* rundll32 krnl386.exe,exitkernel - выгрузить ядро системы, выход из Windows.
* rundll32 mshtml.dll,PrintHTML "HtmlFileNameAndPath" - распечатать документ HTML, где "HtmlFileNameAndPath" - путь к файлу и его имя.
* rundll32 мсprint2.dll,RUNDLL_PrintTestPage - распечатать тестовую страницу на принтере.
* rundll32 netplwiz.dll,AddNetPlaceRunDll - вызов мастера подключения нового сетевого ресурса "Добавление в сетевое окружение".
* rundll32 rnaui.dll,RnaWizard - вызов мастера "Удаленный доступ к сети".
* rundll32 rnaui.dll,RnaWizard /1 - вызов мастера "Удаленный доступ к сети" без отображения начального окна.
* rundll32 shell,ShellExecute - открыть Проводник (папка "Рабочий стол").
* rundll32 shell32,Control_RunDLL - открыть в Проводнике папку "Панель управления".
* rundll32 shell32,Control_RunDLL appwiz.cpl,,n - вызов диалогового окна "Установка и удаление программ", в котором будет открыта вкладка с номером "n" (от 1 до 3).
* rundll32 shell32,Control_RunDLL main.cpl @0 - открыть диалог "Свойства мыши".
* rundll32 shell32,Control_RunDLL main.cpl @1 - открыть диалог "Свойства клавиатуры".
* rundll32 shell32,Control_RunDLL main.cpl @2 - открыть папку "Принтеры".
* rundll32 SHELL32,SHHelpShortcuts_RunDLL PrintersFolder - открыть папку "Принтеры" (другой способ).
* rundll32 shell32,Control_RunDLL main.cpl @3 - открыть папку "Шрифты".
* rundll32 SHELL32,SHHelpShortcuts_RunDLL FontsFolder - открыть папку "Шрифты" (другой способ).
* rundll32 SHELL32,Control_RunDLL modem.cpl, add - открыть диалог "Свойства модема".
* rundll32 shell32,Control_RunDLL timedate.cpl - открыть диалог "Дата и время".
* rundll32 shell32,OpenAs_RunDLL - вызвать диалог "Открыть с помощью...".
* rundll32 shell32,ShellAboutA WINHOWTO.RU - информация о версии Windows.
* rundll32 shell32,SHExitWindowsEx 0 - закрыть все программы, перегрузить оболочку.
* rundll32 shell32, SHExitWindowsEx 1 - выключить ПК.
* rundll32 SHELL32, SHExitWindowsEx -1 - перегрузить оболочку Windows.
* rundll32 shell32, SHExitWindowsEx 2 - перегрузить ПК.
* rundll32 shell32,SHExitWindowsEx 4 - принудительно закрыть все программы.
* rundll32 shell32,SHExitWindowsEx 8 - выход из Windows и выключение ATX-совместимого ПК.
* rundll32 shell32,SHFormatDrive - вызов диалога форматирования диска А:.
* rundll32 SHELL32,SHHelpShortcuts_RunDLL AddPrinter - запуск "Мастера установки принтера".
* rundll32 shell32,SHHelpShortcuts_RunDLL Connect - запуск мастера подключения сетевого диска.
* rundll32 SHELL32,SHHelpShortcuts_RunDLL PrintTestPage - распечатать тестовую страницу.
* rundll32 sysdm.cpl,InstallDevice_Rundll - вызов мастера установки оборудования.
* rundll32 url.dll,FileProtocolHandler %1 - открыть веб-страницу, где %1 - URL сайта (включая http://).
* rundll32 url.dll,MailToProtocolHandler %1 - создать новое письмо, где %1 - e-mail адресата.
* rundll32 user,CASCADECHILDWINDOWS - расположить все окна каскадом.
* rundll32 user,TILECHILDWINDOWS - расположить все окна по экрану.
* rundll32 user,disableoemlayer - сбой системы (!) - выключить все функции ввода-вывода
(клавиатура, дисплей, мышь). В результате будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.
* rundll32 user,ExitWindowsExec - быстрая перезагрузка Windows.
* rundll32 user,RepaintScreen - выполнить команду "Обновить".
* rundll32 user,SetCaretBlinkTime n - задать частоту мигания курсора, соответствующую значению параметра n.
* rundll32 user,SetCursorPos - переместить курсор мыши в верхний левый угол экрана.
* rundll32 user,SetDoubleClickTime n - задать скорость двойного нажатия левой кнопки мыши (Double Click), соответствующую параметру n.
* rundll32 user,SwapMouseButton - поменять местами клавиши мыши (обратная смена невозможна).
* rundll32 user,WNetConnectDialog - вызов диалога "Подключение сетевого диска".
* rundll32 user,WNetDisconnectDialog - вызов диалога "Отключение сетевого диска".
* rundll32 AppWiz.Cpl,NewLinkHere %1 - запуск мастера создания нового ярлыка, где %1 - путь к исходному файлу.
Некоторые из этих команд пригодились мне, когда обновлял Internet Explorer до версии 7 на Windows XP, при этом произошел какой-то сбой и в систему мне войти не удавалось, но можно было через три клавиши запускать приложения и программы из командной строки. Пригодилась команда "rundll32 shell32,Control_RunDLL appwiz.cpl,,n" - вызов диалогового окна "Установка и удаление программ". Я просто удалил IE7 и все заработало как и было. Это я привел пример моего конкретного случая, у вас их может быть гораздо больше. Удачи и не бойтесь консоли, она приятная на ощупь, вся до последней клавиши!
Источник: http://www.diwaxx.ru/win/rundll32.php
Миграция с sendmail на exim + saslauthd
Обновлено: 15.01.2025Переход с sendmail на exim трудностей вызывать не должен. Общие рекомендации - сделать бэкап юзерской почты, находящейся в /var/mail/.
В данном случае, рассматривается вариант миграции с использованием системных пользователей, как оно обычно и бывает. Ибо если вы докатились до sendmail и LDAP, например, то он вам явно вштырил, и необходимости в миграции у вас нет. Для авторизации отправителей будем использовать saslauthd.
Итак, добавляем такие строки в файл /etc/make.conf:
|
После чего обновляем порты, и устанавливаем exim:
|
Следом, ставим ClamAV, если он у вас не стоит:
|
Вылазиет синенькое окошко, где ничё не надо выбирать. После установки, топаем править файл /etc/mail/mailer.conf до такого состояния:
|
После чего рихтуем конфиг exim:
|
Ну а затем запускаем exim, и убиваем sendmail:
|
Затем запускаем ClamAV и его обновлялку:
|
Собственно вот и всё. Конфиг самого экзима практически аналогичен тому, что используется в статье про exim и системных пользователей. При желании, в дальнейшем, можно извернуться и использовать и системных и виртуальных пользователей - не так сильно всё усложниться.
Автор: http://www.lissyara.ru
Последние комментарии
Популярно:
Разделы статей:
Подскажите. подключение с ПК все работает все ок. Делал по вашей мурзилке.
Но при подключе...