<- Страничката на Георги

Използване на Linux и KDE за нуждите на интернет клуб

Версии

Следващите инструкции (освен тези които са конкретно за Slackware) би трябвало да работят на всяка дистрибуция, която ползва поне XFree 4.3 и KDE 3.1

Инсталация на Slackware Linux 9.0

Нека дискът, които използваме да бъде разделен на три части. Първата ще използваме за програмите и самата операционна система, втората част ще е за временни файлове, останалата ще е само за потребителски данни.

Partition FSystem Размер
/ ext3 2 GB
/tmp ext3 1 GB
/home ext3 Останалото място

След като сте разделили диска и сте подготвили дяловете за инсталация може да започне и самата инсталация. Пакетите в Slackware са разделени в т.н. "серии". За целите, които сме си поставили е необходимо да инсталираме A, AP, D, KDE, KDEi, L, X и XAP сериите. От серията N (мрежови програми) е необходимо да бъдат инсталирани autofs, lynx, nfs-utils, openssh, portmap, samba и tcpip. Всички останали серии е необходимо да се инсталират напълно! За да можете да избирате пакетите в отделните серии изберете "expert installaion".

След като завърши инсталацията, настройте своята времева зона, параметрите на вашата мрежа и lilo boot loader-а. След това рестартирайте машината.

Подсигуряване на сигурността

След инсталацията е необходимо да извършим следните действия за да подсигурим сигурността на машината.

  1. Необходимо е да инсталираме последните пакети, които са излезли. Най-вероятно те оправят пропуски в сигурността и други грешки в програмите. Процедурата за обновление е следната - а) Сваляне на пакетите:

    От mirrors.unixsol.org или друг огледален сайт, свалете всички пакети (*.tgz файловете), които са в директорията slackware-X.XX/patches/packages/. След като ги свалите - обновете пакетите, които са вече инсталирани

    Обновяването се извършва със следната команда изпълнена в директорията в която са свалените новите пакети

    upgradepkg *.tgz
  2. Правата на всички директории в / без /home ще трябва бъдат направени 751, така няма да могат да се разглеждат, но всичко ще работи без проблем. Командите, която трябва да се изпълнят са:

    chmod  751 /{bin,boot,dev,etc,lib,lost+found,opt,proc,sbin,usr,var}
    chmod 1777 /tmp
    chmod  700 /root
    
  3. Ако някой да успее да рестартира машината, трябва да бъде забранено подаването на параметри към Linux ядрото, тъй като могат да се заобиколят мерките за сигурност. Когато се използва Lilo boot loader (стандартно при Slackware), тази забрана се осъществява като във файлът /etc/lilo.conf се добавят следните редове:

    restricted
    password=XXXXXXXX
    # (за парола си изберете нещо различно от XXXXXXX :)
    

    След като запишете промените във файла, изпълнете следните команди

    chmod 600 /etc/lilo.conf
    lilo
    

    Така настроено, Lilo ще изисква въвеждане на парола ако потребителят се опита да промени стандартните параметри подавани към Linux ядрото.

  4. Искаме да забраним на всеки освен root потребителя, да има отдалечен достъп до машината през SSH. За целта във файла /etc/ssh/sshd_config се добавя следният ред:

    AllowUsers root

    и след това се изпълнява командата:

    /etc/rc.d/rc.sshd restart
  5. Параметрите на партишъните (/tmp и /home), в които потребителите имат достъп за писане е нужно да бъдат променени с цел да се разбрани възможноста за изпълнение на програми записани върху тях. Във файлът /etc/fstab ще направим следната промяна. Сменете редът

    /dev/hda2  /tmp   ext3  defaults  1  1
    /dev/hda3  /home  ext3  defaults  1  1
    

    със

    /dev/hda2  /tmp   ext3  nodev,nosuid,noexec  1  1
    /dev/hda3  /home  ext3  nodev,nosuid,noexec  1  1
    

    Това не предовратява 100% изпълнението на програми, които се намират в /tmp или /home но засега ще ни свърши работа.

