Sunday, November 30, 2008

10 Rules of The Incredible Linux Admin

Gather round boys and girls, friends and neighbors.

Today, we are going to hear about that mythical creature, The Administrator.

Well, it doesn't have to be just a Linux Administrator, he or she could look over a number of different Operating Systems ( and often does just that ) all on one big, mixed up network. The Admin is something incredible to behold.

What does one need to do to be an Admin?

Well, most Admins start out by going to college, getting a job as a technician of some kind and working their way up the ranks.

However, there are a lot of examples of people being self taught and just kind of being in the right place at the right time.

There have even been many of those who were just stupid enough to be the one to say "Yeah, I'll do that." when the boss came asking.

So, just what does it take to be an Admin? It takes courage, immense self confidence, the ability to be entirely self motivated and most of all, having a thick skin.

Oh yeah, an Admin must also have a pretty thorough knowledge of the computers and network systems they will be looking over.

let's discuss this from the POV of a Linux Admin though. Linux is still in the "woodsy" area of the computers systems world.

Yes, there are an increasing amount of colleges and universities that are offering Linux based classes, mixed in with their other studies programs. However, there is still not that big of an educational inroad of course as say, Microsoft products might enjoy.

You will still quite often find people training to be Linux Admins via online courses and practicing at home or at small to middle sized companies that don't have the bureaucracy or red tape to prevent them from investigating Linux or other Open Source solutions and offerings.

The best thing anyone can remember about being an Admin is that you don't have to know everything. You do have to know where to find the info at a moments notice though.

You will find that the more you do things, the more often you do them, they will become ingrained into your memory. They will become habits. What you want is good Admin habits.

Rule 1 of being a good Admin is BACKUP everything. as often as it is called for, if not more.

Rule 2 of good Admins, is to keep excellent and well organized notes and documentation.

There is no way we can emphasize more the crucial importance to document everything you do. Think of it as backing up your memory.

Rule 3 is never ever let yourself become pigeon holed or paint yourself into a corner. Always keep multiple options open. Explore as many other distros and desktop environments as possible. You don't have to like them all, but you had better be familiar with them.

Rule 4 is NO FEAR. There is no time to be afraid or timid in a Linux or any other system environment. All fear does is cloud your thinking and increase your chances of making mistakes.

Rule 5 is Don't be cocky. It is good to have no fear, but don't over-extend that to being cocky. All cocky does is cause you to overlook simple errors and come back to bite you in the butt later. Often making you look terribly foolish at the same time.

Rule 6 shall be, defend your LAN. It's yours, do you you hear me? Mine mine mine. Or, well, you know what I mean. You are responsible for it's stability, it's continued uptime and productivity. When things go awry, it's your tukus that will feel the boot. Don't let others bully their way into your system. You built it (or inherited it ) and you should know it better than you know the back of your hand.

