run as dedicated user on debian

Patch by eevans for CASSANDRA-1004

git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@981326 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eric Evans 2010-08-01 21:51:50 +00:00
parent 51780266e7
commit 8aa58cb65d
3 changed files with 56 additions and 2 deletions

2
debian/TODO vendored
View File

@ -1,4 +1,2 @@
* run as non-privileged user
* cassandra-cli requires root for access to log files (and shouldn't)
* don't embed jars for which debian packages exist * don't embed jars for which debian packages exist

55
debian/cassandra.postinst vendored Normal file
View File

@ -0,0 +1,55 @@
#!/bin/sh
# postinst script for cassandra
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
if ! getent group cassandra >/dev/null; then
addgroup --system cassandra
fi
if ! getent passwd cassandra >/dev/null; then
adduser --quiet \
--system \
--ingroup cassandra \
--quiet \
--disabled-login \
--disabled-password \
--home /var/lib/cassandra \
--no-create-home \
-gecos "Cassandra database" \
cassandra
fi
if [ -n $2 ] && dpkg --compare-versions "$2" le 0.6.4-2; then
chown -R cassandra: /var/lib/cassandra
chown -R cassandra: /var/log/cassandra
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#

1
debian/init vendored
View File

@ -85,6 +85,7 @@ do_start()
is_running && return 1 is_running && return 1
$JSVC \ $JSVC \
-user cassandra \
-home $JAVA_HOME \ -home $JAVA_HOME \
-pidfile $PIDFILE \ -pidfile $PIDFILE \
-errfile "&1" \ -errfile "&1" \