======LINUX - Sluzby====== ====Externi odkazy==== [[http://www.mjmwired.net/resources/mjm-services-f13.html|Seznam a popis sluzeb ve Fedore 13]]\\ [[http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch-Using_Control_Groups.html|cgconfig]]\\ [[http://lists.us.dell.com/pipermail/dkms-devel/2003-September/000007.html|dmks_autoinstaller]]\\ ====DHCP==== [[http://interperson.ic.cz/dhcp.php|DHCP]]\\ iptables -I INPUT -p udp --dport 67 -j ACCEPT\\ rpm -i dhcp\\ service dhcpd start/stop/status/configtest\\ /etc/dhcpd.conf\\ /etc/sysconfig/dhcpd\\ /var/lib/dhcpd/dhcpd.leases .. historie pridelenych adres\\ ==== DNS - Domain Name Server - named - BIND==== [[http://interperson.ic.cz/dns.php|DNS]] - BIND (berkley Internet Name Domain) rpm -i bind system-config-bind\\ iptables -t udp,tcp --dports 53,921,953 ... port pro preklad adres, pro lightwight resolving a pro ovladani Bindu pomoci rndc\\ service named start/stop/status/restart/reload\\ /etc/sysconfig/named\\ /etc/named.conf\\ /etc/rndc.conf\\ dig a.b.c ... otestuje dotaz - podrobny vypis\\ host a.c.v ... dotaz na server uvedeny v /etc/resolv.conf\\ nslookup a.b.c ... dotaz na DNS server\\ rndc-confgen > rndc.conf ... generovani klice pro rnd\\ rndc reload ... povi Bindu, ze ma znovu nacist konfiguracni soubory\\ ====NTP - Network Time Protocol==== rpm -i ntp ntpd\\ iptables -p udp --dport 123\\ service ntp start/stop/status\\ /etc/ntp.conf\\ ntpdate tik.cesnet.cz ... synchronizuje cas, pokud nejede ntp demon\\ ntpdate -q tik.cesnet.cz ... zjisti odstupnost ntp serveru a zjisti rozdil\\ ntpq -c peer ... ukaze prehled synchronizace\\ rdate tik.cesnet.cz ... zjisti rozdil casu\\ rdate -s tik.cesnet.cz ... provede zmenu\\ ====loadbalancer - pulse==== [[http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Load_Balancer_Administration/s1-lvs-block-diagram-VSA.html|service pulse start/stop]]\\ ====Apache2 - httpd==== service httpd|apache2 start/stop/status\\ /etc/httpd|apache2/conf/httpd.conf\\ /etc/httpd|apache2/conf.d\\ htpasswd -nb aaa bbb ... ukaze radek, jez je treba pro passwd soubor pro uzivatele aaa a heslo bbb pro .htaccess\\ htpasswd ~/htpasswd ccc ... zepta se na heslo pro uzivatele ccc a prida novy radek do ~/htpasswd\\ openssl genrsa -des3 -out server.key 1024 ... vytvori ssl key\\ openssl req -new -key server.key -out server.csr ... vytvori ssl csr\\ cp server.key server.key.org;openssl rsa -in server.key.org -out server.key ... odstrani passphrase\\ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt ... vytvori ssl crt\\ openssl s_client -connect localhost:403 ... pripoji se na port 403 jako klient SSL a otestuje SSL sluzbu\\ ====squid==== service squid start/stop/service\\ /etc/squit/squid.conf\\ ====sshd==== rpm -i openssh-server\\ iptables -p tcp --dports 22 -j ACCEPT\\ service sshd start/stop/status\\ /etc/ssh/sshd_config ... nastaveni serveru sshd\\ /etc/ssh/ssh_config ... nastaveni klienta ssh\\ [[config.txt|~/.ssh/config]] ... individualni nastaveni pro uzivatele\\ eval `[[http://mah.everybody.org/docs/ssh|ssh-agent]] -s` ... spusti ssh agenta, pote je mozne naimportovat klic\\ ssd-add ~/.ssh/id_abc ... naimportuje do pameti klic abc\\ ssh-keygen -t dsa ... vygeneruje dsa klic\\ ssh-keyscan\\ ssh-copy-id -i ~/.ssh/id_das a@b.c ... nakopiruje dsa klic na vzdaleny server do authorized_keys\\ scp\\ ssh, slogin, sftp\\ ssh -Y aaa.cz ... Prepinac -Y zapne X11 forwarding. Musi byt zapnuty i na serveru (X11Forwarding)\\ xhost +;ssh -R6000:localhost:6000 aaa; export DISPLAY=localhost:0 ... zapne forwarding portu 6000->6000, jedou X aplikace\\ ssh -R1234:localhost:22 aaa; ssh -R1234:localhost:1234 bbb; scp -P 1234 a.txt localhost:. ... kopirovani souboru pres ine servery\\ ssh -L23:aaa.cz:123 a@aaa.cz; telnet localhost 123 ... sifrovane telnet spojeni\\ ssh ... klavesy ~C - moznost psat dalsi volby, treba -R 10101:localhost:10102 pro reverzni tunel\\ [[http://linux.byexamples.com/archives/115/ssh-dynamic-tunneling/|ssh]] -p8332 -D4445 -N mysurface@1.2.3.4 ... Pripoji se na na 1.2.3.4:8332 a na portu 4445 udela socks5 proxy\\ ====SMTP - odchozi posta==== SMTP (simple message transfer protocol) - odchozi posta mail -vs "pozdrav" a@b.c ... odesle zpravu s nadpisem Pozdrav na adresu a@b.c, ukaze komunikaci\\ mailq ... ukaze maily ve fronte na doruceni (muze jich byt hodne, kdyz vzdaleny MTA odmita spojeni)\\ mailq -Ac ... ukaze maily ve fronte na doruceni do na lokalni server\\ alternatives --display mta ... ukaze, ktery program obsluhuje MTA (Mail transport agent)\\ alternatives --config mta ... vyber programu, ktery obsluhuje mta\\ alternatives --set mta /usr/sbin/sendmail.postfix ... nastavi jako vychozi MTA postfic\\ telnet 1.2.3.4 25 ... odeslani zpravy pomoci telnetu: HELO mynet.com MAIL From: a@aaa.com RCPT To: b@bbb.com DATA test . QUIT ==sendmail== rpm -i sendmail sendmail-cf sendmail-doc\\ iptables -p tcp --dport 25 -j ACCEPT ... smtp\\ iptables -p tcp --dport 465 -j ACCEPT ... smtps\\ service start/stop/status/restart/reload\\ /usr/sbin/sendmail\\ /usr/sbin/sendmail -d0= 500 quiet ... pro _autentifikaci_ je _nutne a staci_ aby UID bylo vetsi-rovno 500\\ auth requisite pam_tally.so deny=3 unlock=300 ... kdyz se zada 3x spatne heslo, uzivatel se zablokuje (faillog)\\ auth reqisite pam_nologin\\ auth [user_unknow=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so ... slozitejsi podminka: Nepusti nikoho krome roota, povoli mu pristup na specialni zarizeni\\ passwd include common-password ... pro _zmenu hesla_ _precist instrukce z_ common-password\\ ==napoveda== man -k pam_ ... prehled modulu a jejich popis\\ ==moduly== [[https://linux.die.net/man/8/pam_listfile|pam_listfile]] ... seznam uzivatelu, skupin, ...\\ [[https://linux.die.net/man/8/pam_sss|pam_sss]] ... pouziti sssd\\ pam_cracklib ... kontrola sily hesla \\ pam_deny ... selhani\\ pam_krb5 ... kerberos\\ pam_limits .. nastaveni systémových limitu (pamet, procesor, ..)\\ pam_nologin ... kontrola existencie /etc/nologin. Kdyz soubor existuje, prihlasi se jen root\\ pam_time .. pristup podle casu\\ pam_unix ... Kontroluje užívateľov a heslá podľa /etc/passwd a /etc/shadow\\ pam_warn – zaznamená do systémového logu pokus o prístup\\ ====NIS ==== server, klient - Network Information Server - sdili /etc/passwd, /etc/shadow, /etc/groups, /etc/gpasswd ==NIS server== balicky: rpm -i ypserv ypbind yp-tools portmap\\ SElinux bools: allow_ypbind\\ konfiguracni soubory: /etc/sysconfig/network, /etc/ypserv.conf, /var/yp/*, etc/sysconfig/yppasswdd\\ service portmap start ... postmaper\\ service yppassedd start ... NIS password change demon\\ service ypserv start ... NIS server\\ domainname aaa ... nastavi NISDOMAIN (nastavuje se tez v /etc/sysconfig/network>\\ (service ypxfrd start) ... NIS transfer diractory server pro prenos na sekundarni NIS servery\\ /usr/lib/yp/ypinit -m ... vytvoreni NIS databaze ve /var/yp/DOMAIN/\\ cd /var/yp/DOMAIN/;make ... prekompiluje daa do map\\ /usr/lib/yp/ypxfr MAPfile ... prenese MAPu z primarniho serveru\\ ==NIS klient== rpm -i ypbind\\ /etc/yp.conf - nastaveni NIS serveru\\ /etc/nsswitch.conf - nastaveni, jake NSS zdroje informaci budou akceptovany (local files, NIS, LDAP, atd)\\ authconfig --enablenis --nisdomain=example.com --nisserver=instructor.example.com --update ... zapne NIS autentifikaci\\ authconfig --disablenis --update ... vypne NIS autentifikaci\\ service ypbind start ... start NIS klienta\\ getent passwd USER1 ... dotaze se na passwd data o uzivateli USER1\\ ypcat passwd.byname ... vylistuje ze serveru passwd by name\\ ypwhich -m ... seznam map na NIS serveru\\ yppasswd -l aaa ... zmeni shell uzivatele aaa\\ yptest\\ ====LDAP - Lighweight Directory Access Protocol==== /etc/nsswitch.conf nastaveni ldap autentifikace\\ ==LDAP server== rpm -i openldap openldap-server\\ iptables -L input -p tcp,udp -dport 636,389 -j enable ... povoleni portu ve firewallu\\ /etc/openldap/slapd.conf, /var/lib/ldap/DB_CONFIG, /etc/openldap/schema/*, /etc/pki/tls/certs/*\\ slapadd -v -l example.ldif ... inicializuje LDAP databazi, zapise je v /var/lib/ldap/\\ chown ldap.ldap /var/lib/ldap/* service ldap start ... spusti ldap server\\ slapcat ... vypis hodnot v LDAP databazi\\ ldapmodify -s -f modify.ldif ... pridava, ubira, modifikuje zaznamy v LDAP databazi, jednoducha autentifikace\\ service ldap stop;slapindex;service ldap start ... preindexovani databaze\\ ==LDAP klient== rpm -i nss_ldap openldap openldap-clients\\ slapd\\ /etc/ldap.conf ... specifikuje, adresu LDAP serveru, DN, TLS sifrovani\\ /etc/openldap/ldap.conf ... specifikuje, adresu LDAP serveru, DN, TLS sifrovani pro manualni dotazy pomoci prikazu ldap klienta (ldapsearch -x -Z)\\ authconfig %%--%%enableldap %%--%%ldapserver=instructor.example.com %%--%%ldapbasedn=dc=example,dc=com %%--%%ldaploadcacert=ftp://instructor/pub/cacert %%--%%update ... zapne LDAP informace o uzivatelich\\ authconfig %%--%%enableldapauth %%--%%ldapserver=instructor.example.com %%--%%ldapbasedn=dc=example,dc=com %%--%%ldaploadcacert=ftp://instructor/pub/cacert %%--%%update ... zapne LDAP autentifikaci\\ authconfig %%--%%disableldap %%--%%update ... vypne LDAP informace o uzivatelich\\ authconfig %%--%%disableldapauth %%--%%update ... vypne LDAP autentifikaci\\ slapcat ... vypis hodnot v LDAP databazi\\ ldapsearch -b 'dc=example,dc=com' '(objectclass=*)' ... (balicek openldap-clients) dela dotazy na ldap server\\ ldapsearch -b dc=local -D admin@local -H ldap://localhost -w $pwd "(mail=aaa@local)" cn ... zobrazi polozku cn pro filtr mail=aaa@local\\ ldapmodify -D 'cn=root,dc=example,dc=com' -W -f modify.ldif ... pridava, ubira, modifikuje zaznamy v LDAP databazi, pta se na heslo pro root\\ ====Kerberos==== **server**\\ rpm -i krb5-server krb5-workstation (ntp) iptables -L input -p tcp,udp -dport 88,464,749,543,2105 -j enable ... povoleni portu ve firewallu fpr kerberos, kpasswd, kadmin a 2x klogi\\ /etc/krb5.conf\\ /usr/kerberos/sbin/kdb5_utl create -r REALM -s ... vytvori dazabazi REALM ve /var/kerberos/krb5kdc/*\\ kadmin.local ... lokalni administrace kerberos\\ kadmin ... vzdalena admonistrace kerberos\\ service krb5kdc start ... spusteni kerberos\\ service kadmin start ... spusteni kadmina\\ **klient**\\ rpm -i krb5-workstation\\ /etc/krb5.conf ... konfiguracni soubor\\ realm discover ifs.ori.local ... /usr/kerberos/bin/telnet,ftp,rsh,rcp ... kerberos telnet,ftp,rsh,rcp\\ kpasswd ... zmena kerberos hesla\\ ksu ... kerberos su\\ [[https://web.mit.edu/kerberos/krb5-devel/doc/user/tkt_mgmt.html|kinit]] ... vytvoreni ticketu s oberenim hesla na 10 hodin\\ kinit -f -l 3h david@EXAMPLE.COM ... vytvoreni forwardovatelneho ticketu na jine pocitace s expiraci 3 hodiny\\ kinit username@MYDOMAIN.COM -k -t /etc/krb5.keytab ... autentifikace pomoci klicenky\\ klist -f ... seznam aktualnich Kerberos ticketu, vcetne flagu\\ kdestroy ... zruseni existujiciho ticketu\\ ktutil ... spusti nastroj na administraci klicenky\\ kvno XXX/YYY ... XXX/YYY je adresa z klist - vypise verzi klice Kerberos principal\\ ====AD authentifikace (Active Directory)==== **samba**\\ rpm -i pam_smb\\ /etc/pam_smb.conf, /etc/pam.d/system-auth\\ **[[http://samba.org/samba/docs/man/Samba3-HOWTO/winbind.html|winbind]]**\\ rpm -i samba-common, adcli\\ /etc/pam.d/system.auth\\ smbd -b | grep CONFIGFILE ... konfiguracni soubor Samby\\ adcli info DOMAIN ... informace o domene\\ adcli join -D DOMAIN -U tomas@DOMAIN -W --show-details -v ... pripojeni do domeny - musi existovat zaznam computer v AD a musi mit pravo na zapis od uzivatele tomas\\ ====FreeIPA==== [[http://freeipa.org/|FreeIPA]] je reseni bezpecnostniho informacniho managementu kombinujici Linux (Fedora), 389 (Fedora Directory Server), MIT Kerberos, NTP, DNS. Sklada se z weboveho ovladacio prostredi a prikazu. ====SSSD - System Security Services Daemon==== [[https://fedorahosted.org/sssd/|SSSD]] je systemovy demon, jehoz hlavni funkci je umoznit pristup k ID a autentifikace vzdalenych prostredku pomoci obecnehych nastroju. Poskytuje caching a offline podporu na systemu, PAM a NSS moduly a bude obsahovat D-BUS interfejs, k rozsireni uzivatelskych informaci. sudo sssd -d9 -i ... spusteni sssd mimo sluzbu pro detailni informace o chybe\\ journalctl -u sssd ... log sluzby\\ systemctl restart sssd .... restart sluzy\\ /etc/sssd/sssd.conf ... konfigurace - v kazde sekci je treba specifikovat debug_level = 6 pro lepsi debug\\ /var/log/sssd/ ... logy\\ sss_cache --everything ... vysypani cache\\ [[https://docs.pagure.org/SSSD.sssd/users/sudo_troubleshooting.html|troubleshooting1]] a [[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system-level_authentication_guide/troubleshooting-sudo|troubleshooting2]]\\ ldbsearch -H /var/lib/sss/db/cache_$domain.ldb -b cn=sysdb '$filter' ... prohlizeni cache\\ ====auditd==== service auditd start/stop/status\\ /etc/audit/*\\ /var/log/audit/audit.log\\ ausearch\\ aureport\\ ====cron==== service cron start/stop/status\\ /etc/cron.allow\\ /etc/cron.deny\\ crontab -l ... seznam naplanovanych uloh\\ crontab -e ... editace naplanovanych uloh\\ ====System crontab==== /etc/crontab ... konfiguracni soubor\\ /etc/cron.* ... adresare se spoustenymi skripty\\ ====SELinux ==== Security extended Linux - vetsi zabezpeceni prav pro soubory - cast jadra /etc/sysconfig/selinux ... nastaveni SELinuxu\\ ls -Z ... seznam prav pro soubory\\ ps -Z ... seznam prav pro procesy\\ chcon -t etc_t install.log ... zmeni prava na etc_t\\ chcon --reference /etc/passwd /var/log/messg ... zmeni prava /var/log/messg podle /etc/passwd\\ restorecon /root/* ... vrati prava souboru (a adresaru /root/*) na puvodni prava (definovana)\\ getenforce ... ukaze miru zabezpeceni - Enforcing - brani vyuzivani nevhodnych souboru, Permissive - jen loguje\\ setenforce 0 ... prepne rezim z Enforce na Permissive\\ getsebool -a ... vylistuje prepinace booleans\\ setsebool -P allow_ftpd_anon_write on ... pernamentne povoli anonymni upload\\ semanage ... nastavuje a ukazuje nadefinovana pravidla\\ semenage fcontext -l | cut -d: -f3 | sorn -u | grep "named.*_t" ... vylistuje typy souboru pro proces named\\ service setroubleshootd start ... bere logy z audit.log a okomentovane vkladaa do messages\\ sealert ... vypisuje okomentovane logy z messages\\ man 0 selinux\\ man httpd_selinux samba_selinux ftpd_delinux named_selinux nfs_selinux\\ ====Anaconda==== ====homed==== systemctl status systemd-homed ... stav služby\\ homectl ... seznam uživatelů\\ homectl create UZIVATEL ... vytvoří uživatele\\ ====MRG==== Massages, Realtime, Grid - [[http://www.redhat.com/f/pdf/MRG_whitepaper_web.pdf|MRG]] je sada nastroju, vcedte casti jadra, konfiguracnich nastroju, nastroju na monitorovani vykonu, AMQP zprav, podpora virtualizace (posilani virtualnich stroju) a jinych, na vybudovani infrastruktury vyuzivajici lipe prostredku a zvyseni celkoveho vykonu yum install condor\\ ====ostatni==== [[http://www.amanda.org|amanda]] ... zalohovaci server\\ [[http://nagios.sourceforge.net/docs/|nagios]] ... monitorovaci sluzba - monitoruje stroje, sluzby, FS a tvori alerty\\ logwatch ... dela denni prehledy log souboru\\ /etc/logwatch/conf/logwatch.conf\\ logrotate ... rotuje log soubory\\ /etc/logrotate.conf\\ tmpwatch ... cisti stare soubory ve specifickych adresarich\\ anacron ... spousti cron ulohy, ktere nebyly spustene behem doby, kdy byl pocitac vypnuty\\ /etc/acacrontab\\ service autofs start/stop/status ... automounter\\ /etc/auto.master\\ rpm -i xinetd /etc/xinetd.conf service xinetd start/stop/status/restart/reload\\ chkconfig kudzu off # Annoying RedHat new hardware detection chkconfig isdn off # ISDN controller chkconfig nscd off # Network authentication (not needed when standalone) chkconfig gpm off # Some kind of mouse server chkconfig sendmail off # Mail utility (not needed for non-server) chkconfig netfs off # Automatically mount network file systems chkconfig ntpd off # Network Time Protocol daemon (not needed when standalone) chkconfig autofs off # Automounter chkconfig rawdevices off # Creates raw devices for Oracle, etc. chkconfig cups off # Printer daemon (not needed if you don't have a printer) chkconfig postfix off # Postfix mail system (not needed for non-server) chkconfig smpppd off # SuSE meta PPP daemon chkconfig fbset off # Framebuffer devices ? chkconfig splash off chkconfig splash_early off chkconfig splash_late off