Rule 7 consequently is, Listen to others. Being the Admin, you are sometimes to close to the action to see what someone who is just a regular user might see. Use everyone else as scouts and your eyeballs. Every user is a potential bug finder ( or causer, in which case, it's good to know who you need to babysit the most ) . This rule falls under " Keep your friends close but your enemies closer."

Rule 8. Well yes, way down here we will say that the command line is your friend. If you have a variety of distros in your system, the most common method of entry into those will be the command line terminal.
Again, the more you use various commands, the more they will stay in your memory and the less often you will have to look them up. Get used to it. Learn it, live it, love it.

Rule 9 is that information is everywhere. You just have to know where to find it. Online, in Books, other peoples ( and their notes ). You must become a veritable cornucopia of information. Not only knowing the specific of your system, but of systems in general and knowing where to find that information in the blink of an eye.

Rule 10. Have fun. Yup, you must allow yourself to relax and take it easy sometimes. This is computer stuff, not the end of the world. You will only become miserable and hate what you do if you do not allow it to be fun for you and your team mates.

That's it. Hopefully, you have enough information to really get yourself into the thick of it. Don't blame me. I tried to warn you.

The reality of being Root

Linux is terrific from an administrators point of view.

It allows so many ways to modify, manage and otherwise maintain a solid, stable, smooth running system.

There are a prolific number of applications and tools to control even the most minute of details in a Linux system.

Incredibly, the ways to access these apps and tools are myriad as well.

Some can be accessed at a normal user level.

Some can use the "su" ( Switch User ) which will let a person logged into a normal user environment to assume another users status and permissions, even that of the notorious "SuperUser" AKA Root.

Yet another way is log in as Root directly. This is the equivalent of becoming the ultimate authority on that system. Root has total and unquestioned access to every single detail in that system.

Now, there are a large number of people who off the cuff will want to help "new" to Linux administrators by telling them to NEVER log in as Root, especially in a GUI environment. All that power can be a curse more than a blessing and they think they are protecting you from yourself.

"What If" You made a mistake?

"What If" You clicked the wrong button?

Well, if you make a mistake in Linux while logged in as root, you may be in for a lot of work and headaches ahead of you.

Not only is Root powerful, it is often permanent. When you as Root decide to delete something, it stays deleted.

This can be not fun.

For the most part though, the absolute "need" to log in as Root is far and few. Simply using su in a console or non GUI environment will suffice for the majority of tasks requiring that level of permission or access.

In, out and you're done. No harm, no foul.

There are some limited circumstances however, that require logging in as root to properly access a certain app or function that su will not suffice. In those circumstances, the last thing users need to be is paranoid or scared of logging in as Root.

Being afraid or uncertain will make users even more prone to making errors because they already have it in their mind that they will make a tragic error. Oops, butterfingers.

The last thing a 'good' admin needs to be is nervous or uncertain. As the admin of any system, you are expected to be capable of managing the system in any and every way necessary to provide a functional and productive system. That means, my friends, being able to work confidently as Root, if necessary.

Some people give the advice that using a GUI as Root is nearly a crime. I would agree that the odds of making a mistake are increased. Instead of typing a line command in error, all it takes is clicking the wrong icon. Ooops. IF, one needed to log in as Root in a GUI setting, that is even less necessary than the need to log in as Root to a console environment. However, there are those who will do it anyway, because they want to pop in for a quick GUI change of permissions to a file or directory. Copy files to a protected or otherwise inaccessible location. It gets to be an easy fix and a bad habit. Is it guaranteed to hose your system? No. Is it recommended? No.

In terms of security, the great thing about Linux is that you can run a Linux machine without X being started at all. Unless you want it to. Most often, those who run servers, boot to a runlevel that does not start X, but X can be started if one so chooses. Do what you need/want to do for the limited time, log out and exit X server. Those possible alternate routes and "backdoors" accessible via GUI are gone. Not too hard if one pays attention to what they're doing.

Perhaps the best advice I can give to a potential new admin of a Linux system is to set up a completely isolated, and "oops-able" system to practice working in the various levels such as su and Root.

That way, you build confidence, get to know your way around, see what happens when you goof, find out how to, if it can be. fixed. Using a LiveCD based distro for this test system is highly recommended, as getting a system back up in no time is easier achieved with that.


You can use other methods of accessing Root powers with Sudo. Especially in a server environment. Sudo allows administrators to determine which other users can have access to specific commands and permissions to complete tasks without actually logging in a the root user. This is one of the ways that can be preferable to actually logging in as root if the presence of the actual Root user is not needed.

Linux is nothing to be afraid of. Once you get to know your way around and comfortable with it, it can be a best friend.

The last thing Linux needs is people wandering about crying about how the sky will fall if you log in as Root. This is just another way of building fear, uncertainty and doubt.

Linux needs confident, comfortable and calm admins, capable of working and getting things done in any environment.

You can do it. I got your back.

Saturday, November 29, 2008

There's something different about OpenSource people

It's actually kind of unfortunate that many of the folks who work on providing OpenSource software don't get the recognition, or at least the respect they deserve.

Starting with Linus and moving right down along to your local "community" distro developers, the overwhelming majority of the people involved are techs and admins and programmers who don't see what they do as just a job or a hobby.

These people see themselves as professionals not just in a technical profession, but in a helping profession.

When a tech or programmer ( both of who often learn snippets of the other along the way ) makes the decision to be that, they are entering a world of working to make others lives better.

The whole point of working in those fields is to make computers accessible and productive for other people.

The goal of an Open Source Operating System is to develop a system that is productive and accessible.

Linux is an example of that. It is designed to be open, meaning you or me or anyone can see what the underlying components and pieces are. If we are technically capable, we can take it upon ourselves to modify or "fix" something in that system without requiring certain special permission or paying a fee to do so.

Linux is also accessible. It is able to be shared, modified, built upon, adapted, etc.. in any way that one person or group might see fit to suit their needs. Again, without any special permissions or fees.

It is many a tech or programmer that makes this accessibility possible because of their involvement and participation in the work going into Linux and Open Source.

Is it self serving? Do these people do this work just to make something that suits their own need or agenda? Perhaps sometimes, on individual basis's. By and large though, these are people trying to fill the needs of users and people using systems they as techs and programmers are responsible for supporting.

You might notice when people who work in "helping" professions describe their work, what they do, they say that they do it because the work itself is 'rewarding" they fulfill a need in themselves to help other people.

I would venture to say, the same thing could be said for most every tech, admin and programmer I know of. Is the money good? Sure, if you get in the right place, it can be great. Same goes for doctors. They aren't all 'rich' but by golly some of them find a way to make indecent amounts of money while doing what they love. ( or so they say. I say there will always be the few 'bad apples' in any bunch but we shouldn't let that spoil our love of apples in general. )

