Select Git revision
insert_data.sh
-
Luiz Reis authored
Signed-off-by:
Luiz Reis <luizreis@outlook.com>
Luiz Reis authoredSigned-off-by:
Luiz Reis <luizreis@outlook.com>
insert_data.sh 3.20 KiB
#!/bin/bash
DIR_USB=/media/usb_drive/
DIR_OPENSLX=/Openslx/
user_name=`users | cut -f 1 -d ' '`
# prepares openslx partition to be used
# mounts partition if not mounted
# blocks program execution if it is not a openslx partition
# param $1 is the devpath to be mounted
# param $2 is the uuid of the partition
# return is done via the mountpath global variable, which is also used here
function prepare_usb {
# get the usb_drive's path
local devpath="/dev/"$1
mountpath=""
if [ ! 0 -eq $(mount | grep -q $devpath) ]; then
echo $0": Device $devpath is already mounted"
mountpath=$(mount | grep -w $devpath | cut -d' ' -f3)
else
echo $0": Device $devpath is not mounted"
mkdir -p /media/openslx/$2
if $(mount $devpath /media/openslx/$2); then
echo $0": Device $devpath mounted successfully"
mountpath="/media/openslx/"$2
else
echo $0": Device $devpath could not be mounted"
exit 1
fi
fi
if [ -e "$mountpath/Openslx/config" ]; then
echo $0": $devpath is an openslx ready drive"
else
echo $0": $devpath is not ready to be used as an openslx drive"
if [ $mountpath = "/media/openslx/$2" ]; then
echo $0": umounting $devpath"
umount $devpath
fi
exit 2
fi
}
sleep 3
#TIRAR FOR
# list all the usb_drives, mounted or not mounted
usb_drives=`ls -lt 2>/dev/null /dev/disk/by-id/usb* | rev | cut -f 3 -d ' ' | rev | head -1`
prepare_usb
echo $mount_path
counter=0
for user_info in `eval cat "$mount_path"/Openslx/config`; do
type=`eval echo $user_info | cut -f 1 -d '='`
counter=$(($counter+1))
if [[ $type == "SLX_USB_PASSWD" ]]
then
passwd=`eval echo $user_info | cut -f 2 -d '='`
user=` eval echo $user_info | cut -f 2 -d '=' | cut -f 1 -d ':'`
gshadow=`echo $user:!::`
echo "user"$user
check_user=`cat /etc/shadow | grep -w $user`
passwd=`eval echo $user_info | cut -f 2 -d '='`
if [[ ( ! -n $check_user) ]]; then
echo "não existe user"
fi
elif [[ $type == "SLX_USB_SHADOW" ]]
then
shadow=`eval echo $user_info | cut -f 2 -d '='`
elif [[ $type == "SLX_USB_GROUP" ]]
then
group=`eval echo $user_info | cut -f 2 -d '='`
fi
mod=$(( $counter % 3))
if [[ $mod == 0 ]];
then
#insert data in the files
if [[ (! -n $check_user)&&(-n $passwd)&&(-n $shadow)&&(-n $group)&&(-n $gshadow) ]]; then
echo "Insert $counter"
echo $passwd >> /etc/passwd
echo $shadow >> /etc/shadow
echo $group >> /etc/group
#echo $gshadow >> /etc/gshadow
if [ ! -d "/home/"$user ]; then
mkdir /home/$user
chown $user:$user /home/$user
fi
fi
passwd=""
shadow=""
group=""
gshadow=""
user=""
fi
done
echo $shadow
echo $group
#user=` eval cat "$mount_path"/Openslx/config | head -n 1 | cut -f 2 -d '=' | cut -f 1 -d ':'`
#gshadow=`echo $user:!::`
#check_user=`cat /etc/shadow | grep -w $user`
#echo $shadow
#echo $group
#echo $check_user