linux admin

We have to do our own linux system administration.
I agree, it's a bad idea, we're just developers.
But it's what we are stuck with for now.
Here's our crib sheet.

user admin

# adduser -p paSSwoRD aUser
# mkdir .ssh
# cd .ssh
# vi authorized_keys and paste in public key
# userdel -r aUser

groups

Here we append the dba group to the groups of the postgres user

sudo /usr/sbin/usermod -a -G dba postgres

sed

global search and replace

sed -e 's/foo/bar/g' myfile.txt

mount

mount a drive

mount -f nfs code:/mnt/data

locate

like find, only better

screen

like nohup and script together in a single package, only better

scp

secure copy

  • example 1
    • scp -i ~/.ssh/id_dsa -r source_dir user@remote_host:/target/path
    • -i: uses identity file (private key) at ~/.ssh/id_dsa
    • -r: recursive
  • example 2
    • scp -i ~/.ssh/id_dsa_uploader filetoupload root@sfgov2.3tera.net:/app/mad_sfmap_images/main.images/root/

simple command lines

# lists previous commands
$ history

# executes command number 123 from the shell history
$ !123

# print shared library dependencies
ldd yourFileName

user administration (for root only)


# create a new user
$ useradd newuser

# at this point the account is disabled; to enable, set the passwd
[root@gis03v5wiki home]# passwd svnadmin
Changing password for user svnadmin.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

# delete a user
userdel loseruser

setting up snmp

sdfjskldf

command line idioms

# find and remove log files
$ find . -name "*.log" | xargs rm

# how many jpeg files are in layer-group_hybrid?
$ find layer-group_hybrid -name "*.jpeg" | wc

# what is the timestamp of youngest file within an entire directory structure?
$ find . -name "*.png" | xargs ls -l | awk '{print $6 " " $7}' | sort | head -1

# what is the timestamp of oldest file within an entire directory structure?
$ find . -name "*.png" | xargs ls -l | awk '{print $6 " " $7}' | sort | tail -1




location location location

http://www.pathname.com/fhs/pub/fhs-2.3.html

executables are here:

/sbin

/usr/sbin

Your path or even in the path of root may not have these.

if it is broke

check the permissions

consider version compatibility