Make this port add shell to cyrus user
PR: 38435 Submitted by: Scot W. Hetzel <hetzels@westbend.net>
This commit is contained in:
parent
8445fae9d3
commit
de268dd4d8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=59842
3 changed files with 33 additions and 51 deletions
|
@ -39,7 +39,6 @@ post-configure:
|
|||
|
||||
pre-install:
|
||||
@ ${CP} ${WRKSRC}/man/quota.8 ${WRKSRC}/man/cyrquota.8
|
||||
@${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
||||
|
||||
DOCS= README acl-extension anoncvs bugs changes copyrights install \
|
||||
mailing-list overview quota-extension server-design
|
||||
|
|
|
@ -35,6 +35,28 @@ cyrus_conf() {
|
|||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Modify the 'cyrus' user created from the cyrus-sasl port
|
||||
#
|
||||
|
||||
modify_cyrus_user() {
|
||||
USER=cyrus
|
||||
PW=/usr/sbin/pw
|
||||
if [ -x /sbin/nologin ]; then
|
||||
shell=/sbin/nologin
|
||||
else
|
||||
shell=/nonexistent
|
||||
fi
|
||||
uhome=/nonexistent
|
||||
|
||||
if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}" \ ; then
|
||||
e=$?
|
||||
echo "*** Failed to update user \`${USER}'."
|
||||
exit ${e}
|
||||
fi
|
||||
echo "*** Updated user \`${USER}'."
|
||||
}
|
||||
|
||||
case $2 in
|
||||
DEINSTALL)
|
||||
cd ${PKG_PREFIX}
|
||||
|
@ -42,6 +64,7 @@ case $2 in
|
|||
checkfile ${PKG_PREFIX}/etc/imapd.conf
|
||||
;;
|
||||
POST-DEINSTALL)
|
||||
modify_cyrus_user
|
||||
;;
|
||||
|
||||
esac
|
||||
|
|
|
@ -7,61 +7,21 @@ PKG_BATCH=${BATCH:=NO}
|
|||
PKG_PREFIX=${PKG_PREFIX:=/usr/local}
|
||||
|
||||
#
|
||||
# create 'cyrus' user and group before installing
|
||||
# Modify the 'cyrus' user created from the cyrus-sasl port
|
||||
#
|
||||
|
||||
create() {
|
||||
if [ ! -x /usr/sbin/pw ]; then
|
||||
echo "*** Please add a user and a group named \`cyrus' before installing this package."
|
||||
exit 69
|
||||
fi
|
||||
modify_cyrus_user() {
|
||||
USER=cyrus
|
||||
PW=/usr/sbin/pw
|
||||
shell=/bin/csh
|
||||
uhome=${PKG_PREFIX}/cyrus
|
||||
|
||||
if ! pw show group cyrus -q >/dev/null; then
|
||||
gid=60
|
||||
while pw show group -g ${gid} -q >/dev/null; do
|
||||
gid=`expr ${gid} + 1`
|
||||
done
|
||||
if ! pw add group cyrus -g ${gid}; then
|
||||
if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}" \ ; then
|
||||
e=$?
|
||||
echo "*** Failed to add group \`cyrus'. Please add it manually."
|
||||
echo "*** Failed to update user \`${USER}'."
|
||||
exit ${e}
|
||||
fi
|
||||
echo "*** Added group \`cyrus' (id ${gid})"
|
||||
else
|
||||
gid=`pw show group cyrus 2>/dev/null | cut -d: -f3`
|
||||
fi
|
||||
|
||||
if [ -x /sbin/nologin ]; then
|
||||
shell=/sbin/nologin
|
||||
else
|
||||
shell=/nonexistent
|
||||
fi
|
||||
if ! pw show user cyrus -q >/dev/null; then
|
||||
uid=60
|
||||
while pw show user -u ${uid} -q >/dev/null; do
|
||||
uid=`expr ${uid} + 1`
|
||||
done
|
||||
if ! pw add user cyrus -u ${uid} -g ${gid} -d "/nonexistent" \
|
||||
-c "the cyrus mail server" -s "${shell}" -p "*" \
|
||||
; then
|
||||
e=$?
|
||||
echo "*** Failed to add user \`cyrus'. Please add it manually."
|
||||
exit ${e}
|
||||
fi
|
||||
echo "*** Added user \`cyrus' (id ${uid})"
|
||||
else
|
||||
if ! pw mod user cyrus -g ${gid} -d "/nonexistent" \
|
||||
-c "the cyrus mail server" -s "${shell}" -p "*" \
|
||||
; then
|
||||
e=$?
|
||||
echo "*** Failed to update user \`cyrus'."
|
||||
exit ${e}
|
||||
fi
|
||||
echo "*** Updated user \`cyrus'."
|
||||
fi
|
||||
if ! pw group mod cyrus -m daemon; then
|
||||
echo "*** can't add user \`daemon' to group \`cyrus'"
|
||||
fi
|
||||
echo "*** Updated user \`${USER}'."
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,10 +50,10 @@ cyrus_conf() {
|
|||
|
||||
case $2 in
|
||||
PRE-INSTALL)
|
||||
create
|
||||
;;
|
||||
|
||||
POST-INSTALL)
|
||||
modify_cyrus_user
|
||||
cd ${PKG_PREFIX}
|
||||
cyrus_conf
|
||||
checkfile ${PKG_PREFIX}/etc/imapd.conf
|
||||
|
|
Loading…
Reference in a new issue