Добавяне на потребител

В ежедневната работа под Линукс не се използва root потребителя. Затова ще си добавим обикновен потребител с които ще се работи. Добавянето се прави с командата

useradd -m -s /bin/bash user
passwd user

С извършването действията описани дотук, основните мерки за сигурността на машината са взети.

Инсталация на необходими програми

В този момент ще трябва да инсталираме няколко програми, които ги няма в стандартната Slackware инсталация. Те са:

Настройки за българизация на Линукс системата

За да може да пишете на кирилица в новите графични среди (KDE, Gnome) трябва да е указано като променлива на средата, че сте в България. Това можете да направите, като във файловете /home/user/.bashrc, /home/user/.bash_profile, /home/user/.bash_login и /home/user/.profile имате следните редове:

export LANG=bg_BG
export LANGUAGE=bg
# Това ви трябва не искате съобщенията от програмите да са на български
export LC_ALL=C

Тези файлове трябва да са собственост на потребителя в чиято домашна директория са. След като файловете са направени е необходимо да са излезе от системата (logout) и да се влезе пак (login) или просто да се изпълнят командите.

Настройки на X сървъра

По конкретно за настройките на графичната среда можете да прочетете в документацията на Slackware или в XFree86 HOWTO. Следват няколко бързи инструкции за настройка:

startx -- -configure
cp /root/xorg.conf.new /etc/X11/xorg.conf
startx

След това ако ползвате KDE от Control Center / Peripherals / Display си донастройвате графичната среда.

Шрифтове

За да няма никакви проблеми със шрифтовете под X е необходимо да се инсталират няколко допълнителни шрифта, които са качествени и добре поддържат кирилица.

Ще използваме TrueType шрифтове (свободните шрифтове на Майкрософт), няколко свободни Type1 шрифта (изработени от TopTeam), а също и растерни шрифтове заради някой стари приложения, които ги изискват. Всеки един от използваните шрифтове можете да намерите и да си свалите от интернет, но за удобство съм ги събрал в един архив всички. Архивът със шрифтове можете да си свалите от тук. Разархивирайте го в директорията /usr/X11R6/lib/X11/fonts, а в /etc/X11/xorg.conf трябва да има следните редове ("Files" и "Module" секциите най-вероятно вече ги имате във файла, просто в тях добавете редовете, който са между точките)

Section "Files"
    ...
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/type1/"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/truetype/"

    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/cp1251/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/cp1251/misc"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/iso-10646-1/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/iso-10646-1/misc"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/iso-8859-5/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/iso-8859-5/misc"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/koi8-r/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/bolkhov/koi8-r/misc"

    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/cronyx/cp1251/100dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/cronyx/iso-10646-1/100dpi"

    FontPath    "/usr/X11R6/lib/X11/fonts/corefonts/bitmap/misc/"
    ...
EndSection

Section "Module"
    ...
    Load "type1"
    Load "freetype"
    ...
EndSection

За да довършите настройката на шрифтовете е необходимо пътищата на truetype и type1 шрифтовете да бъдат описани и във font config. Файлът в който се описват тези пътища се нарича /etc/fonts/local.conf и изглежда по слдният начин

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/usr/share/fonts</dir>
    <dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
    <dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
    <dir>/usr/X11R6/lib/X11/fonts/corefonts/truetype</dir>
    <dir>/usr/X11R6/lib/X11/fonts/corefonts/type1</dir>
    <dir>/usr/X11R6/lib/X11/fonts/vera</dir>
    <dir>~/.fonts</dir>
</fontconfig>

След като направите тези настройки като root стартирайте fc-cache -f -v

Клавиатура

Необходимо е да се настрои клавиатурата за да може да се пише на кирилица. В /etc/X11/xorg.conf е трябва да има следните редове

Section "InputDevice"
    Driver	"Keyboard"
    ...
    Option  "XkbLayout"   "us,bg"
    Option  "XkbVariant"  ",phonetic"
    Option  "XKbOptions"  "grp:alt_shift_toggle,grp_led:scroll"
    ....
