Използване на 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-а. След това рестартирайте машината.
Подсигуряване на сигурността
След инсталацията е необходимо да извършим следните действия за да подсигурим сигурността на машината.
Необходимо е да инсталираме последните пакети, които са излезли. Най-вероятно те оправят пропуски в сигурността и други грешки в програмите. Процедурата за обновление е следната - а) Сваляне на пакетите:
От mirrors.unixsol.org или друг огледален сайт, свалете всички пакети (*.tgz файловете), които са в директорията slackware-X.XX/patches/packages/. След като ги свалите - обновете пакетите, които са вече инсталирани
Обновяването се извършва със следната команда изпълнена в директорията в която са свалените новите пакети
upgradepkg *.tgz
Правата на всички директории в / без /home ще трябва бъдат направени 751, така няма да могат да се разглеждат, но всичко ще работи без проблем. Командите, която трябва да се изпълнят са:
chmod 751 /{bin,boot,dev,etc,lib,lost+found,opt,proc,sbin,usr,var} chmod 1777 /tmp chmod 700 /root
Ако някой да успее да рестартира машината, трябва да бъде забранено подаването на параметри към Linux ядрото, тъй като могат да се заобиколят мерките за сигурност. Когато се използва Lilo boot loader (стандартно при Slackware), тази забрана се осъществява като във файлът /etc/lilo.conf се добавят следните редове:
restricted password=XXXXXXXX # (за парола си изберете нещо различно от XXXXXXX :)
След като запишете промените във файла, изпълнете следните команди
chmod 600 /etc/lilo.conf lilo
Така настроено, Lilo ще изисква въвеждане на парола ако потребителят се опита да промени стандартните параметри подавани към Linux ядрото.
Искаме да забраним на всеки освен root потребителя, да има отдалечен достъп до машината през SSH. За целта във файла /etc/ssh/sshd_config се добавя следният ред:
AllowUsers root
и след това се изпълнява командата:
/etc/rc.d/rc.sshd restart
Параметрите на партишъните (/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 инсталация. Те са:
MPlayer - Най-добрата програма за гледане на видео. Инструкции за инсталация можете да прочетете в тази статия публикувана на сайта linux-bg.org
Sim ICQ - ICQ клиент, които лесно се използва от много хора на една машина. Инструкции за инсталация:
# Разархивирайте архива със изходните кодове tar xzvf sim-X.X.X.tar.gz cd sim-X.X.X # Компилирайте програмата и я инсталирайте ./configure && make && make install
KVirc - Приличащ на mIRC IRC клиент. Инструкции за инсталация:
# Разархивирайте архива със изходните кодове bunzip2 -cd kvirc-X.X.X.tar.bz2 | tar xv cd kvirc-X.X.X # Компилирайте програмата и я инсталирайте ./configure && make && make install
Настройки за българизация на Линукс системата
За да може да пишете на кирилица в новите графични среди (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
Допълнителни настройки
Изключване на възможността за "убиване" на X сървъра.
Изkлючване на възможността за превключване на виртуалните конзоли.
Трябват ви следните редове в /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
Необходимо е да променим следните параметри:
Сесии (картинка)
- Само root потребител да може да гаси машината. Редове в конфигурационният файл
[X-:*-Core] AllowShutdown=Root
Потребители (картинка)
- Списък на потребителите не се показва в началото. Редове в конфигурационният файл
[X-*-Greeter] FocusPasswd=true LogoArea=Clock PreselectUser=None SelectedUsers= SessionTypes=default,kde,failsafe, ShowUsers=None SortUsers=false
Пароли, автоматично влизане (картинка)
- Потребителят "user" може да влиза без парола.
- При първоначално зареждане "user" автоматично се логва.
- Ако поради някакъв проблем X сървърът умре, всичко продължава автоматично.
[X-:0-Core] AutoLoginEnable=true AutoLoginUser=user [X-:*-Core] AllowRootLogin=true NoPassEnable=true NoPassUsers=user
Настройки на KDE
- Показване на монтирани устройства на екрана. Виж картинката.
Дясно копче на 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 автоматично ще монтира устройството.
- "Почистване" на K менюто. Дясно копче на "K" избира се "Menu editor" и се изтриват излишните програми, които няма да се ползват
- Поставяне на необходимите програми на екрана
- Асоцииране на 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
Оправяне на правата за достъп до файловете. Тъй като не искаме тези файлове да могат да бъдат променяни от потребителя е необходимо да направим няколко промени по правата за достъп до файловете. А именно:
- Правим файловете четими за всички
- Само собственика на файла може да променя неговото име (sticky bit)
- Собственик на променените файлове е 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:
- Настройки на принтер
- Инсталация на Open Office
- samba и (или) nfs за мрежовите устройства
About
Този документ е написан от Георги Чорбаджийски. Презентация, която демонстрира крайният резултат от описаното е правена на 10 Май 2003 в клуб "Матрицата-5" в гр. София. Повече информация за събитието можете да получите от linux-bg.org. Оригиналните бележки на автора се намират тук. Документът се разпространява под GNU FDL лиценз. За корекции и допълнения пишете на следният емайл georgi@unixsol.org.