Thursday, 24 March 2011

Linux : directory color in ls too dark

ls shows directories in a dark unreadable blue with a black background
Change /etc/DIR_COLORS.xterm - set the DIR line to DIR 01;34 (lighter blue)


Thursday, 17 March 2011

Grid Control : Set up a public monitor display PC

Config within Grid Control - a MONITOR user
* Set up a monitor role in Grid Control
 * Setup->Roles->Create
 * Enter name but no roles, sys privs,  No admin users
* Set up a monitor admin user
* Setup->Administrators
 * Enter name etc, then assign the MONITOR_ROLE, no sys privs
* Assign targets to the role
 * for EACH TARGET to be seen by the monitor need to grant view access individually !!
 * Go to each target page->Access link->Add->MONITOR_ROLE
 * Save
* To add a location to a target
 * In each target screen there is a Target Properties link that includes a location field
 * Various screens including All Targets can be customised to show the Location (Customize table columns)
* The best page to display is probably All Targets
* To limit the tabs displayed log in as MONITOR and choose Preferences->Target Subtabs and remove unwanted subtabs

Config on the display box
* Use Firefox
 * Set as the default browser Tools->Options->General
 * Install the ReloadEvery firefox plugin - this adds an option to the context menu on each page (right click on the web page to find it)
 * Set up a shortcut to OEM - will need to login perhaps - maybe can include password?
 * Navigate to the All Targets page
 * Turn on the reload for every minute
* To lock down the monitoring PC
 * Download and install kidkeylock http://www.100dof.com/kidkeylock.html
 * Create a shortcut to start it
 * TIP add /setup param to the shortcut to avoid being locked out immediately
 * In the program options set two pins and turn off all keyboard and all mouse and baloon tip (which shows the password)

Monday, 14 March 2011

Linux : Change runlevel

Use telinit :-
su -c 'telinit 3'

Thursday, 10 March 2011

Oracle : oraenv gives XPointer evaluation failed

In 11G+ this is due ORACLE_BASE not being set in the course of running oraenv

What is happening is $ORACLE_HOME/bin/orabase is being run to update $ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml and erroring as the particular key it is looking for is not in the file ( PROPERTY NAME="ORACLE_BASE" I guess) - however the error is ignored resulting in $ORACLE_BASE being unset

Made a one line change to oraenv to check the return value and use the OLD_ORACLE_BASE - which will probably work most of the time ;)
ORACLE_BASE=`$ORABASE_EXEC`
[ "$?" -ne 0 ] && { echo "Warning - failure of $ORABASE_EXEC"; ORACLE_BASE=$OLD_ORACLE_BASE; }  # New line


Thursday, 16 December 2010

Confluence : FIx space permissions via SQL

--General query
select s.spacename,sp.*,s.*
from SPACEPERMISSIONS sp,
spaces s
where 1=1
and s.spaceid = sp.spaceid
order by 1,2

--Look up the exact space name
select * from spaces

--Check what permid range is available
select * from SPACEPERMISSIONS
where spaceid in (select spaceid from spaces where spacename = 'IT')
order by 1

commit

-- Add full permissions to the confluence-administrators group for a single space
-- * Set the offest to a range which allows 14 rows to be added
-- * Use either perm_groupname OR perm_username but not both
-- * Replace anotheruser as appropriate
insert into SPACEPERMISSIONS
with target as (
select
3620 offset,
'confluence-administrators' perm_groupname,
NULL perm_username,
'IT' spacename,
'anotheruser' audit_username
from dual),
ptypes as (
SELECT 'COMMENT' permtype from dual union all
SELECT 'CREATEATTACHMENT' from dual union all
SELECT 'EDITBLOG' from dual union all
SELECT 'EDITSPACE' from dual union all
SELECT 'EXPORTPAGE' from dual union all
SELECT 'EXPORTSPACE' from dual union all
SELECT 'REMOVEATTACHMENT' from dual union all
SELECT 'REMOVEBLOG' from dual union all
SELECT 'REMOVECOMMENT' from dual union all
SELECT 'REMOVEMAIL' from dual union all
SELECT 'REMOVEPAGE' from dual union all
SELECT 'SETPAGEPERMISSIONS' from dual union all
SELECT 'SETSPACEPERMISSIONS' from dual union all
SELECT 'VIEWSPACE' from dual)
select
t.offset+rownum permid,
s.spaceid,
p.permtype,
t.groupname permgroupname,
t.perm_username permusername,
t.audit_username creator,
sysdate creationdate,
t.audit_username lastmodifier,
sysdate lastmoddate
from target t,
ptypes p,
spaces s
where t.spacename = s.spacename (+)

Friday, 19 November 2010

Keeping an SSH tunnel (passworded) running perniciously

* Download and compile sshpass and place in DIR
http://sshpass.sourceforge.net/

* Create a script like this
DIR=/?
LOG=$DIR/ssh.log
LOCAL_PORT=15000
REMOTE_SERVER=192.168.69.69

REMOTE_PORT=1521
echo "`date` - Restarting " >> $LOG

export SSHPASS='PASSWORD'
$DIR/sshpass -e ssh  $USERNAME@ $REMOTE_SERVER -L${LOCAL_PORT}:localhost:${REMOTE_PORT} -N -o ServerAliveInterval=30 -o TCPKeepAlive=yes -o ServerAliveCountMax=172800
echo "`date` - Ending " >> $LOG

* Add the following to /etc/inittab - replace xxxx with a unique id, USER with the user to login as and and script.sh accordingly with full path
xxxx:35:respawn:/bin/su - USER "/?/script.sh"

* Get the init process to reload (as root)
kill -HUP 1

* Test

Thursday, 18 November 2010

Keeping Your SSH Sessions Alive Through Firewalls

To send a keep alive every 4 minutes either change ~/.ssh/config or /etc/ssh/ssh_config to add
Host *   
     ServerAliveInterval 240