EndSection

Ако искате да превключвате между фонетична подредба и БДС подредба използвайте тези редове вместо горните

Section "InputDevice"
    Driver	"Keyboard"
    ...
    Option  "XkbLayout"   "us,bg,bg"
    Option  "XkbVariant"  ",phonetic,bds"
    Option  "XKbOptions"  "grp:alt_shift_toggle,grp_led:scroll"
    ....
EndSection

Мишка

За да ви работи "колелцето" на мишката е необходимо да имате следните настройки в /etc/X11/xorg.conf

Section "InputDevice"
    Driver "mouse"
    ...
    Option "Device"        "/dev/psaux"       # За PS/2 мишка
#   Option "Device"        "/dev/input/mice"  # За USB мишка
    Option "Protocol"      "imps/2"
    Option "ZAxisMapping"  "4 5"
EndSection

Монитор

Ако искате мониторът ви да се гаси след определено време (в KDE времето може да се настройва от Control Center) ви трябва следният ред в /etc/X11/xorg.conf

Section "Monitor"
  ...
  Option  "DPMS"
  ...
EndSection

Допълнителни настройки

Трябват ви следните редове в /etc/X11/xorg.conf

Section "ServerFlags"
   Option  "DontZap"       "true"
   Option  "VTSysReq"      "false"
   Option  "DontVTSwitch"  "true"
EndSection

Превключване на графичен логин

В /etc/inittab реда

id:3:initdefault:

се заменя с

id:4:initdefault:

След това изпълнете командата

/sbin/telinit 4

Настройка на kdm (графичен логин)

За да настройте kdm можете да използвате графичните инструменти, които ви предоставя KDE. Настройките се намират по следният начин: Control Center -> System Administration -> Login Manager
Самият файл в които е конфигурацията се намира във файлът: /opt/kde/share/config/kdm/kdmrc

Необходимо е да променим следните параметри:

Настройки на KDE

  1. Показване на монтирани устройства на екрана. Виж картинката. Дясно копче на Desktop-а избира се "configure desktop".

    За да работи автоматичното монтиране на CD-ROM-и и Floppy-та трябва да добавите няколко реда във файла /etc/fstab. Редовете са следните:

    # Ако вашият CD-ROM не е /dev/hdd използвайте друго устройство
    # /dev/hdb отговаря на Primary Slave
    # /dev/hdc отговаря на Secondary Master
    # /dev/hdd отговаря на Secondary Slave
    /dev/hdd        /mnt/cdrom      auto    ro,user,noauto          0       0
    /dev/fd0        /mnt/floppy     auto    rw,sync,user,noauto     0       0
    

    Така настроена системата, когато в KDE изберете иконата на немонтираното устройство, която е на екрана, KDE автоматично ще монтира устройството.

  2. "Почистване" на K менюто. Дясно копче на "K" избира се "Menu editor" и се изтриват излишните програми, които няма да се ползват
  3. Поставяне на необходимите програми на екрана
  4. Асоцииране на MPlayer с видео файловете

Дотук всичко което направихме така или иначе е нужно за една работна станция. Сега обаче идва моментът в които ще ограничим потребителят използващ машината да не може да стартира програми които не желаем и изобщо да извършва действия, които не сме му разрешили.

Настройка на KDE KIOSK

Повече информация за KDE KIOSK framework можете да прочетете на следните адреси: Kde.Org и Linux-Mag.com. KDE KIOSK ни позволява да ограничаваме конкретни действия на потребителя. Например можем да забраним достъпа до shell командите, отварянето на properties панел или промени по иконите сложени на desktop-а. Настройките се правят по локалната конфигурация на потребителя "user". Тя се намира във /home/user/.kde/share/config или иначе казано, когато сте влезли с "user" ~/.kde/share/config

Редактират се 3 файла: - kdesktoprc - Настройки на Desktop
- kickerrc - Настройки на taskbar
- kdeglobals - Глобални настройки на KDE средата

