"tab" (slutför kommando) - Dagens terminalkommando  

Postat av rancor under ,

Tangenten "Tab" är inget kommando i sig men det är något som underlättar enormt mycket eftersom bash kan slutföra kommandon åt dig.

Om du t.ex. skriver "ifcon" och trycker på "tab" så kommer bash slutföra kommandot åt dig och lägga till resterade så att det står "ifconfig" i terminalen. bash kan alltid slutföra unika kommandon men om det finns flera potentiella kommando så får du istället upp en lista på dem som går att slutföra och du måste själv lägga till några tecken så att det till slut blir unikt och går att slutföra.

Testa med att skriva if och tryck "tab" vilket kommer ge dig 4 olika förslag av kommandon. Lägg till bokstaven "c" så det står "ifc" vilket är unikt för ifconfig så slutför bash kommandot åt dig.

Samma sak gäller sökvägar och filnamn i kombination med kommandon.

För mer hjälp om bash skriver du "man bash".

// rancor

Konfigurera SSH för ökad säkerhet  

Postat av rancor under ,

Konfigurera SSH för ökad säkerhet

Det finns några steg man bör ta efter att man installerat SSH på ditt system. En kedja är inte starkare än den svagaste länken och gällande SSH är ett svagt lösenord till t.ex. root ett allvarligt hot.

Det vi skall göra är att byta port från 22 till valfri, skapa ett certifikat och stänga av möjligheten att logga in utan certifikat. Vi skall även kontrollera så att root inte får logga in då det är mycket bättre att använda sudo när administratörsrättigheter behövs. Vidare skall vi stänga ner några krypteringsmetoder som inte anses som fullt så säkra samt öppna upp för visuell identifiering av serverns "fingeravtryck".

Skapa nyckel
Vi väljer att använda en RSA-nyckel på t.ex. 4096 bitar. Öppna ett terminalfönster och skriv in följande: '''ssh-keygen -t rsa -b 4096'''. 1024 sägs vara tillräckligt säkert men man kan aldrig vara för säker ;-)

rancor@rancor-laptop:~$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Du får sedan upp en fråga var du vill spara din nyckel. Har du redan nycklar i id_dsa bör du ange ett annat namn för filen skrivs över annars. Är du nöjd med förlaget tycker du bara retur
Enter file in which to save the key (/home/rancor/.ssh/id_rsa):
Sedan skall du ange lösenord. Tänk på att blanda stora och små bokstäver samt lägga in tecken och siffror. Gärna en liten mening som hjälper dig att komma ihåg lösenordet utantill.
Enter passphrase (empty for no passphrase): M1tt H3ml1g@ löSe40rD
Enter same passphrase again: M1tt H3ml1g@ löSe40rD
Your identification has been saved in /home/rancor/.ssh/id_rsa.

Your public key has been saved in /home/rancor/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:x:xx:xx:xx:xx:xx:xx
Installera den publika nyckeln i systemet
Den publika nyckeln skall läggas i ~/.ssh/authorized_keys och det kan finnas fler nycklar än en. Se till att göra radmatning mellan nycklarna.
Om nyckeln skall installeras på samma system kopierar du helt enkelt id_dsa.pub till authorized_keys.
rancor@rancor-laptop:~$ cd ~/.ssh
rancor@rancor-laptop:~/.ssh$ cp id_rsa.pub authorized_keys

Skulle det vara en extern maskin kan du använda scp för att kopiera nyckeln, tänk då på att du inte skriver över authorized_keys om det skulle finnas existerande nycklar i filen. För att kopiera (skriva över befintlig fil) gör du följande
rancor@rancor-laptop:~/.ssh$ scp -p ~/.ssh/authorized_keys 192.168.0.1:.ssh/
rancor@192.168.0.1’s password:
authorized_keys 100% 1839 1.2MB/s 00:00

Se även till att ~/.ssh/autorized_keys och ~/.ssh/id_rsa endast har gällande användares rättigheter. Vid problem använd chmod 600 för att åtgärda.

Konfigurera sshd
Nästa steg är att kontrollera inställningarna för sshd. Filen vi skall modifiera heter /etc/ssh/sshd_config
Börja med att skapa en säkerhetskopia av sshd_config
rancor@rancor-laptop:/$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
Password:

Sedan använder vi lämplig editor för att modifiera sshd_config
rancor@rancor-laptop:/$ sudo nano /etc/ssh/sshd_config

Följande rader skall ändras:
  • Port 22
  • LoginGraceTime 120
  • PermitRootLogin yes
  • Ciphers
Nya värden skall vara:
  • Port 10022
Välj annan port än 22, dock högre än 10000 för det finns mängder med standardportar som man lätt kan hamna på av misstag som kan skapa problem längre fram. Det innebär heller ingen direkt ökad säkerhet att ändra port, men man slipper de flesta script-kiddies attacker och maskar när man flyttar sig från standardportar. Detta gäller samtliga tjänster och inte bara ssh.
  • LoginGraceTime 30
