Compare commits
15 Commits
user-renam
...
master
Author | SHA1 | Date |
---|---|---|
|
aa2ad37d3a | 2 years ago |
|
c43c5f4183 | 2 years ago |
|
2f48382db0 | 2 years ago |
|
2f7e955b29 | 2 years ago |
|
097c96f809 | 3 years ago |
|
65168fda38 | 3 years ago |
|
2052130745 | 3 years ago |
|
5d6eaff1da | 3 years ago |
|
b1fc0fc340 | 3 years ago |
|
dfd9797aa6 | 3 years ago |
|
271485e170 | 3 years ago |
|
dadefd9560 | 3 years ago |
|
79647bd226 | 3 years ago |
|
ff3d1190c6 | 4 years ago |
|
6f02c993b3 | 4 years ago |
@ -1,51 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Arguments: old name, new name
|
|
||||||
|
|
||||||
if [ $# -lt 3 ]; then
|
|
||||||
printf '%s\n' "Wrong number of arguments\!" >&2
|
|
||||||
printf '%s\n' "Usage: user-rename [old name] [new name] [new home]" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
OLD=$1
|
|
||||||
NEW=$2
|
|
||||||
HOME=$3
|
|
||||||
|
|
||||||
# Get old home dir (no longer used, keeping around for a bit in case it is needed)
|
|
||||||
#OLD_HOME=$(grep $OLD /etc/passwd | awk -F: '{print $6}')
|
|
||||||
|
|
||||||
# Begin sanity check
|
|
||||||
if ! id "$OLD" 2>&1 >/dev/null; then
|
|
||||||
printf '%s\n' "ERROR 11: OLD user name not found: $OLD" >&2
|
|
||||||
exit 11
|
|
||||||
fi
|
|
||||||
|
|
||||||
if id "$NEW" 2>&1 >/dev/null; then
|
|
||||||
printf '%s\n' "ERROR 12: NEW user name already exists: $NEW" >&2
|
|
||||||
exit 12
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "$HOME" ]; then
|
|
||||||
printf '%s\n' "ERROR 13: New HOME directory already exists: $HOME" >&2
|
|
||||||
exit 13
|
|
||||||
fi
|
|
||||||
# End sanity check
|
|
||||||
|
|
||||||
# Rename user
|
|
||||||
usermod -l $NEW $OLD || { printf '%s\n' "Error renaming user\!" >&2 && exit 1 }
|
|
||||||
|
|
||||||
# Change home dir location
|
|
||||||
usermod -d $HOME -m $NEW || { printf '%s\n' "Error moving home directory\!" >&2 && exit 1 }
|
|
||||||
|
|
||||||
|
|
||||||
# Check if primary group matches old user name; modify if so
|
|
||||||
if [ ! "$(id -gn $NEW)" == "$OLD" ]; then
|
|
||||||
groupmod -n $NEW $OLD || { printf '%s\n' "Error renaming primary group\!" >&2 && exit 1 }
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Done! Print some info and exit
|
|
||||||
grep $NEW /etc/passwd
|
|
||||||
id $NEW
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
Loading…
Reference in new issue