The majority of techs, admins and programmers really like working with technology and seeing the people that use what they work on being productive and enjoying the service or software. It is in their primary interest to keep working to make computers and networks and programs accessible, productive and relatively easy to use.

Some days being a tech or a programmer can be excruciating. Frustrating and make you want to bang your head on every wall you see. Apps are not working, hardware is not working, users are frustrated and likely being less than polite. There are days that can make any tech or programmer want to take a month-long vacation. Now.

Same goes for doctors and nurses. They love what they do, most of them tell you. The same people will tell you there are days from Hell. Days they go to bed wondering just what the holy moly they were thinking of when they started taking classes in this field.

The media loves to portray techs and programmers as geeks and nerds. As people with lack of hygiene and social skills. If I had a nickel for every characterization of a tech or programmer as someone is is obsessed with their own little world and caring only about where to get the next "big" processor or ipod or whatever they are selfishly yearning for.

That is what is popular because it's controversial. As we all know, controversy sells, as does mean spiritedness.

The reality is that most people in a technology profession is just like you and me. Everyday people who have learned skills and a trade maybe that enables them to do the work they are interested in and able to feel like what they do makes a difference.

So, the next time you are at the doctors office, visiting with a nurse or sitting in a dentists chair, watch and see how many times that doctor or nurse or dentist stops to check a computer. More often than you might think. The doctors and health profession are relying more and more on computers that help them get their most critical work done.

You know who provided that computer or program that doctor is relying on so much?

The next time you see your cousin or niece or grandpa who is a tech or programmer, give them a high five and say "Thank you!" If nothing else, they may go to work that day or the next and give the world the next big step forward just because someone took the time to notice.

Monday, November 24, 2008

Migrating to Linux in a business or large user environment

Every once in a while we see discussions on the method and manner of migrating from one Operating System to Linux.

It's fun and enthusiastic to suggest going wholesale change across the board. If nothing else, just saying it, entertaining the notion, is an emotional vent, especially if you've been frustrated with issues.

However, there comes a time when practicality must dictate the terms of our actions, along with responsibility and rationality.

If one wants to implement a new OS, it's most practical to seed it in. Unless your company or group was planning a a rollout of new machines across the board, then there's no reason to go in changing everything just for the sake of wanting a change.

Instead, plan the implementation. Make sure you have tested and investigated all the distros and applications you will need or want to make it work in your environment. Taking your time up front will minimize your headaches afterwards.

As you plan to replace machines in the natural course of turnover, implement the new Distro on the incoming machines. Seed them in among the existing older machines. This will allow users to at least become familiar with the appearance and discussion of the new OS with the people who will be using it.

This also gives your IT staff the opportunity to observe the interaction of the new distro "live" It's one thing to plan in a lab or shop, it's something else to roll it out live.

Linux can be a tremendous addition to a work environment. With the 'right" distro and set of tools, it can fill in without a hitch. One of the reasons for that is the ability to modify almost every aspect of the interaction between the user and the desktop environment.

