table of content          about         contact

auto login as root

saat perang biasanya sering sekali membutuhkan hak root, untuk keperluan apapun.
root bukanlah keadaan yang semestinya, user root dapat melakukan segalanya, dahulu hari aku menerapkan user root sebagai satu-satunya user pada backtrack (gnome edition, sampai saat ini aku belum bisa menerima kde dengan suka rela), sebagaimana umum diketahui bahwa linux user sejati nggak boleh menuntut tutorial, cukup asal ada ide dengan satu clue (clue mirip dengan petunjuk ya, namun ada beda loh) seorang linux user sejati akan berusaha menemukan penyelesaian, clue juga bukan minta dari orang lain, namun sepantasnya mendefinisikan, mencari dan menemukan sendiri.
hak akses root nggak boleh diterapkan pada komputer yang memiliki pengguna lebih dari satu, nggak boleh juga diterapkan pada user yang nggak tahu apa yang sebenarnya dilakukan, nggak boleh diterapkan pada komputer mission critical, nggak boleh diterapkan pada user yang nggak tahu diri, dan terutama nggak boleh buat coba-coba, jadi benar-benar hanya boleh diterapkan pada user yang sedang berperang dan paham tentang medan tempur.
peralatan perang tidaklah seram, nggak seperti cracker cap kucing yang harus menggunakan backtrack dengan segala macam framework yang terlihat begitu angker, cukuplah sebuah terminal dengan bash shell, python, perl dan sejenisnya.
komputerku hanyalah sebuah netbook 10" dengan hardisk 160 gb yang aku partisi menjadi sda5,sda6,sda7 dan sda8, semuanya secondary, sda5 sebesar 30gb untuk / sda6 sebesar 100gb untuk menampung data download/buffer, sda7 untuk mencatat log, file-file editan gambar/sket, file draftsight, ratusan script bikinan sendiri, file-file template dan konsep-konsep surat yang belum selesai sedangkan sisanya mengambil 1gb untuk swap di sda8, aku gambarkan seperti ini maksudku adalah bahwa di hardisk lokal sama sekali nggak ada data penting, hanya berkas temporer yang nggak ada resikonya sama sekali bahkan seandainya diformat total sekalipun.
sejak dua tahun yang lalu aku selalu menyimpan file-file matang (hasil kerja/dagangan) maupun berkas penting (atau rahasia) di media penyimpanan online (ubuntuone/dropbox/space sewaan juga banyak dan murah sekali)
kembali ke judul, untuk membuat linux (distro yang aku pake saat ini usu7) login secara otomatis sebagai root tidak bisa melalui pengaturan login screen (gdmsetup) tapi dengan mengedit /etc/gdm/custom.conf
sudo nano /etc/gdm/custom.conf

[daemon]
AllowRoot=true
TimedLoginEnable=false
AutomaticLoginEnable=true
TimedLogin=root
AutomaticLogin=root
TimedLoginDelay=30
DefaultSession=gnome-2d


DefaultSession=gnome-2d bisa diganti dengan DefaultSession=gnome kalo menginginkan compiz, aku menggunakan gnome-2d sebagai pilihan karena aku rasa nggak butuh efek 3d yang hanya memberati system doang.

root juga harus berpassword
sudo passwd root
jika terinstall google-chrome atau chromium-browser maka file google-chrome/chromium-browser harus dimodifikasi
sudo nano /opt/google/chrome/google-chrome

#!/bin/bash
#
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="`readlink -f "$0"`"

HERE="`dirname "$CHROME_WRAPPER"`"

# We include some xdg utilities next to the binary, and we want to prefer them
# over the system versions when we know the system versions are very old. We
# detect whether the system xdg utilities are sufficiently new to be likely to
# work for us by looking for xdg-settings. If we find it, we leave $PATH alone,
# so that the system xdg utilities (including any distro patches) will be used.
if ! which xdg-settings &> /dev/null; then
# Old xdg utilities. Prepend $HERE to $PATH to use ours instead.
export PATH="$HERE:$PATH"
else
# Use system xdg utilities. But first create mimeapps.list if it doesn't
# exist; some systems have bugs in xdg-mime that make it fail without it.
xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}"
mkdir -p "$xdg_app_dir"
[ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list"
fi

# Always use our versions of ffmpeg libs.
# This also makes RPMs find the compatibly-named NSS3/NSPR symlinks.
if [[ -n "$LD_LIBRARY_PATH" ]]; then
LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
else
LD_LIBRARY_PATH="$HERE:$HERE/lib"
fi
export LD_LIBRARY_PATH

export CHROME_VERSION_EXTRA="stable"

# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120
export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir

atau jika terinstall chromium-browser
sudo nano /usr/bin/chromium-browser


#!/bin/sh

# Chromium launcher

# Authors:
# Fabien Tassin < fta@sofaraway.org >
# License: GPLv2 or later

APPNAME=chromium-browser
LIBDIR=/usr/lib/chromium-browser
GDB=/usr/bin/gdb
BUILD_DIST="Ubuntu 10.04"

usage () {
echo "$APPNAME [-h|--help] [-g|--debug] [--temp-profile] [options] [URL]"
echo
echo " -g or --debug Start within $GDB"
echo " -h or --help This help screen"
echo " --temp-profile Start with a new and temporary profile"
echo
echo " Other supported options are:"
MANWIDTH=80 man chromium-browser | sed -e '1,/OPTIONS/d; /ENVIRONMENT/,$d'
echo " See 'man chromium-browser' for more details"
}

if [ -f /etc/$APPNAME/default ] ; then
. /etc/$APPNAME/default
fi

# Prefer user defined CHROMIUM_USER_FLAGS (fron env) over system
# default CHROMIUM_FLAGS (from /etc/$APPNAME/default)
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}

