skrypt zmiany nazwy użytkownika
: 11 września 2015, 13:23
Witam.Co w tym skrypcie jest nie tak,ze nie działa?
Podmieniłem wszystko co związane z new/old nick i new/old username. Debian Jessie
Podmieniłem wszystko co związane z new/old nick i new/old username. Debian Jessie
Kod: Zaznacz cały
[font=Verdana]
[/font][color=#333333][font=monaco]#!/bin/sh[/font][/color]
################################################################## File: re-login ## Author: Przemysław "Winnetou" Wilkosz ## Contact: [EMAIL="wilkosz.p@gmail.com"]wilkosz.p@gmail.com[/EMAIL] ## jid: [EMAIL="winnetou@jabster.pl"]winnetou@jabster.pl[/EMAIL] ## Author: Mateusz 'thalcave' Chynowski ## Contact: [EMAIL="thalcave@gmail.com"]thalcave@gmail.com[/EMAIL] ## jid: [EMAIL="thalcave@jid.dug.net.pl"]thalcave@jid.dug.net.pl[/EMAIL] ## ## Desc: Scrip allows to change user login ## Copyleft: All right reversed. Take, use and share ## Licence: GNU GPL ## Thanks to: lis6502 <lis6520@gmail.com> ##################################################################OLDNICK=$1NEWNICK=$2help(){ echo "script allows to change loginname of selected user" echo "$0 old-username new-username"}update_files(){ if [ "$1" = "group" ] then sed -i -e "s/\(^\|:\|,\)$OLDNICK\(,\|:\|$\)/\1$NEWNICK\2/g" /etc/$1 else sed -i -e "s/\(^\|\/\)$OLDNICK:/\1$NEWNICK:/g" /etc/$1 fi}if [ $# -lt 2 ]then helpelif [ $# -eq 2 ]then if [ "$NEWNICK" = "$OLDNICK" ] then echo "new-login = old-login. Abording" exit 666; else if [ -n $(grep "^$NEWNICK:" /etc/passwd) ] then echo "$NEWNICK already exist abording" exit 666; fi fi DOM=$(grep ^${OLDNICK}: /etc/passwd |cut -d: -f 6 |sed "s/\/${OLDNICK}//") mv $DOM/$OLDNICK $DOM/$NEWNICK update_files group update_files passwd update_files shadowelse helpfi