Никада не вставляйте в свою консоль, даже пользовательскую (хотя, если ulimit -u дает не unlimited, а какое то фиксированное число, то жить будете, можно и вставить) вот ето:
:(){ :|:& };:
Хламник, записная книжка и незабывайка в одном html-е.
Никада не вставляйте в свою консоль, даже пользовательскую (хотя, если ulimit -u дает не unlimited, а какое то фиксированное число, то жить будете, можно и вставить) вот ето:
:(){ :|:& };:
nano /etc/modules
ip_nat_ftp
ip_nat_pptp
Option "Xleds" "1 2 3"Эта запись указывает X-серверу, какие лампушки контролируются xset'ом, однако и выведенную в топ проблему решают на ура.
Acquire::http::Proxy "http://user:pass@proxyip:proxyport";Все действия, естественно, от имени суперпользователя.
Acquire::ftp::Proxy "http://user:pass@proxyip:proxyport";
Acquire::::Proxy "true";
http_port 3218 transparentили добавляем к уже существующей записи. Просто ли сквид слушает какой то порт, или еще и адрес явно определен (к примеру, если интерфейсов несколько), неважно. В общем виде запись выглядит как ip:port transparent. И второе, в iptables добавляем следующее правило:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128Клиентские машины должны иметь default gateway - адрес сервера, где находится сквид. В противном случае, этот умолчальный сервер должен сам перебрасывать пакеты на прокси. ОДнако такого изврата я еще не встречал ;)
auth_param basic program /usr/lib/squid/ldap_auth -b "ou=squiders,dc=server,dc=ru" -v 3 -u uid 127.0.0.1При этом /usr/lib/squid/ldap_auth - так называемый helper, который идет в комплекте с прокси-сервером и соединяется по его запросу с ldap-базой. Им можно воспользоваться для проверки работоспособности последней и правильности вписанных параметров. Если вбить в консоль
acl ldap_auth proxy_auth REQUIRED
http_access allow ldap_auth
/usr/lib/squid/ldap_auth -b "ou=squiders,dc=server,dc=ru" -v 3 -u uid 127.0.0.1то никакого приглашения вы не получите, однако скрипт будет ожидать ввода пары логин\пароль ldap-пользователя через пробел. Если такой пользователь существует и хелперу удалось прицепиться к означенной базе с означенными параметрами, он вернет OK, иначе Success Error.
exipick -zi | xargs exim -Mrm //очистит все замороженные сообщения из очередигде
exipick -i | xargs exim -Mrm //очистит все сообщения из очереди
#!/bin/bashсуровый:
/etc/init.d/exim4 stop;
rm -rf /var/spool/exim/input.bak;
mv /var/spool/exim/input /var/spool/exim/input.bak;
mkdir /var/spool/exim/input;
chown mailnull.mail /var/spool/exim/input;
chmod 750 /var/spool/exim/input;
/etc/init.d/exim4 start;
rm -rf /var/spool/exim/input/*
apt-get install slapd libnss-ldap libpam-ldapЕсли сразу после установки пакетов debconf не предложил их сконфигурировать, сделаем это самостоятельно. Сие избавит от ручного редактирования конфиг-файлов.
dpkg-reconfigure slapd libnss-ldap libpam-ldapСначала настраивается slapd.
apt-get install ldapscriptsСоздадим файлик следующего содержания (в нем мы опишем в ldif-формате желаемые записи):
dn: ou=people,dc=inspire,dc=hvn
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=inspire,dc=hvn
objectClass: organizationalUnit
ou: groups
dn: cn=testgroup,ou=groups,dc=inspire,dc=hvn
objectClass: posixGroup
cn: testgroup
gidNumber: 10001
dn: uid=test,ou=people,dc=inspire,dc=hvn
objectClass: inetOrgPerson
objectClass: posixAccount
uid: test
sn: test
givenName: TestUser
cn: test
displayName: test
uidNumber: 1050
gidNumber: 10001
userPassword: 123456
loginShell: /bin/bash
homeDirectory: /home/test
slappasswd -h '{CRYPT}' -s 123456или таким:
{CRYPT}EvOKngmsHj6CA
slappasswd -h '{MD5}' -s 123456
{MD5}4QrcOUm6Wau+VuBX8g+IPg==
ldapadd -D cn=admin,dc=inspire,dc=hvn -x -w 123321 -f /home/delayer/add.ldif adding new entry "ou=people,dc=inspire,dc=hvn"Опции ldapadd можно глянуть в man'е.
adding new entry "ou=groups,dc=inspire,dc=hvn"
adding new entry "cn=testgroup,ou=groups,dc=inspire,dc=hvn"
adding new entry "uid=test,ou=people,dc=inspire,dc=hvn"
/etc/init.d/slapd restartищем нашего test'a
id test
id: test: Такого пользователя нет
passwd: files ldapUPD:
group: files ldap
shadow: files ldap
/etc/init.d/nscd restartСнова ищем test'a:
id testУже лучше, не правда ли ;)
uid=1050(test) gid=10001(testgroup) группы=10001(testgroup)
/etc/pam.d/common-accountВот и все, проверим работоспособность.
account sufficient pam_unix.so
account sufficient pam_ldap.so use_first_pass
account required pam_deny.so
/etc/pam.d/common-auth
auth required pam_env.so
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
/etc/pam.d/common-password
password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
#если пакет cracklib2 не установлен, то предыдущую опцию следует закомментировать.
password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
/etc/pam.d/common-session
session required pam_limits.so
session required pam_unix.so
session optional pam_ldap.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
#предыдущая опция предназначена для того, чтобы при первом входе ldap-пользователя в систему ему автоматически создавался хоумдир. При ненадобности - камент )
delayer@interra:/$ su -l testВ заключение добавлю, что если требуется добавлять много пользователей, и вообще периодически с записями работать, стоит обратить внимание на более наглядные утилиты, например, luma или lam, правда, для работы последнего требуется web-сервер и php5.
Password:
Creating directory '/home/test'.
test@interra:~$
dpkg -i haspd_2.0-1_i386.deb haspd-modules_2.0-1_i386.deb
/etc/init.d/haspd statusСие говорит о том, что загружены и отслеживаются компоненты для работы с HASP4 USB/LPT ключами, остальные (Smartkey, Sentinel) отключены. Однако, если получаем что то вроде
Hardware protection keys support bundle. Etersoft (c) 2008
: haspd.init,v 1.113 2008/03/26 11:05:12 lav Exp $
Aladdin HASP 4/HL driver status:
-e kernel module aksparlnx is loaded
-e aksusbd is running
-e winehasp is running
-e hasplm is running
Daemon version: 1.8.1 - key API (USB) version: 3.85, key API (parallel driver) version: 3.86
Smartkey 3 USB/LPT driver status:
-e skeyd is stopped
SafeNet Sentinel status:
-e usbsentinel is stopped
-e SntlKeysSrvrlnx is stopped
/etc/init.d/haspd statusто выходит, что не слушается вообще ничего. ;) В этом случае требуется скомпилить модули самостоятельно. Для этого используем /etc/init.d/haspd build. Исходники ядра должны быть установлены. В [k]Ubintu/Debian это пакет linux-headers-*, где звездочка - это версия установленного ядра (uname -r). Build'анув нужные ядерные модули, подгружаем их через modprobe и снова проверяем /etc/init.d/haspd status.
Hardware protection keys support bundle. Etersoft (c) 2008
: haspd.init,v 1.113 2008/03/26 11:05:12 lav Exp $
Aladdin HASP 4/HL driver status:
kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled!)
aksusbd is stopped
winehasp is stopped
hasplm is stopped
Smartkey 3 USB/LPT driver status:
skeyd is stopped
SafeNet Sentinel status:
usbsentinel is stopped
SntlKeysSrvrlnx is stopped
eterkeytest --hasp
HASP:
HASP API VERSION: 8.0
HASP Local:
LPT HASP4 M4 (HASP4 is connected, key is HASP4 Net 5 licenses)
[4] 1C:Accountancy v7.7 (simple and network)
HASP Net at host (see NETHASP.INI) (press Ctrl-C to break):При таком раскладе нам остается только запустить 1С-ку =). Если ключ сетевой, то в файлике BIN/NETHASP.INI,что находится в каталоге, куда установлена 1С, указываем, где искать сетевой ключ. Вот так. к примеру:
..... -- active logins:16202
-- max logins: 53610
-- key type: HASP4 Net 774 licenses
-- activations: 48851
[4] 1C:Accountancy v7.7 (simple and network)
[NH_COMMON]Сразу стоит проверить, слушает ли менеджер лицензий и winehasp нужные порты...
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
netstat -ap | grep haspВсе нормально, можно подключаться ;) Если ключ тот, адрес сервера, в порт на котором он воткнут, корректен, и фаерволл сабжевые порты не блокирует, то все должно работать. Для проверки можно отключить iptables stop (iptables -F).
udp 0 0 *:475 *:* 12629/hasplm
udp 0 0 localhost:2790 *:* 12620/winehasp
[ICQVersion]
Build=0x17AB
ClientId=0x010A
ClientString=ICQ Client
Country=us
Lang=en
Major=0x0006
Minor=0x0000
Other=0x00007535
Point=0x0000
apt-get install sun-java6-jreСервер установлен и готов принимать соединения. Вся работа с системой проводится исключительно через web-интерфейс софтины. В конфиги конечно можно попробовать залезть, но они для этого не предназначы абсюлютно (Там вообще страшно, если честно). Да и надобности имхо особой в этом нет. Да, также нам следует установить какую либо СУБД, дабы openfire мог вести свою базу. MySQL, PostgreSQL, MSSQL.... все что вашей душе угодно, со всем этим опенфайр может работать. Так как на сервере уже крутился постгрес версии 7.4, мой выбор был очевиден. Прежде чем создать базу и начать работу, следует убедиться, что в /etc/postgresql/7.4/main/postgresql.conf выставлен параметр tcpip_socket = true, иначе будете долго думать, почему все работает, но ничего не коннектится =). В восьмерке такого косяка не обнаружено, все работает сразу после инсталляции.
dpkg -i openfire_3.5.1_all.deb
su - postgres #работаем от имени postgresБаза создана и ждет к ней подключения =). Открываем любимый браузер и топаем на http://localhost:9090. В случае, если сервер не имеет графического интерфейса, несложно пробросить порт с помоью ssh на свою рабочую машинку. У вас же *nix, не правда ли? ;)
createuser -U postgres -dAP openfire_user #узер создает базы (-d), но не создает пользователей (-A), при создании запрашивается пароль (-P)createdb -E UTF-8 openfiredb #создаем базу в кодировке (-E) UTF-8
su - postgres
psql openfiredb
openfiredb=# grant all privileges on database openfiredb to "openfire_user"; #даем нашему пользователю все привилегии в рамках openfiredb базы
ssh -L 19090:localhost:9090 user@serverПоясню работу этого проброса: все обращения на localhost:19090 перенаправляются через ssh на удаленный localhost:9090. Ответные пакеты, соотвественно, идут обратным путем. То бишь, введя у себя на машине http://localhost:19090, мы получим то же самое, если бы сидели на сервере и там ввели http://localhost:9090. Подробности - man ssh.
INTERNAL_SERVER_ERRORи куча всякого java-мусора, то следует обновить java-машину до более новой версии (у меня например, стояла пятая, пришлось обновиться до шестой. С ней проблема исчезла).
RequestURI=/setup/setup-finished.jsp
Caused by:
java.lang.NullPointerException
update jiveUser set plainPassword='123456', encryptedPassword = null where username ='admin';И еще один интересный момент. Бывает, что пароль админа как-то сам по себе забыается ). В случае с openfire это не означает неизбежное убивание базы данных и пересоздание оной ( что влечет за собой, к тому же, переустановку самой софтины). Работа сервера с БД построена так, что введенный первоначально пароль админа (на этапе начального кофигурирования), да и пароли пользователей тоже, хранится в базе в PlainText-виде. Нужно лишь зайти любым удобным средством в БД и подсмотреть. если же вы сменили пароль, как и полагается после первого входа, то это автоматически шифрует его и впредь пароль хранися уже в поле Encrypted, в виде хеша. Соотвественно в таком случае, для получения доступа к админке следует сначала удалить все что есть в поле, где хранится хеш пароля, а потом что нить написать в Plaintext поле таблицы. Например, такЭто и будет паролем. Об этой особенности следует знать даже в случае отличной памяти. Ибо, очевидно, доступ к базе данных - автоматически дает нам неограниченный доступ к самому серверу. От версии к версии номера полей могут меняться, например раньше было password, теперь plainpassword, так что если команда не проходит, можно сориентироваться на месте, ибо имя таблицы - jiveUser не меняется.
# PCI device 0x10de:0x03ef (forcedeth)При наличии большого числа интефейсов подобных строк будет много, причем встречаются случаи, что самой сетевки уже давно и нет, а запись осталась. А если оно так, то втыкание другой сетевки выльется в появление нового сетевого интерфейса с увеличенным на единицу номером.
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:1a:4d:9e:12:a0", NAME="eth2"
delayer@inspire:~> ls -l /dev/net/tun
crw-rw-rw- 1 root root 10, 200 Окт 7 2007 /dev/net/tun
delayer@inspire:~> su
Пароль:
inspire:/home/delayer # chown root.vboxusers /dev/net/tun
inspire:/# vi /etc/sysconfig/network/ifcfg-bridge0
BOOTPROTO='static' #IP-адрес задается статически
#DHCLIENT_TIMEOUT=20 # если выбрана DHCP-раздача, раскомментить
BROADCAST='' # оставляем на
MTU='' # усмотрение ОС
NAME='bridge interface' # произвольное имя интерфейса
BRIDGE='yes' # ифейс выполняет функции моста
BRIDGE_PORTS='wlan0' # "моститься" будем на базе wlan0
IPADDR='169.254.0.1' # IP-адрес
NETMASK='255.255.255.0' # маска подсети (в моем случае я просто
# беру параметры настроек wlan0
REMOTE_IPADDR=''
STARTMODE='auto' # интерфейс поднимается при старте hostOS
USERCONTROL='no' # контроль осуществляется системой
inspire:/# VBoxAddIF vbox0 virtual bridge0После этого он аттачится к вирт машине или консольно
inspire:/# VBoxManage modifyvm "Debian_4.0_r0" -hostifdev1 vbox0или графически
interra:/home/delayer/# cd .\!/rxТак же уже должен стоять пакет openssh-server. Если нет, то следует установить и его.
dpkg -i *.deb
apt-get install openssh-serverВ принципе все - далее займемся конфигурацией.
interra:/home/delayer/!/rx# nxkeygen
Unique key generated; your users must install
/var/lib/nxserver/home/.ssh/client.id_dsa.key
on their computers.
interra:/home/delayer/!/rx# nxsetup
------> You did select no action.
FreeNX guesses that you want to _install_ the server.
Type "y" to abort the installation at this point in time.
"N" is the default and continues installation.
Use "/usr/bin/nxsetup --help" to get more detailed help hints.
Do you want to abort now? [y/N] n
------> It is recommended that you use the NoMachine key for
easier setup. If you answer "y", FreeNX creates a custom
KeyPair and expects you to setup your clients manually.
"N" is default and uses the NoMachine key for installation.
Do you want to use your own custom KeyPair? [y/N] nSetting up /etc/nxserver ...done
Generating public/private dsa key pair.
Your identification has been saved in /etc/nxserver/users.id_dsa.
Your public key has been saved in /etc/nxserver/users.id_dsa.pub.
The key fingerprint is:
81:a9:42:ea:97:59:51:41:c3:e4:f0:63:29:cc:d8:10 root@interra
Setting up /var/lib/nxserver/db ...done
Setting up /var/log/nxserver.log ...done
Setting up known_hosts and authorized_keys ...done
Setting up permissions ...done
Setting up cups nxipp backend ...done
----> Testing your nxserver configuration ...
Warning: Could not find nxdesktop in /usr/bin. RDP sessions won't work.
Warning: Could not find nxviewer in /usr/bin. VNC sessions won't work.
Warning: "/usr/lib/cups/backend/smb" is not executable.
Users will not be able to enable printing.
Warning: Invalid value "DEFAULT_X_SESSION=/etc/X11/xdm/Xsession"
Users might not be able to request a default X session.
Warning: Invalid value "COMMAND_START_KDE=startkde"
Users will not be able to request a KDE session.
Warning: Invalid value "COMMAND_START_CDE=cdwm"
Users will not be able to request a CDE session.
Warning: Invalid value "COMMAND_SMBMOUNT=smbmount". You'll not be able to use SAMBA.
Warning: Invalid value "COMMAND_SMBUMOUNT=smbumount". You'll not be able to use SAMBA.
Error: expect necessary for /usr/bin/nxnode-login could not be found in '/usr/bin/expect'. Please install it or change nxnode-login accordingly.
Errors occured during config check.
Please correct the configuration file.
interra:/# nxserver --adduser delayer
NX> 100 NXSERVER - Version 2.1.0-72-SVN OS (GPL)
NX> 1000 NXNODE - Version 2.1.0-72-SVN OS (GPL)
NX> 716 Public key added to: /home/delayer/.ssh/authorized_keys
NX> 1001 Bye.
NX> 999 Bye
interra:/var/lib/nxserver/home/.ssh# nxserver --passwd delayer
NX> 100 NXSERVER - Version 2.1.0-72-SVN OS (GPL)
New password:
Password changed.
NX> 999 Bye
interra:/home/delayer/!/rx# nxserver --restart
General -> Key... -> Import -> /path/to/dsa-key -> SaveВсе, проверяем подключение.
interra:/# nxserver --restart
delayer@inspire:~/.opera> echo -e "[Size]\nRows=3\nColumns=5\n" >> ~/.opera/speeddial.ini
Если требуется предоставить пользователям возможность обмена мгновенными сообщениями с людьми, подключенными к сети Google Talk через объединенные в федерацию сети, то необходимо изменить записи служб (SRV).Так как все мое хозяйство целиком и полностью находится в ведении гугла, то и правку DNS служб нужно делать через него.
Ужас, правда? =)
_xmpp-server._tcp.gmail.com. SRV 5 0 5269 xmpp-server.l.google.com.
_xmpp-server._tcp.gmail.com. SRV 20 0 5269 xmpp-server1.l.google.com.
_xmpp-server._tcp.gmail.com. SRV 20 0 5269 xmpp-server2.l.google.com.
_xmpp-server._tcp.gmail.com. SRV 20 0 5269 xmpp-server3.l.google.com.
_xmpp-server._tcp.gmail.com. SRV 20 0 5269 xmpp-server4.l.google.com.
_jabber._tcp.gmail.com. SRV 5 0 5269 xmpp-server.l.google.com.
_jabber._tcp.gmail.com. SRV 20 0 5269 xmpp-server1.l.google.com.
_jabber._tcp.gmail.com. SRV 20 0 5269 xmpp-server2.l.google.com.
_jabber._tcp.gmail.com. SRV 20 0 5269 xmpp-server3.l.google.com.
_jabber._tcp.gmail.com. SRV 20 0 5269 xmpp-server4.l.google.com.
_xmpp-client._tcp.gmail.com. SRV 5 0 5222 talk.l.google.com.
_xmpp-client._tcp.gmail.com. SRV 20 0 5222 talk1.l.google.com.
_xmpp-client._tcp.gmail.com. SRV 20 0 5222 talk2.l.google.com.
_xmpp-client._tcp.gmail.com. SRV 20 0 5222 talk3.l.google.com.
_xmpp-client._tcp.gmail.com. SRV 20 0 5222 talk4.l.google.com.
echo "1" > /proc/sys/kernel/sysrqТеперь можно и поиграться. В общих чертах опишем, что произойдет при нажатии тех или иных сочетаний. Для тех, кто до сих пор в танке, поясняем, что клавиша SysRQ совмещена на клаве с PrtScr, с принтскрином то есть. Итак, поехали!
Emergency Sync...OK
Emergency Umount... OKalt+sysrq+B - reboot аля ресет, то есть жестко, сразу, без каких либо сохранений, синхронизаций и прочих прелюдий.
Section "Screen"
<....>
DefaultDepth 24
Option "AllowGLXWithComposite" "True"
Option "RenderAccel" "True"
Option "AddARGBGLXVisuals" "True"
<....>
Section "Extensions"
option "Composite" "on"
delayer@inspire:~> ls ~/.prism/2798xkm2.default/webapps/в каждой из папок (по одной на каждое приложение) есть файлы localstore.json и webapp.ini, первый из которых отвечает за окно (его положение на столе, координаты, видимость и так далее), второй - конфиг приложения, параметры которого полностью повторяют параметры окна создания призмы. Вот там все на ура и правится. После перезапуска приложения настройки ясен пень перечитываются.
blogger@prism.app gmail@prism.app igoogle@prism.app