LoginGraceTime är antalet sekunder innan man blir utkastad om man inte lyckas med inloggningen. Det är en smaksak men 120 sekunder behöver man normalt sätt inte på sig. Sänk den med fördel. Dock bör du hinna ange ditt lösenord innan tiden går ut.
  • PermitRootLogin no
Root behöver inte kunna logga in via ssh. Du kan använda sudo istället vilket är mycket säkrare.
Vi skall även lägga till en så att man förhindrar möjligheten att logga in med hjälp av användarnamn och lösenord vilket betyder att man tvingas använda certifikat. Lägg till:
  • PasswordAuthentication no
  • Ciphers aes128-ctr,aes256-ctr,arcfour256,arcfour,aes128-cbc,aes256-cbc
Ciphers ändrar vi på grund av en potentiell sårbarhet i vissa krypteringsmetoder, mer information om dessa här:
[1] http://openssh.org/txt/cbc.adv
[2] http://www.cpni.gov.uk/Docs/Vulnerab...visory_SSH.txt
[3] http://www.cs.washington.edu/homes/y...pers/TISSEC04/

Kontrollera även så att följande rader så att standardinställningarna stämmer:
  • Protocol 2
  • UsePrivilegeSeparation yes
  • StrictModes yes
  • RSAAuthentication yes
  • PubkeyAuthentication yes
Spara och avsluta.

Nu skall vi bara starta om sshd så att de nya inställningarna tar.

rancor@rancor-laptop:~/.ssh$ sudo /etc/init.d/ssh restart
Password:
* Restarting OpenBSD Secure Shell server... [ OK ]

Konfigurera ssh för visuell värdnyckel (Visual Host Key)
När man loggar in mot en viss värd är det inte så lätt att identifiera att det är rätt maskin, någon kan till exempel ha styrt om din DNS till en annan maskin och på så sätt lura dig att logga in i fel maskin för att stjäla kontouppgifter.

För att lösa detta har gänget bakom OpenSSH utvecklat en visuell representation av nyckeln så att det blir mycket lätt att känna igen sitt egna system. För att aktivera VisualHostKey skall man ändra i antingen /etc/ssh/ssh_config vilket gäller alla användare eller
~/.ssh/config för en personlig inställning