Let the geeks and nerds fight out what they think a Linux desktop "should" look like. When you need to make it productive, work toward your user base. Modify the menus and desktop so it looks like what they will be comfortable with it. Regardless if it "looks" like Windows or OS X or any other OS interface out there. How it looks isn't as important as productivity. Will users sit down and be 'comfortable' with it enough to use it?

If you try to force your own idea down their throats, ( "You're going to use default Gnome and like it!") All that will happen is your users will rebel and feel uncomfortable with what they are using.

In the end, if you want to experience the full effect of using Linux and other open source software in your business, you have to be willing to be flexible.

The Linux "community" is infamous for it's little heated exchanges over which desktop environment is "better" or which distro is least like MS.

This has no place in a business setting.

Your business is cars or widgets or real estate or health insurance or whatever. Let the techs worry about what goes on "underneath" and let your data entry and sales reps and receptionists, etc worry about actually "using" the system.

Wednesday, November 5, 2008

What can Google Apps do for my non profit?

Google Apps is a service offered by Google to provide certain services that might ordinarily be found on local, intranet servers.

They offer the standard level service, which is available for free, to anyone with a small business, project, club, you name it. for up to 200 user accounts and more can be requested.

What do you and your 200 users get for free?

First let me say you should pony up the 10 dollars for a domain name to get the most bang for your buck. ( considering the cost for the domain name is your only cost at this level, you will likely find you get a lot of bang here.)

With a domain name and MX records properly pointed, your users get email accts @yourdomain.any.

You have access to a control panel as the admin that allows you full control over the start page, which can even be modified to show your groups name instead of "Google" at the top.

You can create web sites for depts or sub teams to present their work on.

Shared calendars and instant messaging are yours also.

All of these accessible only to your users and free. True, there are file size and storage limits per user, but those are adequate as is and if monitored, can be managed easily.

Each of your users has total access to Google docs, the online word processor, spreadsheets, presentations etc.. Your users can log in any time, anywhere and access their docs and print them locally as well as upload and convert from and to several doc types.

At the "premium" service level, You get more control over integration into existing services and your other existing local servers, etc.. as well as increased storage and capacity sizes.

However, for Premium service, there is a cost for the expanded control and capacity of $50.00 per user, per year. If you were to relate that to running your own servers, paying for your own equipment, techs, software ( unless you use OpenSource) and even then...) it can still be quite a but less cost to use Google's services.

For nonprofit organizations and schools however, Google has done something interesting. They have waived the fees related to Premium service and provide all said capacity and control ( with some minor differences).

So, if you take a very small non profit school with literally NO IT budget, this can be quite a jumpstart for your staff and students to enter the IT services based world and make things available to them they would otherwise not have.

Our school for example, has a website for a home page.

There are several smaller sites for each classroom to provide information to parents and students.

They have the shared calendars, instant messaging and email for staff to communicate and even higher classes students to have accounts with.

Start pages for students to login to at each classroom computer that is customized for a students interaction with the web.

Of course, they have access to the Google docs apps, allowing the student to write their homework online and store it there, then go home and continue to work on it there without ever having to worry about the dog eating it or their little brother or sister losing the homework.

All of those services cost the school a total of $10, which is for the domain name anyway.

Even the admin and tech work doesn't cost because it is provided for free as well ( call it a continued donation on behalf of the kids).

Will Google Apps be the right set of tools and services for every school or organization? Of course not.

There are going to be issues of security for many folks, you don't want to have company or govt secrets being typed up on Google docs for example but then again, in our example, this is a school, papers about Newton and the apple and geometry assignments are hardly national security interests.
Every group has needs and expectations that have to be met in their own right. It is a worthy option though.

Also, this is only one aspect of the steps the school is taking to improve technology access to staff and students.

The money saved on the the "intranet" type services though, allows the school to spend money on other equipment and software that cannot be gotten quite so handily from a Google Apps.

All in all, I have to commend Google on the set of services they provide to schools and non-profits in the Google Apps Education services. Whatever the motivations, be they sincerely offered to help the community or another way of advertising, it has helped this one school tremendously.