Tag Archives: Linux

Computer Jokes

Syntax Error

I found these bunch of old geek jokes in this post today,
that combined with the red wine glass  had for lunch made working in the afternoon impossible :)

the couple I loved the most were:

Unix is user friendly. It’s just very particular about who its friends are.

and another unix joke – a true classis:

Why programmers like UNIX:

unzip, strip, touch, finger, grep, mount, fsck, more, yes, fsck, fsck, fsck, umount, sleep

Technorati Tags: , ,

Test http server from windows command line

curl for windows

So you went ahead and did a little change to your web site, or web server redirect,
and you want to test it out without a sniffer,
the fastest way to test the http server headers and output is from the command line so you can see exactly what the servers is sending.

Now from Linux you have built in tools like GET, and wget ad curl,
wget and curl you can also install on windows to work from the command line.

Curl For Windows

Go ahead and download curl from their main website, you should get the Win32 – General version,
or the Win64 binary.
Better take the SSL enabled version if you will ever need to test SSL.
Take the curl.exe file from the zip file and place it somewhere in your windows PATH.

To find which directories are already in the windows path open the command line and write:

C:\>echo %PATH%

You will get the listing for such directories, just place the curl.exe in one of them.

Now for the tests:
To get only the headers and not the file contents itself use “curl -I http://address”

C:\>curl -I http://some.site.com/blocked_folder/blocked.php
HTTP/1.0 403 Forbidden
Server: Apache
Accept-Ranges: bytes
Content-Type: text/html
Expires: Tue, 27 Oct 2009 19:32:38 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Tue, 27 Oct 2009 19:32:38 GMT
Connection: keep-alive

From this test you can see the file is forbidden, what are the caching setings for the server, and other headers information.

If you would like to see the full page contents just remove the “-I”.

another sample:

C:\>curl -I http://www.cisco.com/
HTTP/1.1 200 OK
Date: Tue, 27 Oct 2009 19:36:28 GMT
Server: Apache/2.2
Set-Cookie: CP_GUTC=; path=/; expires=Sat, 21-Oct-34 19:36:28 GMT; domain=.cisco.com
Last-Modified: Tue, 27 Oct 2009 16:34:14 GMT
ETag: “5985”
Accept-Ranges: bytes
Content-Length: 22917
CDCHOST: cdcxweb-prod1-02
Content-Type: text/html

this time we got a 200 reply which means the apache sent us the page,
we can see the page’s size from the “Content-Length” header,
and the other info the apache wants to send us.

Testing for Virtual hosts

Virtual hosting on apache can mean having more domain names on the same IP,
and you can test each of these domains by adding a “Host” header to the curl test line:

curl -H “Host: sub1.host.com” http://www.hosting.com/
curl -H “Host: sub2.host.com” http://www.hosting.com/

These 2 lines will bring back the html code for each of the different virtual hosts on the same server.

Here are some more ideas of using curl -for example:
Sending POST data through curl

Technorati Tags: , , ,

How to Debug Samba Server and solve user connection problems


Samba is the server used to share files from a Linux server to the rest of the windows clients in an office,
it is  an easy to use server with simple defaults that will make the integration easy into any domain,
you can find on the samba main site some configurations samples and newer smb.conf samples to help ease the server into the domain.

But the harder part after setting the server is debugging problems with it,
like a user permission problem – can the user authenticate to the Microsoft domain server?
maybe he has a password problem? maybe he doesn’t have permission to access the share?

Setting up samba logging:

For starters you will find all the config files are at /etc/smb
the main config file is smb.conf,
other important files are smbusers and smbpasswd,
smbusers is a mapping file, to mask windows user as a linux user for access.

Now first thing to do when debugging is to setup the logging well,
so these are good log settings in the /etc/samba/smb.conf for debugging of the samba service:

log file = /var/log/samba/%m.log
syslog = 0
log level = 3 passdb:0 auth:0 winbind:0 vfs:0
vfs objects = full_audit

  • log file = /var/log/samba/%m.log                             the %m is substituted for the machine name.
  • syslog = 0                                                                             0 means only LOG_ERR will be sent to the syslog,
    If you want more info to be sent there change it to 3
  • log level = 3 passdb:0 auth:0 winbind:0 vfs:0        gives better control over which options to log
  • vfs objects = full_audit                                                  this allows for full details on which files are accessed by whom.

