Samba does not start on boot in my Linux

Remember you can always check the status of samba using the commands

# service smbd status
# service nmbd status

I found that they where running and started as they should but still did not accept connections. The bind interfaces in my samba.conf file is the interfaces rather than the ip address but it does not seem to solve the problem. However restarting samba did solve the problem and I nailed it down to the ”Samba IP sensitivity problem”.

Samba really does not like when you use DHCP for the server and even if you set it up so that it always gets the same IP from the DHCP server it does not matter, Samba does not like it.

The simple solution to this is to add the two following lines to the last part of /etc/rc.local which is the script that runs last upon boot.

service smbd restart
service nmbd restart

However, also changing your networking setup to fixed IP generally works well, this is in case you do not want to do that or can’t do that.

Another way would be to change it to the dhcp lease script so when the samba server gets a new lease, an automatic restart of the related daemons happen. However, that would also interrupt any service being served at the moment and break long file transfers or streams. I would therefore advice against it.

The best solution so far is to use a fixed IP. The above workaround is a kludge. You have been warned.

Running Samba in Linux in less than 5 minutes

So you want to share files over the network with perhaps windows machines or you want to be able to have networked file systems that are not requiring Kerberos to become secure but there are something fishy going on with your Samba installation?

Read on, here is the recipe to get it going. First of all make sure you have samba installed. An easy way to check this is to type the following two comnmands:

# service smbd status
 smbd start/running, process 27562
# service nmbd status
 nmbd start/running, process 27540

If either of those are not running, please install the samba package on your machine according to your OS recommendations, it may differ slightly depending on Linux distribution.

When you are done with this it’s time to modify the configuration file for Samba. Use your favorite editor (as root) and start by backing up your original configuration file.

# cp -a /etc/samba/smb.cfg /etc/samba/smb.bak

Then start your favorite editor and start off with this configuration:

[global]
 workgroup = WORKGROUP # change this to be unique on your network
 domain master = yes # there can only be one master
 local master = yes
 preferred master = yes
 os level = 65

 server string = %h server (Samba, Ubuntu)
 name resolve order = bcast host

 interfaces = 127.0.0.1 lo eth0
 bind interfaces only = yes

 log file = /var/log/samba/log.%m
 max log size = 10000
 syslog only = no
 syslog = 0

 map to guest = bad user

[guest]
 comment = networked file system
 path = /mnt/guest # set this to your preferred place
 read only = yes
 guest ok = yes

[anders]
 comment = private file system for anders
 path = /home/anders # be careful with your home folders
 read only = no
 guest ok = no
 valid users = anders

[google-drive]
 comment = private file system anders
 path = /mnt/raid/google-drive # another folder requiring password
 read only = no
 guest ok = no
 valid users = anders

[upload]
 comment = put your upload here
 path = /mnt/raid/upload # something where anyone can upload
 read only = no
 valid users = %S

Make sure the folders you have pointed out are actually valid folders. Then create the users needed to access the system:

# smbpasswd -a username

Type the password and create the users needed as per the shares that you have defined above. The valid users = %S means any user in the system can use that if they give the right password. To delete users from your samba system when no longer needed

# smbpasswd -x username

Next thing is to restard the name server for Samba and the actual server daemon:

# service nmbd restart
nmbd stop/waiting
nmbd start/running, process 28297
# service smbd restart
smbd stop/waiting
smbd start/running, process 28309

When this is done you should be able to connect giving the right username/password or as a guest if you have created the shares for the guest accounts.

Mounting the smb file system on a command line is done like this:

# mount -t cifs //server.name.or.ip/share /mnt/share -o username=yourname

If needed it will ask for your password also.

To list shares on an SMB server, use the following:

# smbclient -L //server.name.or.ip/ -U user%pass

You can skip -U user%pass if you prefer working as guest.

This should get you up and running easily. It’s not sophisticated and you have to manually work the passwords and they are not synced with with the rest of the users on the local machine, that is more complex to set up, this was meant to be a quick starter to get you going.