# FFmpeg needs to know where its libs are located
if [ "Z$LD_LIBRARY_PATH" != Z ] ; then
LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$LIBDIR
fi

export LD_LIBRARY_PATH

# For the Default Browser detection to work, we need to give access
# to xdg-settings if it's not present on the system (ensures that the system
# xdg-utils is recent enough). Also set CHROME_WRAPPER in case xdg-settings is
# not able to do anything useful
if [ ! -e /usr/bin/xdg-settings ] ; then
export PATH="$LIBDIR:$PATH"
fi
export CHROME_WRAPPER="`readlink -f "$0"`"
export CHROME_DESKTOP=$APPNAME.desktop

# lsb_release is slow so try to source the static file /etc/lsb-release
# instead, and fallback to lsb_release if we didn't get the information we need
if [ -e /etc/lsb-release ] ; then
. /etc/lsb-release
fi
DIST=${DISTRIB_ID:-"`lsb_release -si`"}
RELEASE=${DISTRIB_RELEASE:-"`lsb_release -sr`"}

# Set CHROME_VERSION_EXTRA visible in the About dialog and in about:version
if [ "$DIST $RELEASE" = "$BUILD_DIST" ] ; then
export CHROME_VERSION_EXTRA="$DIST $RELEASE"
else
export CHROME_VERSION_EXTRA="Built on $BUILD_DIST, running on $DIST $RELEASE"
fi

want_debug=0
want_temp_profile=0
while [ $# -gt 0 ]; do
case "$1" in
-h | --help | -help )
usage
exit 0 ;;
-g | --debug )
want_debug=1
shift ;;
--temp-profile )
want_temp_profile=1
shift ;;
-- ) # Stop option prcessing
shift
break ;;
* )
break ;;
esac
done

if [ $want_temp_profile -eq 1 ] ; then
TEMP_PROFILE=`mktemp -d`
CHROMIUM_FLAGS="$CHROMIUM_FLAGS --user-data-dir=$TEMP_PROFILE"
fi

if [ $want_debug -eq 1 ] ; then
if [ ! -x $GDB ] ; then
echo "Sorry, can't find usable $GDB. Please install it."
exit 1
fi
tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo "set args $CHROMIUM_FLAGS ${1+"$@"}" > $tmpfile
echo "# Env:"
echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
echo "# PATH=$PATH"
echo "# GTK_PATH=$GTK_PATH"
echo "# CHROMIUM_USER_FLAGS=$CHROMIUM_USER_FLAGS"
echo "# CHROMIUM_FLAGS=$CHROMIUM_FLAGS"
echo "$GDB $LIBDIR/$APPNAME -x $tmpfile"
$GDB "$LIBDIR/$APPNAME" -x $tmpfile
if [ $want_temp_profile -eq 1 ] ; then
rm -rf $TEMP_PROFILE
fi
exit $?
else
if [ $want_temp_profile -eq 0 ] ; then
exec $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@" --user-data-dir
else
# we can't exec here as we need to clean-up the temporary profile
$LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
rm -rf $TEMP_PROFILE
fi
fi


oia mungkin ada banyak lagi aplikasi yang nggak mau dijalankan dengan root privilege, solusinya tentu berbeda-beda, mulai dari edit konfigurasi, edit script sampai compile ulang, misalnya vlc yang bisa dicompile ulang dengan memberikan flag --enable-run-as-root pada ./configure atau dengan mengedit file /usr/bin/vlc menggunakan hexedit, lalu dalam mode ascii cari teks geteuid dan ganti dengan getppid (baca manualnya dong, jika belum terinstall ya diinstall dong)

simpan semua dan reboot. cara ini pasti berjalan pada semua distro berbasis gnome (setidaknya pernah aku terapkan pada bt5, debian6 dan usu7 sekarang ini, kalo anda gagal berarti kurang mujur atau belum pantas memegang akses root hahahaaaa), konsepnya sendiri seharusnya bisa diterapkan pada distro dengan desktop apapun, namun anda harus mencari sendiri mana yang harus dimodifikasi, mengapa ? karena anda kan linux user sejati.