Lägg till följande i konfigurationen ("Host * finns redan överst i ssh_config)
Host *
VisualHostKey yes

Testa och verifiera
Testa att logga in i systemet. Glöm inte av att du har bytt port. Du måste även ange användarnamn om du inte har samma användarnamn på fjärrdatorn som den lokalt inloggande användare. Detta gör du genom att skriva användarnamn@server.ip
rancor@rancor-laptop:/$ ssh rancor@localhost -p 10022
Host key fingerprint is 66:12:14:8a:31:23:4f:86:13:f2:1c:4d:33:dd:d4:67
+--[ RSA 4096]----+
| |
| .o |
| . =o .|
| . += E|
| + S . .o|
| . + .. o|
| . o.= |
| +o+ o|
| +=o |
+-----------------+
Enter passphrase for key '/home/rancor/.ssh/id_dsa':
Nu är du säkert inloggad i ditt system

// rancor

Nytt utseende på bloggen  

Postat av rancor

Jag har bytt utseende på bloggen och när jag labbar kan det uppstå lite störningar och ibland svarar inte tjänsten över huvud taget men då är det bara att försöka lite senare.

Tyvärr har några bilder försvunnit som jag måste ladda upp på nytt, vi får se när detta sker då dem finns på en annan dator.

// rancor

Fjärrstyr Ubuntu med FreeNX  

Postat av rancor under

FreeNX är en trevlig programvara för att fjärrstyra din X-session (t.ex. Gnome och KDE) så att du grafiskt kan arbeta med din dator vart du än befinner dig. Uppkopplingen sker via SSH all data mellan klient och server är krypterad. FreeNX kan närmst likna fjärrskrivbordet i Windows och du behöver inte till skillnad mot det inbyggda fjärrskrivbordet i Ubuntu redan vara inloggan då du med FreeNX startar X om det behövs. En nackdel som är värd att nämna direkt är att du inte kan kräva att använda endast certifikat mot din SSH-server då FreeNX kräver inloggning med lösenord.

Installation
Installera FreeNX server på den maskin som du önskar fjärrstyra. I dagsläget kan du använda FreeNX för Gutsy (7.10), Hardy (8.04) eller Intrepid (8.10).

Börja med att lägga in källan till FreeMX i ditt repository på servern. Starta ett terminalfönster och skriv följande:

gksudo gedit /etc/apt/sources.list
Lägg till följande två rader i slutet, glöm inte att ändra VERSION mot dapper, hardy eller intrepid vilket motsvarar den version som du själv kör på din server som du önskar fjärrstyra.
deb http://ppa.launchpad.net/freenx-team/ubuntu VERSION main
deb-src http://ppa.launchpad.net/freenx-team/ubuntu VERSION main
Spara sedan och stäng Gedit

Nästa steg är att uppdatera APT genom att skriva följande i terminalen:
sudo apt-get update
Installera sedan FreeNX genom att skriva följande i terminalen:
sudo apt-get install freenx
Byt sedan ut standardnyckeln för SSH som FreeNX använder för att ge dig ett optimalt skydd

Byt ut standardnyckeln för SSH
Alla standardinstallationer av server och klient delar på samma nyckel vilket i sig inte garanterat är ett problem men som man bör byta för att ge servern maximalt skydd.

Nyckeln som alla klienter skall använda finns lagrad i följande fil: /var/lib/nxserver/home/.ssh/client.id_dsa.key, denna fil skall ersättas med en ny privat nyckel som vi skall skapa och den publika skall vi lägga i /var/lib/nxserver/home/.ssh/authorized_keys2

Skriv följande kommando i terminalen:
Säkerhetskopiera originalfilerna
sudo mv /var/lib/nxserver/home/.ssh/client.id_dsa.key /var/lib/nxserver/home/.ssh/client.id_dsa.key-backup
sudo mv /var/lib/nxserver/home/.ssh/authorized_keys2 /var/lib/nxserver/home/.ssh/authorized_keys2-backup
Skapa en ny nyckel som sparas i filen /var/lib/nxserver/home/.ssh/client.id_dsa.key
sudo ssh-keygen -t dsa -f /var/lib/nxserver/home/.ssh/client.id_dsa.key
Ange INGET lösenord, det måste vara tomt.

Nu har du även fått en publik nyckel som heter /var/lib/nxserver/home/.ssh/client.id_dsa.key.pub vilken vi skall använda till den nya publika nyckeln till FreeNX-servern
echo 'no-port-forwarding,no-agent-forwarding,command="/usr/lib/nxserver" ' | sudo tee /var/lib/nxserver/home/.ssh/authorized_keys2
sudo cat /var/lib/nxserver/home/.ssh/client.id_dsa.key.pub | sudo tee -a /var/lib/nxserver/home/.ssh/authorized_keys2
Ta vara på ny nyckel till klienten
Ta och spara den nya privata nyckeln som alla klienter måste använda sig utav på ett säkert ställe. Kopiera följande text på ett säkert ställe
sudo cat /var/lib/nxserver/home/.ssh/client.id_dsa.key
Installera klient
Klienten laddas ner från http://www.nomachine.com
Denna guide går endast igenom installationen av linux-klient för Ubuntu

Välj antingen 32 eller 64-bitar beroende på ditt system. Spara filen på skrivbordet och dubbelklicka på filen eller starta den direkt med GDbi Package installer och följ instruktionerna.

Klienten hittas nu under Applikationsmenyn/Internet/NX Client for Linux

Om du har bytt nyckel måste du även nu byta ut nyckeln för din NX-session. Starta NX Client for Linux och ange ditt användarnamn som "Login", ditt lösenord under "Password" och i Session anger du IP eller fullständigt värdnamn till din server. Klicka sedan på Configure och under fliken "General" klickar du på "Key..."
Radera befintlig nyckel och klistra in den som du sparade under rubriken "Ta vara på ny nyckel till klienten". Klicka på "Save" och "Ok".

För att logga in klickar du på "Login"

Referenser
// rancor

nano - Dagens terminalkommando  

Postat av rancor under ,

nano är en enkelt textbaserad text-editor och startas genom att skriva "nano" men oftast i samband med ett filnamn som t.ex "nano /var/log/messages". Just messages är kanske inte en fil man normalt går in och ändrar i men det är en fil alla har och som blir ett bra exempel.

Väl inne i nano får man hjälp genom att trycka Ctrl+g vilket är ett av dem viktigaste kortkommandona.

För att avsluta trycker man Ctrl+x vilket även ger frågan om man vill spara genom att ange N för Nej (No) eller Y för Ja (Yes). Tryckte man Ctrl+x av misstag ångrar man genom att trycka Ctrl+c för att avbryta.

Page up och Page down fungerar som vanligt, även piltangenterna.

För att snabbt hoppa till slutet på en rad trycker man Ctrl+e och för att hoppa tillbaka trycker man Ctrl+a

Det finns mänger med trevliga snabbkommandon att använda men man klarar sig bra utan dem för enklare editeringar.

Om man tycker nano är lite för enkelt så finns alltid "vi" vilket jag brukar använda eftersom vi i princip alltid finns i dem flesta Unix-liknande system som t.ex OpenBSD och Sun Solaris men även i strippade embedded-system baserade på Linux så det är ett mycket bra alternativ att lära sig.

// rancor

clear - Dagens terminalkommando  

Postat av rancor under ,

När man har mycket på skärmen och skall skriva något avancerat kommando så brukar många trycka enter flera gånger för att få lite utrymme och för ökad läsbarhet. Kanske är det bättre att rensa hela skärmen vilket kan gör med kommandot "clear". Kommandot har inga växlar utan är kanske ett av dem mest simpla som finns.

// rancor

Så här byter du namn på din Ubuntu-maskin  

Postat av rancor under ,

Om du av någon anledning behöver byta namn på din maskin eller om t.ex. domänen du använder byter namn så är det viktigt att du uppdaterar din konfiguration.

Det finns tre filer som eventuellt behöver uppdateras vilka är "/etc/hosts", "/etc/hostname" samt "/etc/resolv.conf". Om du har dynamisk IP så kommer resolv.conf uppdateras automatiskt från din DHCP-server

I filen "/etc/hostname" står endast datorns värdnamn vilket bara skall vara ett enda "ord", t.ex:

wastebin
Uppdatera sedan "/etc/hosts" så att datorns fullständiga värdnamn och domän står med i filen som t.ex:
127.0.0.1 localhost
127.0.1.1 wastebin.serverpark.nu wastebin

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
I exemplet ovan står datorn under domänen "serverpark.nu"

Den 3:e filen är "/etc/resolv.conf" som behöver uppdateras
Den kan se lite olika ut men ett standardutseende är ungefär som följer:
domain serverpark.nu
search serverpark.nu
nameserver 1.2.3.4
nameserver 1.2.3.4
Det är alltså viktigt att uppdatera alla tre för att domännamn och värdnamn skall stämma överens med verkligenheten.

För att förändringarna skall tas är det enklast att starta om maskinen eller köra följande script:
sudo /etc/init.d/hostname.sh
// rancor

df - Dagens terminalkommando  

Postat av rancor under ,

Om man är intresserad av att veta hur hårddiskarna används så är "df" rätt kommando att använda. Skriver man bara df så får man standardutskriften vilket kan se ut som följer:

rancor@crm:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 19734388 1297384 17434552 7% /
tmpfs 257028 0 257028 0% /lib/init/rw
varrun 257028 64 256964 1% /var/run
varlock 257028 0 257028 0% /var/lock
udev 257028 2628 254400 2% /dev
tmpfs 257028 0 257028 0% /dev/shm
Tyvärr visas inte informationen i något vidare läsbart format som standard och för att få lite mer lättläst format som man är van vid lägger man till växeln -h (human readable) precis som för ls.
rancor@crm:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 1.3G 17G 7% /
tmpfs 252M 0 252M 0% /lib/init/rw
varrun 252M 64K 251M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 2.6M 249M 2% /dev
tmpfs 252M 0 252M 0% /dev/shm
// rancor

less - Dagens terminalkommando  

Postat av rancor under ,

För att enkelt läsa i en textfil är "less" ett riktigt bra kommando. less låter dig läsa både upp och ner i dokumentet samt du kan lätt hoppa till specifik rad eller söka. Snabbkommandon för less är en blandning av more och vi.

För att läsa i en fil skriver man less [filnamn] som t.ex. "less /etc/group"

Här följer några användbara snabbkommandon:

  • :[radnummer] - Hoppar till önskad rad, ex: :41
  • /[sökord] - Letar upp och markerar sökordet, ex: /manual
  • [pil ned] - Bläddar nedåt
  • [pil upp] - Bläddrar uppåt
  • q - Avslutar
// rancor

Skriv "virus" till Linux i 5 enkla steg  

Postat av rancor under ,

Jag hittade detta mycket intressanta blogginlägg från "foobar" med rubriken "How to write a Linux virus in 5 easy steps". Den sårbarhet som beskrivs är ett ett känt problem men som man ännu inte bryr sig om i varken KDE eller Gnome, Xfce har dock lagt in någon form av skydd.

Kortfattat handlar sårbarheten om att man bifogar genvägar eller mer kända som "launchers" i t.ex. ett e-postmeddelande vilket är en liten textfil som innehåller en länk till ett exekverbart program samt vilken ikon man vill ha. Denna launcher behöver inte vara exekverbar i sig utan för användarvänlighetens skull så fixar Gnome och KDE detta och kör kommandot som står beskrivet i filen. Detta kommando kan t.ex. hämta hem script från Internet och sedan exekvera det. Vad som händer sedan är upp till programmeraren men det kan t.ex. vara en Firefox-plugin som stjäl lösenord eller vart nu fantasin sätter sina gränser.

Läs mer här: http://www.geekzone.co.nz/foobar/6229

// rancor

sudo - Dagens terminalkommando  

Postat av rancor under ,

I Ubuntu så är ens vanliga användare ingen administratör och har således inte heller några administrativa rättigheter och för att göra administrativa åtgärder. För att tillfälligt få dessa rättigheter används kommandot "sudo".

Sudo låter dig köra kommandon som en annan användare och då vanligtvis root genom att skriva sudo [kommando] som t.ex. "sudo apt-get update". När man tryckt enter behöver man ange lösenord och då är det samma lösenord som till ditt egna konto som avses.

// rancor

Installera FTP-server  

Postat av rancor under

Denna guide beskriver hur man installerar vsftpd i Ubuntu 8.10

Att tänka på
Denna installation omfattar inte några specialanpassade säkerhetsinställningar. Konton som kan logga in på FTP-servern har samma rättigheter i hela filsystemet som för gällande användare. Om flera olika användare får möjlighet att logga in är det viktigt att tänka på att dessa endast får tillgång till de delar som är tänkt men guiden kommer inte att gå igenom detta just nu, kanske kommer ett komplement för hur man säkrar upp vsftpd i Ubuntu lite senare.

Installation
Installera genom att skriva följande i terminalen:

sudo apt-get install vsftpd
Konfigurera FTP-servern
Editera /etc/vsftpd.conf och anpassa inställningarna för ditt system, för hjälp gällande vilka inställningar som kan göras kan "man vsftpd.conf" användas.
sudo nano /etc/vsftpd.conf
Tänk på att anonyma användare får tillgång till FTP-servern som standard vilket man antagligen inte vill. För att stänga av anonyma användare leta upp följande rad:
anonymous_enable=YES
och ändra till
anonymous_enable=NO
Om man tar bort möjligheten för att anonyma användare skall kunna logga in måste kan aktivera lokala konton vilket man gör genom att se till att local_enable=YES, denna rad kan vara bortkommenterad och skall då se ut enligt följande:
local_enable=YES
Starta om vsftpd
När önskade ändringar är gjorda spara och starta sedan om vsftpd
sudo /etc/init.d/vsftpd restart
// rancor

man - Dagens terminalkommando  

Postat av rancor under ,

Om man behöver hjälp gällande ett kommando, systemanrop, inställningsfiler (dem under /etc/) eller kanske systemadministration så finns kommandot "man" som är ett gränssnitt mot installerade programs manualer.

För att t.ex. få hjälp om just man skriver man "man man", vill man få hjälp om ls skriver man "man ls".

För att söka i en man-fil trycker man först "/" och sedan skriver man sökordet följt av enter.
Exempel "/files" för att söka efter sökordet "files". För att stega till nästa träff trycker man "n" för next (nästa) eller för att backa "p" för previous (föregående).

För att avsluta trycker man på "q".

// rancor

ls - Dagens terminalkommando  

Postat av rancor under ,

ls är programmet som visar innehållet i en katalog och står för "list directory contents". Om du hade använt Windows hade du fått skriva "dir" istället.

Skriver man bara "ls" får man samtliga kataloger och filer utskrivna i långa rader på skärmen vilket inte alltid är så användbart eller läsbart för den delen heller.








Oftast enklare och mer överskådligt att skriva "ls -l" där -l står för "use a long listing format", alltså visas en mer detaljerad lista på filerna.
Som ni ser syns nu filens/katalogens rättigheter, vem som äger filen, grupptillhörighet, storlek, tidpunkt när filen senast ändrades samt om det är en länk.

Filernas storlek visas dock i bytes vilket kan bli lite svårläst och då kan man lägga till växel -h som står för "human readable" vilket skalar ner till kilobyte, megabyte, gigabyte eller annan passande storhet.


Önskar man endast visa filer som börjar på bokstaven a kan man använda jokertecken som b* som visar allt som börjar med b.
Exempel: ls -lh b*


För att t.ex. endast visa .log-filer lägger man istället till jokertecknet innan filsuffixet som t.ex. ls *.log.

Exempel: ls *.log


För att visa samtliga filer som även är dolda lägger man till -a vilket behövs i t.ex. sin hemmakatalog som ofta innehåller mängder med dolda kataloger vilket ni ser i exemplet nedan. Först kör jag ls -lh och sedan lägger jag till a för att visa samtliga och då ser man ett gäng kataloger som börjar med . (punkt) vilket är ett sätt att dölja filer och kataloger i Linux


// rancor

cd - Dagens terminalkommando  

Postat av rancor under ,

cd som står för Change Directory - byt katalog är det kommando man använder för att navigera sig i sitt filträd. För att få hjälp om cd skriver man "help cd" eftersom cd inte är ett program utan en funktion i bash som är Ubuntus standardskal

rancor@crm:~$ help cd
cd: cd [-L|-P] [dir]
Change the current directory to DIR. The variable $HOME is the
default DIR. The variable CDPATH defines the search path for
the directory containing DIR. Alternative directory names in CDPATH
are separated by a colon (:). A null directory name is the same as
the current directory, i.e. `.'. If DIR begins with a slash (/),
then CDPATH is not used. If the directory is not found, and the
shell option `cdable_vars' is set, then try the word as a variable
name. If that variable has a value, then cd to the value of that
variable. The -P option says to use the physical directory structure
instead of following symbolic links; the -L option forces symbolic links
to be followed.
När man startar en ny terminalsession så hamnar man som standard i sin hemmakatalog vilket är /home/"användarnamn".
rancor@crm:~$ pwd
/home/rancor
För att gå upp en nivå till /home skriver man "cd .."
rancor@crm:~$ cd ..
rancor@crm:/home$ pwd
/home
Som ni även ser använder jag kommandot pwd för att verifiera att jag står i rätt katalog

Om man vill byta till en katalog man vet sökvägen till skriver man cd "sökväg" och enklast är ange sökvägen från botten av katalogstrukturen. Botten, här efter root-katalogen anges som / och det är under denna alla samtliga kataloger och filer finns på hela systemet. För att då förflytta sig till /var/log skriver man följande "cd /var/log"
rancor@crm:/home$ cd /var/log
rancor@crm:/var/log$ pwd
/var/log
Det finns en smidig genväg för att förflytta sig hem igen till sin hemmakatalog och för att göra det skriver man endast "cd"
rancor@crm:/var/log$ cd
rancor@crm:~$ pwd
/home/rancor
// rancor

pwd - Dagens terminalkommando  

Postat av rancor under ,

Vi börjar serien "dagens terminalkommando" med ett mycket grundläggande kommando som heter pwd vilket står för "Print Working Directory". Kommandots enda uppgift är att skriva ut aktuell katalog som man står i just för tillfället.

rancor@crm:/var/log$ pwd
/var/log
rancor@crm:/var/log$
Vid en normalinstallation så ser man i bash vart man befinner sig eftersom prompten anpassar sig allt eftersom man byter katalog, innan ovan stod jag i /var/log vilket man ser efter användarnamn@maskinnamn: men det finns tillfällen då detta saknas eller att man vill säkerhetsställa att man står i rätt katalog innan man t.ex. raderar samtliga filer i t.ex. /tmp

En liten "lustig" sak men pwd är att man-filen är trasig i Ubuntu. Enligt hjälpen skall --version samt --help fungera att ange som växel men det gillar inte pwd som ger följande felmeddelande:
rancor@crm:/var/log$ pwd --version
-bash: pwd: --: invalid option
pwd: usage: pwd [-LP]
Som vanligt är det mycket viktigt att anmäla samtliga buggar man hittar, stora som små och det är vår skyldighet att anmäla dem så att utvecklarna får chansen att åtgärda eventuella problem. Buggar för Ubuntu anmäler man hos Launchpad på följande adress https://bugs.launchpad.net/

edit: Det var ingen bugg utan en "feature". När man skriver pwd exekveras en internt funktion i bash och inte det som finns under /bin/pwd vilket är beskrivet i man-filen och därför stämmer inte man-filen överens med kommandot. Tack "anonym" för rättningen och min bugg i Launchpad stängdes av precis samma anledning.

// rancor

Dagens terminalkommando  

Postat av rancor under ,

Bara i en standardinstallation av Ubuntu 8.10 server finns det runt 1300 program som går att starta i en terminal och där vissa är riktigt användbara även för en standardanvändare som normalt bara använder grafiskt gränssnitt.

Jag har tänkt gå igenom de mest vanligt förekommande samt mest användbara programmen genom att skriva om var och ett av dessa lite kortfattat med några exempel och förhoppningsvis blir det ungefär ett per dag tills dess att dem är avhandlade.

Även om Canonicals plan med Ubuntu är att leverera den mest användarvänliga grafiska Linux-distributionen så kommer man förr eller senare behöva använda terminalen för att reda ut ett problem eller så kanske du startar en server en vacker dag och där vill man inte använda X vilket gör att terminalen är enda utvägen och då är det väldigt bra att kunna lite kommandon.

Fråga gärna allt eftersom om du har några frågor eller kom med bra exempel på hur du använder det kommandon som jag går igenom för ibland missar man användbara exempel som kan vara bra att ha.

// rancor

Den ultimata lösenordshanteringen  

Postat av rancor

Urban började med en bra liten artikelserie gällande lösenord i sin blogg Ubuntu för alla men jag kände att finalen saknades, nämligen den ultimata lösenordshanteringen. Här finns hans inlägg: här, här, här, här och slutligen här.

Precis som Urban skrev så är det viktigt att ett lösenord innehåller små, stora, siffror och tecken samt att lösenordet inte är för kort. Dock saknades en mycket viktig del och det är att ALDRIG återanvända ett lösenord, det skall endast användas på ett enda ställe och sedan är det förbrukat.

Anledningen är ganska enkel, du vet inte hur lösenorden lagras och även om det är lagrat i någon krypterad form så finns det regnbågstabeller som översätter haschen till lösenordet i klartext i många fall vilket gör att man aldrig kan gå riktigt säker. Om förövarna kommer över lösenordet så är du sårbar på alla andra ställen där du använt samma lösenord och det är tyvärr vanligt att hela databaser med användarnamn och lösenord kommer i fel händer, se bara Aftonbladet, Spray och Dataföreningen som ett par exempel.

Hur löser man då detta problem? Det går ju inte att komma ihåg varje enskilt lösenord som dessutom skall vara långt, specialtecken, stora och små bokstäver?!

Svaret är enkelt, man använder ett program som t.ex. Keepass som är en programvara för att lagra och organisera lösenord. Databasen är krypterad och som kan bäras med sig på ett USB-minne vilket gör att man endast behöver komma ihåg ett start lösenord, men kom ihåg att göra det STARKT!

Keepass är från börjat ett Windowsprogram men som finns i en linuxvariant som heter KeepassX. Databasen är kompatibel över plattformarna vilket gör att man alltid har sina lösenord tillgängliga men lagrade på ett säkert sätt.

Det finns klienter för mängder av operativsystem som t.ex. Windows, Linux, OSX, Windows Mobile, Symbian, iPhone och ett gäng andra plattformar.

Deras hemsida hittar du här: http://keepass.info, Linuxvarianten finns här: http://www.keepassx.org men installeras enklast i Ubuntu via Synaptic eller terminalen genom att skriva

sudo apt-get install keepassx
Det är sedan enkelt att skapa säkra lösenord till varje enskild hemsida/tjänst man har genom den inbygga lösenordsgenratorn som slumpar fram riktigt bra och unika lösenord.

Felmeddelande "CRITICAL: cannot initialize libpolkit" i /var/log/daemon?  

Postat av rancor under

Om du kör Ubuntu Server 8.10 så är chansen stor att din daemon.log är nedlusad av följande rad som återupprepas i absurdum:
Feb 11 20:39:01 crm console-kit-daemon[23243]: CRITICAL: cannot initialize libpolkit

Detta åtgärdas lätt genom att installera policykit som av någon anledning fattas men som systemet tar för givet att det finns.

Skriv följande i konsolen

sudo apt-get install policykit
Starta sedan om och meddelanden är borta för gott

Få e-post vid tillgängliga uppdateringar med apticron  

Postat av rancor under

Om du kör en maskin med Debian eller Ubuntu så finns det ett mycket trevligt verktyg som skickar e-postmeddelande när det finns tillgängliga uppdateringar. Detta är mycket bra om man har ett gäng maskiner att underhålla och man kanske inte vill få dem installerade automatiskt vilket gör att detta system skickar e-post en gång per dygn till önskad e-postadress(er).

Grundkrav
Någon form av MTA som t.ex. Postfix, Sendmail eller Exim4 så att du kan skicka iväg e-post samt apticron

Om du redan har en MTA kan du hoppa över första punkten

Installera MTA

sudo apt-get install postfix
Följ instruktioner och välj "Internet site"

Installera apticron
sudo apt-get install apticron
Konfigurera aliases
Normalt levereas meddelande om tillgängliga uppdateringar till root, men genom att modifiera aliases så kan man få meddelanden skickat till önskad e-postadress
sudo nano /etc/aliases
Lätt till följande rad och spara (ersätt epost@server.net) med din e-postadress
root: epost@server.net
För att aktivera inställningarna måste kommandot newaliases köras
sudo newaliases
Nu skall du bli meddelad om nya uppdateringar när dem finns tillgänliga

Vid problem undersök /var/log/mail.err, mail.log, mail.info eller övriga filer.

Installera SugarCRM i Ubuntu Server 8.10  

Postat av rancor under

SugarCRM är ett webbaserat kundhanteringssystem (Customer Relationship Management) som finns både som Open Source men även som en kommersiell produkt.

För denna installationen tänkte jag använda SugarCRM Sugar Community Edition 5.2.0a och som databas blir det MySQL i Ubuntu Server 8.10

Installera program

Börja med att installera Apache

sudo apt-get install apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-perl2 libapache2-mod-php5 libapache2-reload-perl libapr1 libaprutil1 libbsd-resource-perl libdevel-symdump-perl libmysqlclient15off libperl5.10 libpq5 mysql-common openssl-blacklist php5-common ssl-cert libapache2-mod-php5 libapache2-mod-perl2
Installera sedan PHP
sudo apt-get install php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap autoconf automake automake1.4 autotools-dev binutils defoma fontconfig-config gcc gcc-4.3 libc-client2007b libc6-dev libcurl3 libfontconfig1 libfreetype6 libgd2-xpm libgomp1 libjpeg62 libltdl7 libltdl7-dev libpng12-0 libssl-dev libt1-5 libtool libxpm4 linux-libc-dev m4 mlock shtool ttf-dejavu ttf-dejavu-core ttf-dejavu-extra zlib1g-dev php5-mhash php5-mysql php5-odbc php5-mysql
och installera lite tillbehör som behövs (curl, unzip, imagemagic )
sudo apt-get install unzip curl libwww-perl imagemagick fontconfig ghostscript gsfonts hicolor-icon-theme libatk1.0-0 libatk1.0-data libcairo2 libcroco3 libcups2 libcupsimage2 libdatrie0 libdjvulibre21 libfontenc1 libgraphviz4 libgs8 libgsf-1-114 libgsf-1-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice6 libilmbase6 libjasper1 liblcms1 libmagick10 libopenexr6 libpango1.0-0 libpango1.0-common libpaper-utils libpaper1 libpixman-1-0 librsvg2-2 libsm6 libthai-data libthai0 libtiff4 libwmf0.2-7 libxcb-render-util0 libxcb-render0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 psfontmgr x-ttcidfont-conf xfonts-encodings xfonts-utils
Installera till sist MySQL 5.0
sudo apt-get install libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl mysql-client-5.0 mysql-server-5.0
Under installationen av MySQL skall man ange root-lösenord, använd med fördel
GRC's Ultra High Security Password Generator (https://www.grc.com/passwords.htm) och använd runt 20 tecken under rubriken "63 random alpha-numeric characters (a-z, A-Z, 0-9):". Glöm inte att antecka dem på ett säkert ställe.

Skapa sedan en databas för SugarCRM
rancor@crm:~$ mysql -uroot -p
mysql> create database sugarcrm;
mysql> exit
Installera SugarCRM

Kontrollera först på http://www.sugarcrm.com/crm/download/sugar-suite.html vilket version som är den senaste, i skrivande stund är det 5.2.0a av Sugar Community Edition. Om det är någon annan kopiera länken för nedladdningen och ersätt med denna i steget nedan.

Gå till katalogen där du vill lägga webbsidan, förslagsvis i standardkatalogen /var/www
cd /var/www
sudo wget http://www.sugarforge.org/frs/download.php/5087/SugarCE-5.2.0a.zip
Sedan skall paketet extraheras och döpas om
sudo unzip SugarCE-5.2.0a.zip
sudo mv SugarCE-Full-5.2.0a sugarcrm

Apache måste sedan få skrivrättigheter i vissa kataloger

cd /var/www/sugarcrm
sudo chown -R www-data:www-data /var/www/sugarcrm
sudo chmod 766 config.php
sudo chmod 766 custom
sudo chmod -R 766 data
sudo chmod -R 766 cache
sudo chmod -R 766 modules

Konfiguera PHP
Editera php.ini
sudo nano /etc/php5/apache2/php.ini
Ändra följande

memory_limit = 16M
till
memory_limit = 50M

och
upload_max_filesize = 2M
till
upload_max_filesize = 10M
För att ändringarna skall ta måsta Apache startas om

sudo /etc/init.d/apache2 restart

Konfigurera SugarCRM
Surfa in på http://localhost/sugarcrm/install.php och följ sedan instruktionerna.

Att tänka på är att inte köra med root-användaren som SugarCRM-användaren i kapitlet "Database Configuration". Välj att skapa en ny användare som t.ex. sugaruser och skapa ett lösenord via https://www.grc.com/passwords.htm på samma sätt som ovan.

Mitt bidrag för Ubuntu  

Postat av rancor

Jag har under en längre tid nu varit med på ett eller annat sätt i Ubuntu-gemenskapen i Sverige och som senast varit en av grundarna av ubuntu.se. Allt har sitt slut och för några veckor sedan steg jag ner från den rollen vilket nu gör mig till en frilansande Ubuntu-entusiast.

Jag vill försöka hjälpa Ubuntu genom att ge ut guider dock främst som en egen anteckning för mig själv men även som en hjälp för andra. Jag har innan publicerat en hel del material i olika wiki-sidor hos Ubuntu-se.org och ubuntu.se som jag tänker "ta hem", alltså sluta underhålla dem där och publicera dem här istället för att förenkla lite eftersom dem finns lite utspridda och i olika versioner. Jag har även ett gäng nya saker på gång som jag inte läst om på andra ställen som jag hoppas kan hjälpa någon där ute.

// rancor