If you need to list the users in the database (to remove any you do not want any more) you can use the command:

# pdbedit -L

Read the man page for more information.

TrueCrypt

Ingen vet riktigt vad som hände. Plöstligt försvann binärerna från deras site och i stället kom det upp en websida som sade att det ”kan finnas allvarliga säkerhetsproblem i TrueCrypt” och sedan hänvisar man till att använda BitLocker i stället.

Senaste versionen av TrueCrypt böts ut mot en version i vilken man bara kan dekryptera diskar och filer som tidigare krypterats med mjukvaran, men inte skapa nya volymer som är krypterade.

Det hela är bisarrt och det förekommer väl egentligen tre sorters teorier just nu:

  1. Truecryptsajten samt utvecklarnas datorer med deras nycklar som använts för att signera filerna med samt deras konto på sourceforge har alla blivit komprometterade i en hackerattack
  2. En riktigt riktigt allvarlig säkerhetslucka har upptäckts och för att få alla sluta använda mjukvaran tog man till drastiska metoder för att sätta projektet i brand och få alla sluta använda det
  3. Påtryckningar från någon regeringsmakt har fått utvecklarna bakom att i stället för att ge efter och t.ex. installera en bakdörr helt enkelt överge hela projektet.
  4. Utvecklarna bestod egentligen av en person som har fått nog och därmed överger projektet.

Men ingen av dessa teorier verkar vara särskilt vettiga. Fallet nummer 1 är relativt osannolikt och skulle tyda på att utvecklarna bakom ett säkerhetssystem haft rätt dålig säkerhet själva. Fallet nr 2 måste vara något helt spektakulärt och motsägs av att mjukvaran var under granskning och det första passet hade genomgåtts utan några större problem. Fall 3 verkar också märkligt, i detta fall borde vi aldrig märkt något alls men det kan ju vara så att någon i projektet verkligen vill blåsa i visselpipan. Nummer 4 är gissningsvis mer troligt men varför lämnar man inte programvaran vidare till andra att fortsätta den.

Som skäl till övergivandet uppges vara att Microsoft överger Windows XP och att det i senare versioner av operativsystemet finns andra lösningar som t.ex. BitLocker. Problemet är att den lösningen bara finns i vissa versioner av Windows 7 och 8, inte i exempelvis vista och det är heller inte på samma sätt som TrueCrypt en lösning som fungerar på flera plattformar där TrueCrypt fungerade utmärkt på flera versioner av Windows, MacOS och Linux.

Det fortfar alltså vara ett mysterium vad som hänt.

Linux snapshots med rsync

En klurig sak man kan göra för att ordna med snapshots om filsystemet man använder inte stöder det är att göra ett lokalt backupskript som genererar sådana med jämna mellanrum. Men för att spara diskplats skulle man ju vilja ha möjligheten att bara spara förändringarna mellan varje snapshot samtidigt som det vore lätt att gå tillbaka t.ex. tre dagar i tiden utan problem.

Detta kan lösas med hårda länkar i Linux och det finns en hel del skrivet om det på nätet. Det intressanta med hårda länkar är att en fil som är länkad på det sättet fortsätter existera tills den sista länken är borttagen. Det är alltså ingen som helst skillnad mellan en hård länk och den egentliga filen.

Om du skapar fil A och sedan hårdlänkar den till fil B så är A och B på riktigt alltså samma fil. Om du ändrar A så ändras också B. Däremot om du raderar A så raderas inte B, länken är då bruten och man kan säga att B är lika mycket originalfilen som A en gång var. Nu kommer det riktigt intressanta: Om du skriver en ny fil A så existerar den separat från B. Länkningen mellan dem är bruten från när du raderade den.

En fil raderas egentligen aldrig men när den har 0 hårda länkar är den inte längre åtkomlig och platsen den tog upp på disken är nu fritt villebråd för andra filer att använda.