В kdestoprc искаме да забраним правенето на каквито и да е промени по Desktop-а. Това се прави като във ~/.kde/share/config/kdesktoprc най-отгоре се добавя следният ред:

[$i]

В kickerrc искаме да забраним правенето на каквито и да е промени по TaskBar-а. Това се прави като във ~/.kde/share/config/kickerrc най-отгоре се добавя следният ред:

[$i]

Тук вече стигаме до глобалните ограничения които искаме да наложим въху KDE средата и програмите използващи я. Във файлът ~/.kde/share/config/kdeglobals добавяме следните редове. Редовете, който започват със action/ дефинират действия в програмите които не искаме да могат да се изпълняват. Останалите редове са глобални ограничения.

[KDE Action Restrictions][$i]
#run_desktop_files=false

custom_config=false
lock_screen=false
run_command=false
shell_access=false
editable_desktop_icons=false
movable_toolbars=false
lineedit_text_completion=false

# Konquerer
action/lock=false
action/bookmarks=false
action/show_menubar=false
action/edit_bookmarks=false
action/togglemenubar=false
action/configdesktop=false
action/exec=false
#action/up=false
action/konsolepart=false
action/open_terminal=false
action/editMimeType=false
action/edit_mime_type=false
action/editFileType=false
action/edit_file_type=false
action/editfiletype=false
action/run=false
action/rename=false
action/file_rename=false
action/options_show_toolbar=false
action/options_configure=false
action/options_configure_toolbars=false
action/options_configure_shortcuts=false
action/options_show_menu_bar=false
action/fullscreen=false
action/properties=false
action/openwith=false

Оправяне на правата за достъп до файловете. Тъй като не искаме тези файлове да могат да бъдат променяни от потребителя е необходимо да направим няколко промени по правата за достъп до файловете. А именно:

  1. Правим файловете четими за всички
  2. Само собственика на файла може да променя неговото име (sticky bit)
  3. Собственик на променените файлове е root
chmod 644 ~/.kde/share/config/{kdeglobals,kickerrc,kdesktoprc}
su -c "chmod 1700 /home/user/.kde/share/config/"
su -c "chown 0.0 ~/.kde/share/config/{kdeglobals,kickerrc,kdesktoprc}"
TODO:

About

Този документ е написан от Георги Чорбаджийски. Презентация, която демонстрира крайният резултат от описаното е правена на 10 Май 2003 в клуб "Матрицата-5" в гр. София. Повече информация за събитието можете да получите от linux-bg.org. Оригиналните бележки на автора се намират тук. Документът се разпространява под GNU FDL лиценз. За корекции и допълнения пишете на следният емайл georgi@unixsol.org.

Списък на конфигурациите

Valid XHTML 1.0!
$Id: index.html,v 1.11 2004/09/27 13:05:00 gf Exp $

$Log: index.html,v $
Revision 1.11  2004/09/27 13:05:00  gf
Change CSS, email and homepage link

Revision 1.10  2003/11/03 13:42:29  gf
Fix font paths
Add information about setting up font config

Revision 1.9  2003/09/02 20:08:59  gf
Updated font installing instructions
Moved BG setup before X11 setup

Revision 1.8  2003/07/12 12:25:16  gf
Small html fixes
Add info about floppy and cd-rom auto mounting

Revision 1.7  2003/07/12 12:04:39  gf
Add info about freetype module in XFree
Add info about language environment variables

Revision 1.6  2003/06/10 10:40:41  gf
Add info about /tmp partition
Add info on how to secure lilo
Made KDE KIOSK description more clear
 (10x to Hristo Erinin for the above)
Fix some typos

Revision 1.5  2003/06/07 20:43:55  gf
Add info about required X and KDE versions

Revision 1.4  2003/06/06 12:21:05  gf
Add pre tags for CVS info

Revision 1.3  2003/06/06 12:19:58  gf
Fix "Fonts" sections they must be "Files". 10x to Stefan Dimitrov