With this configuration all the machines log files will be found under /var/log/samba/*.log
for a sample, if you been trying to connect to the samba server from a machine named “boo1″
you should see in the log folder: /var/log/samba/boo1.log

You can search inside the folder by using “ls –latr” to find the newest files,
which will mean the windows clients that have been trying to connect to te samba server.

And “tail -100 machine_name.log” to view the errors you got if you couldn’t access the share.

Real life Debug sample:

from the file temp1.log:

user ‘temp1′ (from session setup) not permitted to access this share (share2)

This error means to that your user is known as temp1,
and temp1 doesn’t have permission to access the share “share2”
in which case you need to open the smb.conf and setup the permissions
for the user on this share to allow him access.

Inside smbusers you can map windows users to a specific unix user with this syntax:
unix_user = MY_DOMAIN\windows_user1 MY_DOMAIN\windows_user2 MY_DOMAIN\windows_user3

And then allow access to shares in the config by using the unix name:
valid users = unix_user

Checking access to the server and listing shares on it from commend line:

smbclient -L //server -U windows_user

You will be prompt for password, and if the settings are good, you will receive the shares listing from the server.

Connecting to a share on the server:
smbclient  //server/share -U windows_user

after answering the password you get a command line much like ftp:

smbclient //server/share -U builder
Domain=[MY_DOMAIN] OS=[Unix] Server=[Samba 3.0.33-3.7.el5_3.1]
smb: \>

mounting windows share on linux from fstab:

This will allow for automatic mount in case of server reboot:

\\server\share /unix_location  smbfs  credentials=/etc/samba.sharepasswd,uid=unix_user,gid=unix_group,ip=,lfs 0 0

Contents of /etc/samba/.sharepasswd should be windows user and password to connect to the share:



Getting info from a windows domain controller for samba debugging:

To list all the windows domain users from linux command line:

net rpc username -S icq-mdc1

replace “username” with a valid windows user name, to list all the users in the server,
you will need to know the user password as well.

This command can list the user groups from the domain controller:

net rpc user INFO username -S domain-server-name

replace “username” with a valid windows user name.

Technorati Tags: , ,

How to start learning Linux

If you want to start learning Linux the best advice I can give you is:

Start out as a user first

The simplest way is to download some live CD from the Internet,
for a sample this one:
Centos live CD
Fedora liveCD
Either of which will boot into a full working Linux distro,
without installing anything on your windows box.
when your done playing with the Linux server, just remove the CD from your computer, and reboot – your windows will come right back.
both the distros I’ve linked to here are very similar – they use the same redhat code, but the fedora is more cutting edge development version of everything and the centos is a stable server environment.
The fedora LiveCD will also allow you to install it to the machine your using from the LiveCD itself – after the boot you will see an install Icon on the Linux desktop.
Start playing with the servers, while reading some linux tutorials,
start as a Linux user and then work your way up to power user and to admin in the end.

Hands On Training Tasks for Linux Sysadmin

After your feel you know your way around as a user:

  • reading and writing files
  • working your way around the file system
  • installing some rpm packages

You can start working your way through some serious hands on training – try to do either of these:

  • Setup A stand alone DNS server
  • Setup Apache server with php and SSL
  • Install MySQL server from sources
  • Setup sendmail
  • Install WordPress or Joomla on your Apache/MySQL and happily see it all working together

Each of these tasks will take a long time to figure out for the first time, and on the way learning to do the task, you will learn a lot more things that you wouldn’t have just by playing with the server.

Technorati Tags: , , , , , , ,

Free Photo Editor – Top 4

There are many great photo and graphic software for a nice amount of dollars out there, but finding the few good applications that are also free is harder.

Here are a few good ones – both the online version and those you install on your desktop:

Online Photo Editor

The first one I like is from aviary.com :


They have a flash interface for editing the image, which allows the app to work well in Linux as well as on windows, and its a decent enough image editor, but the most impressive application on their site is not the image editor but the color editor tool Toucan:


What is so good about this tool? well, part of my job is to make graphs,
some of them are dynamic, some of them are RRD based or excel based, or just a static graph to show some stats to the management, but they should be nice to look at, and here is my problem as i have no sense for color picking, i usually get some ugly graphs.

Toucan color picking wheelbut this is where this tools steps in – it allows you to pick a group of colors that go well together.

you choose how many colors you need and it will help you group them from these options:

  • equidistant
  • Circular
  • Alternate


and you can save your color groups for later use:

Toucan clipboard

So this tool helps in creating good looking graphs…


now this is another nice color picking tool, it loads faster then Toucan,
and does the same work.

Another Online image editor


pixlr online photo editor

Pixlr gives an easy feel of photoshop application, while it is also a flash application which loads into your browser – no install needed.

The best part about this app is the tools it lets you use on the image you load into it:

  • Red eye reduction tool
  • Bloat
  • Pinch
  • Dodge
  • Smudge (my favorite as you can see in the image above)
  • gradient
  • crop

And many more, if you need to quickly edit an image, without buying a software to do that, pixlr can be a very handy tool.

Offline Free Image Editors



This is a great easy to use image editor, its quickly installed and its very simple interface is smooth to work with, the great plus about this app is it will allow you to easily drop a print screen image on it and start editing and cropping it as needs be.

The only drawback for paint.net is that its using the .net framework, which is not Linux native (ha!),
which brings us to the finalist:

Free Linux Photo editor

Gimp !!!


Gimp is the all time champion when it comes to Linux free image editors,
It is a very strong software with many options and features, and filters and brushes,
and people keep creating more free filters and brushes all the time.

gimp brush tool

It comes with a lot of default brushes, but you can easily download some beautiful brushes some other happy user created.

Creative Commons

Now – combine all or any of these tools together with free images downloaded which you can search for at the CC search web page and you are ready to create some fine images which you can use anywhere.

Technorati Tags: , ,

nagios love – vote on SourceForge.net Community Choice Awards


SourceForge.net Community Choice Awards have opened up for voting,
now is your time to go and vote for your favorite Open Source applications,
Show the love for those Linux apps your have been using for free for so long :)

I’m voting for nagios in the “Best Tool or Utility for SysAdmins” Category,
and here is the direct link to vote for nagios.

But don’t stop there – other apps I’ve been lovingly using for the last years and I’m gonna give some voting love for are:

  • xampp  –  apache mysql php and perl on windows/linux
  • TortoiseSVN  –  SVN client for windows
  • Notepad++  –  The best simple text editor
  • Audacity  –  Sound editor
  • phpMyAdmin  –  Management system for MySQL Database
  • OpenOffice.org  –  MS office replacement
  • KeePass  —  Password manager

There where some hard choices to do there, since in the same categories I had more then one app that I’m totally depending on for day to day work.

phpMyAdmin changed the way I’m working with Mysql databases,
Notepad++ is my favorite editor on my windows box,
and with Audacity i make all my ring tones :)

what are your favorite Opensource apps?

Technorati Tags: , , ,

chattr and lsattr – protecting Linux Files

Lets say you have a public folder in your firm and you want everyone to edit the files in that folder except of one. how would you go about protecting that file?

Lets add to the equation the fact that you have scripts running as root on the folder and you want them not to be able to touch that file. any ideas?

That’s where chattr and lsattr step in, they manage special attributes for files under ext2 and ext3, and the one I’m referring to here is the ‘i’ setting – immutable, for a sample:

lets create a file:
echo `date` > filename

as root do:
chattr +i filename

And that’s it,you cant delete the file, move it, rename it, or save into it any changes, until you remove the ‘i’ settings from it.

So next time you find a file that you cannot modify or delete even as root, check it with lsattr, to make sure its not protected in some other way.

A short update – This will not work on NFS mounted file systems,
you will get the following error:
lsattr: Inappropriate ioctl for device While reading flags on

Technorati Tags: ,