Ett intressant fenomen med rsync är att när den skriver filer gör den alltid delete på dem först! Eller egentligen gör den ”unlink”, det är ju ett bättre namn. Därför kan vi börja med att göra en rsync på filerna vi vill bevara. Exempelvis är det vanligt att man vill backa upp /etc /home /root i ett Linux-system.

Först skapar vi någonstans att hållas:

# mkdir /bup
# chown root:root /bup
# chmod 700 /bup

Därefter kan vi synka katalogerna till /bup/snapshot med kommandot:

# cd /bup
# rsync -a --delete /etc /home /root /bup/snapshot/

Om vi kör ovanstående (som root) kommer vi få en backup på de tre utpekade katalogerna i /bup/snapshot och de kommer vara kopior av de riktiga filerna. Nu kommer finessen. När vi vill spara vår snapshot kopierar vi dem men gör bara hårdlänknin från kopian. Genom att göra detta tar vi inte upp nämnvärt med displats och vi länkar till samma data på disken!

# cp -al snapshot snapshot.1

Du kan verifiera detta genom att slå

# du -sh *

Du kommer då se att det är betydligt mindre data i snapshot.1 än i snapshot och det beror på att det är bara länkarna i sig som vi har sparat på.

Nästa steg är att ta en ny snapshot med rsynk. När vi gör det kommer länkarna mallan snapshot och snapshot.1 att brytas i de filer som rsync uppdaterar eftersom den gör först unlink, sedan skriver en ny fil till den!

Om vi vill ha dagliga snapshots som roterar t.ex. tre dagar bakåt i tiden kan vi köra detta skript:

#!/bin/bash

cd /bup

if [ -x snapshot.2 ]; then
    mv snapshot.2 snapshot.3
fi

if [ -x snapshot.1 ]; then
    mv snapshot.1 snapshot.2
fi

if [ -x snapshot ]; then
    cp -al snapshot snapshot.1
fi

rsync -a --delete /etc /home /root /bup/snapshot/

Lägg sedan upp detta som ett cronjobb genom att redigera crontab (som root) med

# crontab -e

Lägg sedan till en rad exempelvis:

00 04 * * *     /root/backup-daily

Spar sedan skriptet ovan som /root/backup-daily så körs det kl 4 varje morgon så du alltid har en snapshot att gå tillbaka till om du gjort något klantigt i din hemkatalog…

 

Google Hangouts just got even better

Screenshot_2014-04-27-13-38-43

A small but very cool news is that if you have a google hangout going from your phone with your best friend, spouse or anyone really, if you have their number and google account you can now chose for each message you reply if you want to send it as a traditional hangout message or as a text (SMS) message.

It is a small but cool feature and hangouts just got even better!

This means that if you can not reach someone using hangout you can immediately resent using SMS instead and so on. It’s just great.

Hur fungerar glasögonrecept?

Man går till optikern och man provar ut glasögon. Man får eventuellt en kopia på glasögonreceptet som gör att man t.ex. kan beställa glasögon på nätet om man vill eller gå till annan optiker utan att göra ny ögonkontroll. Men för den som försöker förstå lite mer vad de olika krumelurerna på receptet egentligen betyder har jag satt samman en liten guide. Här får du hjälp att tyda ditt glasögonrecept och förstå optikerns termer.

By Victorrocha (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], via Wikimedia Commons
Glasögon
Inte alla recept innehåller alla parametrar. Exempelvis skriver man inte ut cylinder och axel om du inte har en astigmatism som behöver korrigeras. (Jo alla människor har astigmatism i någon mån men de flesta behöver ingen korrigering för den).

