-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path6_hideUnhideMedia.sh
84 lines (79 loc) · 2.78 KB
/
6_hideUnhideMedia.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
#This program intends to hide or unhide one to multiple files/folders in a given path as per user's choice
echo -e "\n**************************************** Hide/Unhide Multiple Files and Folders ****************************************\n"
createLog() #function for creating prefix of every log entry
{
logPath="/var/log/secureMyMediaLogs.log"
date=$(date +"%a %b %d %T %Y")
userName=$(whoami)
userId=$(id -u)
logPrefix=$date" "$userName"(uid="$userId
}
hideMedia()
{
echo -e "\nHiding media $hideTarget.. \n"
originalHideTarget=$hideTarget
newHideTarget=.$hideTarget #prefixing . in front of a file/directory hides it
mv $hideTarget $newHideTarget #renaming
echo -e "Congratulations! $originalHideTarget has been hidden successfully and renamed to: $newHideTarget\n"
createLog
logEntry=$logPrefix"): Child 5 -> PATH: $path -> FILE/FOLDER: $hideTarget -> Succesfully hidden as $newHideTarget"
echo -e $logEntry >> $logPath
}
unhideMedia()
{
echo -e "\nUnhiding media $unhideTarget.. \n"
mediaName=$unhideTarget
prefix="."
mediaName=${mediaName#$prefix} #remove prefix
newUnhideTarget=${mediaName}
mv $unhideTarget $newUnhideTarget #renaming
echo -e "Congratulations! $newUnhideTarget is unhidden now!\n"
createLog
logEntry=$logPrefix"): Child 5 -> PATH: $path -> FILE/FOLDER: $unhideTarget -> Succesfully unhidden as $newUnhideTarget"
echo -e $logEntry >> $logPath
}
echo -e "\nEnter the directory path which contains the file/directory that require hiding/unhiding: "
read path
if [ -e $path ] #Directory path exists
then
cd $path
choice=1
while [ $choice -eq 1 ]
do
echo -e "\nListing all the files and folders in the given directory path ($path): \n"
ls -la
echo -e "\nDo you want to hide or unhide any file/directory? (Hide=1/Unhide=2) Enter 1/2: "
read hideChoice
if [ $hideChoice -eq 1 ] #HIDE Media
then
echo -e "\nEnter filename/directory name to hide it: "
read hideTarget
if [ -e $hideTarget ] #if file/folder exists
then
hideMedia $hideTarget $path
else
echo -e "\n$hideTarget does not exist. Please enter a valid filename/directory name\n"
fi
elif [ $hideChoice -eq 2 ] #UNHIDE Media
then
echo -e "\nEnter filename/directory name to unhide it: "
read unhideTarget
if [ -e $unhideTarget ] #if file/folder exists
then
unhideMedia $unhideTarget $path
else
echo -e "\n$unhideTarget does not exist. Please enter a valid filename/directory name\n"
fi
else
echo -e "\nIncorrect Choice, please select (Hide=1/Unhide=2)"
fi
echo -e "\nDo you want to hide/unhide more files/directories? (Yes=1/No=0) Enter 1/0: "
read choice
done
else
echo -e "$path does not exist. Sorry, we cannot provide decryption facility.\n"
fi
createLog
logEntry=$logPrefix"): Child 5 -> Sesssion Closed"
echo -e $logEntry >> $logPath