WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Шифрование данных это бесценная возможность, которая сильно увеличивает
конфиденциальность работы. Утилиты, подобные GnuPG, делают намного больше,
чем просто шифруют почтовые сообщения. Они могут быть использованы для всех
видов шифрования данных и их использование может быть ограничено только Вашей
фантазией. RPM-пакет GnuPG уже может быть инсталлирован на Вашем компьютере,
но эта версия не является последней и поэтому мы рекомендуем инсталлировать
последний релиз, соответствующий Вашему серверу и архитектуре CPU. Согласно официальному README-файлу пакета GnuPG: GnuPG это GNU-утилита для безопасной передачи информации и хранения
данных. Она может быть использована для шифрования данных и создания цифровых
сигнатур. GnuPG включает продвинутый менеджер ключей и совместима с OpenPGP
Internet-стандартом, описанным в RFC2440. Так как GnuPG не использует
каких-либо патентованных алгоритмов, она не может быть совместима с PGP2. PGP
2.x использует только IDEA (запатентован) и RSA (который был запатентован в
США до 20 сентября 2000). Эти инструкции предполагают. Пакеты. Пакеты. После инсталляции: Для получения списка установленных файлов: Раскройте архив: Переместитесь в новый каталог GnuPG и выполните следующие команды: Команда make компилирует исходные коды в исполняемые двоичные файлы,
команда make check запускает все тесты, входящие в пакет, команда make
install инсталлирует исполняемые и сопутствующие им файлы в определенный
каталог. Команда strip будет уменьшать размер,
увеличивая производительность программы. Очистка после работы.
Команда rm, использованная выше, будет удалять все исходные коды,
которые мы использовали при компиляции и инсталляции GnuPG. Она также
удалит архив .tar.gz. Ниже приведены команды из тех, что мы часто используем в регулярной
работе, но их существует много больше. Читайте страницы руководства (man)
для получения большей информации. Прежде всего, если мы используем GnuPG в первый раз, для включения
возможностей шифрования необходимо создать новую пару
ключей (публичный и персональный). Шаг 1.
Для создания новой пары ключей используйте следующую команду: Шаг 2.
Мы вновь запускаем GnuPG следующей командой: Новая пара ключей (общедоступный и личный) успешно созданы в домашнем
каталоге пользователя root (~/root). Как только мы создали нашу пару ключей, мы можем начать добавлять в нашу
публичную базу ключей все ключи, которые мы получили от третьих лиц, чтобы в
будущем использовать их для шифрования и опознания связи. Для импортирования публичных ключей в базу данных
ключей используйте команду: Например: Вышеприведенная команда будет добавлять все новые ключи в базу данных и
будет обновлять все уже существующие ключи. Важно заметить, что GnuPG не
импортирует не самоподписанные (self-signed) ключи. В вышеприведенном примере
мы импортируем файл redhat.asc, содержащий публичный ключ компании Red Hat,
взятый с Интернет-сайта Red Hat. Когда Вы импортировали ключи в свою базу данных публичных ключей и Вы
точно уверенны, что третье лицо, чей ключ Вы положили, действительно то, за
кого себя выдает, Вы можете подписать этот ключ. Подписание ключа
удостоверяет, что Вы точно знаете его владельца. Для подписания ключа компании Red Hat, который Вы добавили
выше, используйте команду: Например: ЗАМЕЧАНИЕ. Вы должны подписывать ключ только когда абсолютно
уверены, что ключ действительно настоящий! Вы никогда не должны подписывать
ключ, базирующийся на любых предположениях. После инсталляции, импортирования, подписания и конфигурирования мы
можем начать шифровать и расшифровывать данные. Для шифрования и подписания данных для пользователя RedHat, ключ которого
мы добавили выше, используйте следующую команду: Например: Аргументы, которые использовались, обозначают следующее: s подписание
(уменьшение риска что кто-то попытается представиться Вами, очень полезно
подписывать все, что Вы шифруете), e шифрование, a создание ASCII-защищенного
вывода (.asc-файлы, готовые для отправки по почте), r шифрование имени
идентификатора пользователя и <file> это сообщение, которое
Вы хотите зашифровать. Для расшифровки данных используйте следующую команду: Например: Где -d означает расшифровку и <file> сообщение, которое Вы хотите
расшифровать. Важно, чтобы публичный ключ отправителя сообщения, которое
мы хотим расшифровать, был в нашей базе ключей, или ничего работать не будет.
Вы можете расширить Ваши горизонты экспортируя и распространяя свой
публичный ключ. Это можно сделать, публикуя его на Вашей домашней странице,
через доступные серверы ключей в Интернете или другими способами. GnuPG имеет
несколько полезных опций, чтобы помочь Вам опубликовать публичный ключ. Для извлечения Вашего публичного ключа в ASCII-защищенный
вывод используйте команду: где --export для извлечения Вашего публичного ключа из зашифрованного
файла, --armor создать ASCII-защищенный вывод, который Вы можете
отправлять, публиковать или выкладывать на веб-странице, а >Public-key.asc
говорит, что результат надо поместить в файл с именем Public-key.asc. Когда Вы извлекли публичный ключ и экспортировали его, каждый, кто знает
или получит его, может захотеть убедиться, что полученные от Вас данные
действительно от Вас. Для проверки сигнатуры зашифрованных данных используйте команду: Опция --verify будет проверять сигнатуру, а <Data> зашифрованный
файл, который Вы хотите проверить. GnuPG может быть использован для: Квота это административная утилита для мониторинга и ограничения
использования дискового пространства пользователями и группами на каждой
файловой системе. Существует два возможных способа ограничения использования
дисков. Первый, это число inode (число файлов), которым может владеть
пользователь или группа. Второй, число дисковых блоков (суммарное
пространство в килобайтах), которое может выделяться в использование
пользователю или группе. При помощи квот, системный администратор принуждает
пользователя не расходовать неограниченный объем дискового пространства. Эта
программа оперирует отдельно каждым пользователем и каждой файловой системой,
поэтому для каждой файловой системы нужно определять квоты отдельно. Первое, что Вам необходимо сделать, это создать ядро с поддержкой квот. В
ядре 2.2.14 надо удостовериться, что Вы ответили Y на вопрос: ЗАМЕЧАНИЕ. Если при компиляции ядра Вы руководствовались
соответствующей главой из этой книги, то поддержка квот у Вас включена. Файл /etc/fstab содержит информацию обо всех файловых системах,
инсталлированных на Вашем Linux-сервере. Квоты должны быть включены в нем,
чтобы их можно было использовать. Так как квоты должны быть определены для
каждой файловой системы независимо, и каждая файловая система описывается в
файле /etc/fstab в отдельной строке, то квота должна быть установлена для
каждой строки, где Вы хотите включить их поддержку. Используя программу
квотирования, в зависимости от Ваших нужд, Вы можете включить квоты только
для групп, пользователей или тех и других одновременно. Для всех
нижеприведенных примеров мы используем каталог /home, размещенный в
разделе /dev/sda6. Возможность 1.
Для включения квот для пользователей на определенной файловой системы,
отредактируйте файл /etc/fstab (vi /etc/fstab) и добавьте опцию "usrquota" в
четвертое поле после слова "defaults" или любой другой опции. Например: Должен будет читаться: Возможность 2. Для включения квот для групп на определенной файловой системы,
отредактируйте файл /etc/fstab (vi /etc/fstab) и добавьте опцию "grpquota"
в четвертое поле после слова "defaults" или любой другой опции. Например: Должен будет читаться: Возможность 3.
Для включения квот для пользователей и групп на определенной файловой
системы, отредактируйте файл /etc/fstab (vi /etc/fstab) и добавьте опции
"usrquota, grpquota" в четвертое поле после слова "defaults" или
любой другой опции. Например: Должен будет читаться: После модификации файла /etc/fstab, чтобы квоты начали действовать, в
корневой каталог соответствующей файловой системы (например, /home)
помещается файл quota.user, если Вы хотите использовать пользовательские
квоты, quota.group, для групповых квот, или тот и другой для комбинированных
квот. Владельцем обоих файлов всегда является root. Шаг 1. Для создания файлов quota.user и/или quota.group, как root перейдите в
корневой каталог раздела, где Вы хотите активизировать квоты (например,
/home), и создайте файл quota.user и/или quota.group, для этого
выполните следующие команды: Команда touch будет создавать новые пустые файлы в каталоге home с именами
quota.user и quota.group. Команда chmod будет устанавливать права доступа к
этим файлам на чтение-запись только для root. ЗАМЕЧАНИЕ. Оба файла quota.user и quota.group, должны принадлежать
root, с правами на чтение-запись только для владельца. Шаг 2.
Сейчас мы должны инициализировать файлы quota.user и quota.group в
корневом каталоге файловой системы, чтобы не получать сообщений об ошибках о
квотах во время перезагрузки сервера. Для инициализации файлов quota.user и/или quota.group,
используйте следующие команды: Вышеприведенные команды необходимы только для инициализации файлов
quota.user и/или quota.group, команда edquota (-u) будет редактировать
квоты для пользователя wahib, а (-g) будет редактировать квоты для группы.
Заметим, что Вы должны редактировать существующие в Вашей системе UID/GID,
чтобы инициализация файлов прошла успешно. Шаг 3.
После того как Вы закончили устанавливать необходимые опции в файле
/etc/fstab, создали и инициализировали файлы quota.users и/или quota.group,
Вы должны перезагрузить систему, чтобы внесенные изменения в файлы
/etc/fstab, quota.user и/или quota.group вступили в силу. Для перезагрузки
системы используйте следующую команду: После того, как система перезагрузилась, Вы можете назначить квоты
пользователям и группам пользователей. Это операция осуществляется при
помощи команды edquota. Edquota это редактор квот, который создает временный файл с текущими
дисковыми квотами, используемый пользователем root для их установки для
пользователей и групп пользователей. Нижеприведенный пример покажет как
установить квоты для пользователя и группы пользователей. Предположим, для примера, что у Вас есть пользователь с именем wahib.
Следующая команда вызывает редактор vi, чтобы изменить и установить квоты для
пользователя wahib на каждый раздел, где включены квоты: Шаг 1
Для редактирования и модификации квот для пользователя wahib
используйте следующую команду: После выполнения этой команды, Вы увидите на экране строки, связанные с
пользователем wahib: "blocks in use:" отображает общее число блоков (в
килобайтах), расходуемых пользователем на разделе, "inodes in use:"
отображает общее число файлов, которое имеет пользователь на разделе. Эти
параметры (blocks in use и inodes in use) контролируются и устанавливаются
автоматически системой, и Вы не можете установить или изменить их. Шаг 2
Назначим 5 MB квоту для пользователя wahib, изменив следующие
параметры в редакторе vi: Должнор будет читаться: soft limit (soft=) определяет максимальное количество дискового
пространства, которое пользователь может иметь. hard limit (hard=) определяет
абсолютное ограничение использования пользоватлем дискового пространства.
Пользователь не может превзойти его. Следует заметить, что hard limit
работает только, когда установлен параметр grace period. Параметр grace period позволяет Вам установить время, прежде чем значение
soft limit будет приведено в жизнь на файловой системе с включенными квотами.
Например, этот параметр может быть использован для предупреждения
пользователей о новой политике, которая установит дисковую квоту в 5 MB на их
домашний каталог через 7 дней. Вы можете установить это значение в 0 дней (по
умолчанию) для любого отрезка времени. Чтобы изменить это требуется два
следующих шага (в моем примере я принимаю 7 дней). Шаг 1.
Редактируем значение по умолчанию параметра "период любезности" (grace
period), используя следующую команду: Шаг 2.
Модифицируем "период любезности" (grace period) до 7 дней. Измените или
установите следующие параметры в редакторе vi: Должно будет читаться: Замечание. Команда edquota -t редактирует параметр soft time
limits для каждой файловой системы с включенными квотами. Предположим, например, что у Вас есть группа с именем webusers. Следующая
команда вызовет редактор vi для редактирования квот для группы webusers на
каждой файловой системе, где квоты вообще разрешены: Процедура такая же, как и при назначении квот для пользователей, как
описано выше, Вы должны модифицировать параметр soft= и записать изменения.
Программа edquota имеет специальную опцию (-p), которая назначает квоты
для групп пользователей с некоторым значением, назначенным при инициализации
пользователя. Допустим, Вы хотите назначить пользователям UID, которых
начинаются с 500, то же значение, что и для пользователя wahib. Сперва, мы
редактируем квоты для пользователя wahib, а затем
выполняем следующую команду: Программа edquota будет дублировать квоты, которые установлены для
пользователя wahib, на всех пользователей с UID больше 499 из
файла /etc/passwd. Чтобы получить больше информации, читайте следующие страницы руководства:
$ man edquota (8) редактирование пользовательских квот Ниже приведены команды из тех, что мы часто используем в регулярной
работе, но их существует много больше. Читайте страницы руководства (man) для
получения большей информации. Quota выводит информацию об использовании диска и
ограничениях в файловой системе. Для получения информации об использовании диска и ограничениях
пользователя wahib используйте команду: Для получения информации о групповых квотах группы, членом которой
является пользователь используйте команду: ЗАМЕЧАНИЕ. Если групповые квоты не установлены для заданного
пользователя, Вы получите следующее сообщение: Repquota создает полную информацию об использовании дискового пространства
и о квотах на заданной файловой системе. Также она печатает для каждого
пользователя текущее количество файлов и объем используемого дискового
пространства (в килобайтах). Здесь приведен пример информации, полученной
от команды repquota:
Глава 13. Программы обеспечения безопасности (управление и ограничения)
Linux GnuPG
Краткий обзор
Unix-совместимые команды.
Путь к исходным кодам /var/tmp (возможны другие варианты).
Инсталляция была проверена на Red Hat Linux 6.1 и 6.2.
Все шаги инсталляции осуществляются суперпользователем root.
GnuPG версии 1.0.1.
Домашняя страница GnuPG:
http://www.gnupg.org,
Вы должны скачать: gnupg-1.0.1.tar.gz.
Хорошей идеей будет создать список файлов, установленных в Вашей системе до
инсталляции GnuPG и после, в результате, с помощью утилиты diff, Вы сможете
узнать, какие файлы были установлены. Например, до инсталляции:
find /* > GnuPG1
find /* > GnuPG2
diff GnuPG1 GnuPG2 > GnuPG
[root@deep /]# cp gnupg-version.tar.gz /var/tmp
[root@deep /]# cd /var/tmp
[root@deep tmp]# tar xzpf gnupg-version.tar.gz
Компиляция и оптимизация
CC="egcs"
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro \
-march=pentiumpro -fomit-frame-pointer -fno-exceptions"
./configure --prefix=/usr --enable-shared
[root@deep gnupg-1.0.1]# make
[root@deep gnupg-1.0.1]# make check
[root@deep gnupg-1.0.1]# make install
[root@deep gnupg-1.0.1]# strip /usr/bin/gpg
[root@deep /]# cd /var/tmp
[root@deep tmp]# rm -rf gnupg-version/ gnupg-version.tar.gz
Команды
Создание ключа
[root@deep /]# gpg --gen-key
gpg (GnuPG) 1.0.1; Copyright (C) 1999 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: /root/.gnupg: directory created
gpg: /root/.gnupg/options: new options file created
gpg: you have to start GnuPG again, so it can read the new options file
This asks some questions and then starts key generation.
[root@deep /]# gpg --gen-key
gpg (GnuPG) 1.0.1; Copyright (C) 1999 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: /root/.gnupg/secring.gpg: keyring created
gpg: /root/.gnupg/pubring.gpg: keyring created
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection? 1
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048
Do you really need such a large keysize? y
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
correct (y/n)? Y
You need a User-ID to identify your key; the software constructs
the user id from Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Real name: Gerhard Mourani
Email address: gmourani@videotron.ca
Comment: [Press Enter]
You selected this USER-ID: "Gerhard Mourani <gmourani@videotron.ca>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++..+++++++++++++++..+++++.++++++++++++++++++++++++++++++++++++++++
..++++++++++.+++++++++++++++++++++++++.+++++++++++++++...+++++++++++++
++++++++++++.+++++..+++++>+++++...+++++++++++++++>+++++.......>+++++
.......<+++++..........................+++++^^^^
public and secret key created and signed.
Импортирование ключей
[root@deep /]# gpg --import <file>
[root@deep /]# gpg --import redhat2.asc
gpg: key DB42A60E: public key imported
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: Total number processed: 1
gpg: imported: 1
Подписание ключей
[root@deep /]# gpg --sign-key <UID>
[root@deep /]# gpg --sign-key RedHat
pub 1024D/DB42A60E created: 1999-09-23 expires: never trust: -/q
sub 2048g/961630A2 created: 1999-09-23 expires: never
(1) Red Hat, Inc <security@redhat.com>
pub 1024D/DB42A60E created: 1999-09-23 expires: never trust: -/q
Fingerprint: CA20 8686 2BD6 9DFC 65F6 ECC4 2191 80CD DB42 A60E
Red Hat, Inc <security@redhat.com>
Are you really sure that you want to sign this key
with your key: "Gerhard Mourani <gmourani@videotron.ca>"
Really sign? y
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani <gmourani@videotron.ca>"
1024-bit DSA key, ID E92D6C97, created 1999-12-30
Enter passphrase:
Шифрование и дешифрование
[root@deep /]# gpg -sear RedHat <file>
[root@deep /]# gpg -sear RedHat message-to-RedHat.txt
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani (Open Network Architecture) <gmourani@videotron.ca>"
1024-bit DSA key, ID BBB4BA9B, created 1999-10-26
Enter passphrase:
[root@deep /]# gpg -d <file>
[root@deep /]# gpg -d message-to-Gerhard.asc
You need a passphrase to unlock the secret key for
user: "Gerhard Mourani (Open Network Architecture) <gmourani@videotron.ca>"
2048-bit ELG-E key, ID 71D4CC44, created 1999-10-26 (main key ID BBB4BA9B)
Enter passphrase:
Экспортирование вашего публичного ключа
[root@deep /]# gpg --export --armor > Public-key.asc
Проверка signature
[root@deep /]# gpg --verify <Data>
Некоторые области применения GnuPG
Инсталлированные файлы
> /usr/bin/gpg
> /usr/lib/gnupg
> /usr/lib/gnupg/rndunix
> /usr/lib/gnupg/rndegd
> /usr/lib/gnupg/tiger
> /usr/man/man1/gpg.1
> /usr/share/gnupg
> /usr/share/gnupg/options.skel
Установка поддержки квот в Linux-системе
Краткий обзор
Создание ядра с поддержкой квот
Filesystems
Quota support (CONFIG_QUOTA) [N/y/?] Y
Модификация файла /etc/fstab
/dev/sda6 /home ext2 defaults 1 2 (как пример: слово defaults)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (как пример: любая другая опция)
/dev/sda6 /home ext2 defaults,usrquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,usrquota 1 2
/dev/sda6 /home ext2 defaults 1 2 (как пример: слово defaults)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (как пример: любая другая опция)
/dev/sda6 /home ext2 defaults,grpquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,grpquota 1 2
/dev/sda6 /home ext2 defaults 1 2 (как пример: слово defaults)
/dev/sda6 /home ext2 nosuid,nodev 1 2 (как пример: любая другая опция)
/dev/sda6 /home ext2 defaults,usrquota,grpquota 1 2
/dev/sda6 /home ext2 nosuid,nodev,usrquota,grpquota 1 2
Создание файлов квот (quota.user и quota.group)
[root@deep /]# touch /home/quota.user
[root@deep /]# touch /home/quota.group
[root@deep /]# chmod 600 /home/quota.user
[root@deep /]# chmod 600 /home/quota.group
[root@deep /]# edquota -u wahib
[root@deep /]# edquota -g wahib
[root@deep /]# reboot
Назначение квот для пользователей и групп
Программа edquota
Установка квоты для пользователя
[root@deep /]# edquota -u wahib
Quotas for user wahib:
/dev/sda6: blocks in use: 6, limits (soft = 0, hard = 0)
inodes in use: 5, limits (soft = 0, hard = 0)
Quotas for user wahib:
/dev/sda6: blocks in use: 6, limits (soft = 0, hard = 0)
inodes in use: 5, limits (soft = 0, hard = 0)
Quotas for user wahib:
/dev/sda6: blocks in use: 6, limits (soft = 5000, hard = 0)
inodes in use: 5, limits (soft = 0, hard = 0)
Параметр grace period
[root@deep /]# edquota -t
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/sda6: block grace period: 0 days, file grace period: 0 days
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/sda6: block grace period: 0 days, file grace period: 0 days
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/sda6: block grace period: 7 days,
file grace period: 7 days
Назначение квот для отдельных групп
[root@deep /]# edquota -g webusers
Quotas for group webusers:
/dev/sda6: blocks in use: 6, limits (soft = 0, hard = 0)
inodes in use: 6, limits (soft = 0, hard = 0)
Назначение квот для групп пользователей с теми же значениями
[root@deep /]# edquota -p wahib `awk -F: '$3>499 {print $1}' /etc/passwd`
Дополнительная документация
$ man quota (1) вывод информации об использовании диска и ограничениях
$ man quotacheck (8) сканирование файловой системы диска
$ man quotactl (2) манипулирование дисковыми квотами
$ man quotaon, quotaoff (8) включение или выключение квот на файловой системе
$ man repquota (8) суммирование квот на файловой системе
$ man rquota (3) осуществление квот на удаленной машинеКоманды
Quota
[root@deep /]# quota -u wahib
Disk quotas for user wahib (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 6001* 6000 0 none 7 0 0
[root@deep /]# quota -g wahib
Disk quotas for group wahib (gid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 5995* 5000 0 none 1 0 0
Disk quotas for group wahib (gid 501): none
Repquota
[root@deep /]# repquota -a
Block limits File limits
User used soft hard grace used soft hard grace
Roo -- 21 0 0 4 0 0
Named -- 6 0 0 5 0 0
Admin -- 388657 0 0 21 21 0 0
Wahib -- 6001 0 0 7 0 0
Block limits File limits
User used soft hard grace used soft hard grace
root -- 21 0 0 4 0 0
named -- 6 0 0 5 0 0
admin -- 388657 0 0 2121 0 0
wahib -- 6001 6000 0 none 7 0 0
Найди своих коллег! |