Ett varningens ord dock. Glasögonrecept är inte liktyuliga med linsrecept. Har du fått ett glasögonrecept kan du inte direkt översätta det till rätt styrka för linser för de kräver lite annan utprovning, dels finns det en kurvatur på ögonglobem som kontrolleras och det finns inte med i glasögonreceptet. Dessutom sitter korrigeringen närmare näthinnan vilket gör att styrkan inte alls behöver bli densamma så skaffa ett särskilt recept för linser. Linser skall dessutom provas ut och kontrolleras av optikern att de fungerar som tänkt, köp aldrig linser på egen hand och om du skall köpa på nätet var noga med att du köper exakt samma sort som optikern föreskrivit!

H, R, OD
Alla betyder ”höger öga”, H för Höger, R för Right och OD för Occulus Dextrum som är latin för höger öga.
V, L, OS
Alla betyder ”vänster öga”, V för Vänster, L för Left och OS för Occulus Sinistrum som är latin för vänster öga.
Fri visus, FV
Detta innebär hur bra du ser utan korrigering. Det finns också en angivelse separat för vänster respektive höger öga. FV-värde på 1,0 är perfekt seende, dvs man ser nedersta raden på ett standardiserat syntest. För varje rad upp minskar man 0,1 i FV-värde. Fri visus anger alltså synskärpan utan korrigering och man börjar ofta med att bestämma denna. FV-värdet säger inget om vad sorts fel du har, bara vilken skärpa du har bestämt med ett standard syntest.
Korr visus, KV
Detta innebär hur bra du ser med korrigering, i övrigt som Fri visus eller FV.
Sfär, sf
Beskriver storleken på ditt synfel räknat i dioptrier och är positivt om du är långsynt och negativt om du är närsynt. Ju större tal desto kraftigare korrigering.
Cylinder, Cyl
Finns inte på alla recept men anger styrkan hos astigmatismen. Ett högre tal innebär kraftigare astigmatism. Åtföljs alltid av Axel som talar om på vilken ledd astigmatimen finns.
Axel, Ax
Åtföljer alltid Cylinder och talar om på vilken ledd astigmatismen ligger i ögat. Gradtalet går från 0-180.
Add
Detta innebär styrkan som adderas till styrkan angiven i Sfär för att göra läsglasögon
PD
Pupilldistans. Detta anger avståndet mellan dina ögon. Om det finns separata värden för vänster och höger öga är det avståndet från mitten ut till respektive ögas pupill från en tänkt linje i mitten av ansiktet. Ibland anges PD på två ställen då som PD/a och PD/n och det innebär pupilldistans för glasögon ämnade för avståndsseende (PD/a) och för glasögon ämnade för läsning eller närseende (PD/n).

Nu vet du vad de olika förkortningarna och orden på ett glasögonrecept egentligen står för och betyder. Nu kan du tolka ett glasögonrecept.

Whitelines

I just found a great Swedish invention out there that I wanted to share with everyone who are taking notes at some time or the other. First of all, the idea is to have low contrast lines or squares on your papers so as not to be distracting as the normal patterns are on normal notebook / college book paper is.

The whitelines paper uses white lines by printing slightly grey around it. It is ingenious for many reasons, one is that the lines are not visible if you copy or scan your paperwork. And now with the digital mobile camera you can scan yours or your friends notes in a second and also send them automatically to dropbox, evernote or have them mailed somewhere with a simple app that you can get for both iOS and Android. Using the Whitelines Link it goes automatically and can correct for skewing and perspective. It’s awesome.

Here is the kicker. If you don’t feel like buying their pre-printed stationary you can print it yourself by downloading a PDF file from their home page. They have PDF files for lined and squared A5 and A4 papers. Print them, make your notes, scan them with the Whitelines app and then find them in your dropbox. Never loose a field note again.

The trick is that they have printed codes in all 4 corners of the papers. Codes that reminds you of QR codes (but are simpler). The app finds these codes and can then perspective-correct your photo scan of your notes.

On their site you can also buy tags to put on your white board. Then when you scan that it will also perspective correct and store your brain storms and what not in your phone or you can share with any one of your services really.

Check it out, it’s neater than you would believe!

 

Photos and other rants