Skip to main content

Create a custom linux shell with limited customized commands

Here is a c Program I have tried to create  a custom shell in linux with limited commands


#include
#include
#include
#include
#include
using namespace std;

int main(int argc, char * argv[])
{
  string command;
cout << "\t This is a custom developed shell \n\n";
while (command != "myexit")
{

if ( command == "myexit")
system("exit");
else if ( command == "myfinger" )
{
char username[40];
char buf[32];
printf ("Enter the username:\n");
scanf ("%s",&username);
sprintf(buf, "finger %s", username);
system (buf);
}
else if ( command == "mydel" )
{
char filename[40];
char cmd1[40];
printf ("Enter the filename to delete:\n");
scanf ("%s",&filename);
sprintf(cmd1, "rm -rf %s", filename);
system (cmd1);
printf ("The file %s deleted \n", filename);
}
else if ( command == "mywhich" )
{
char cmmnd[40];
char cmd2[40];
printf ("Enter the command:\n");
scanf ("%s",&cmmnd);
sprintf(cmd2, "which %s", cmmnd);
system (cmd2);
}
else if ( command == "mycp" )
{
char target1[30];
char target2[30];
char cmd3[30];
printf ("Enter the source and then destination:\n");
scanf ("%s %s", &target1,&target2);
sprintf(cmd3, "cp %s %s", target1,target2);
system (cmd3);
}
else if ( command == "myhelp" )
cout << "\n Available options \n 1)mydel \n 2)myfinger \n 3)mywhich \n 4)mycp \n 5)myhelp \n \n";
else if ( command != "\0")
cout << "command not found \n";

cout << "myprompt >";
cin >> command;
}
return 0;

}
 



save this to a file... g++ filename.cpp -o filename

Comments

Popular posts from this blog

RAID

Check the Raid installed lspci | grep RAID     Software Raid ============== Linux Support For Software RAID Currently, Linux supports the following RAID levels (quoting from the man page): LINEAR RAID0 (striping) RAID1 (mirroring) RAID4 RAID5 RAID6 RAID10 MULTIPATH, and FAULTY. MULTIPATH is not a Software RAID mechanism, but does involve multiple devices: each device is a path to one common physical storage device. FAULTY is also not true RAID, and it only involves one device. It provides a layer over a true device that can be used to inject faults. Install mdadm Type the following command under RHEL / CentOS / Fedora Linux: # yum install mdadm Type the following command under Debian / Ubuntu Linux: # apt-get update && apt-get install mdadm How Do I Create RAID1 Using mdadm? Type the following command to create RAID1 using /dev/sdc1 and /dev/sdd1 (20GB size each). First run fdisk on /dev/sdc and /dev/sdd with " Software R

How to tweak linux server harddisk using hdparm

hdparm switches explained http://manpages.ubuntu.com/manpages/intrepid/man8/hdparm.8.html   First of all you have to install hdparm in linux. apt-get install hdparm #hdparm /dev/sda /dev/sda: readonly = 0 (off) readahead = 120 (on) geometry = 8850/255/63, sectors = 142182912, start = 0 Hard disk Performance Information # hdparm -tT /dev/hda /dev/hdd: Timing cached reads: 496 MB in 2.00 seconds = 247.42 MB/sec Timing buffered disk reads: 60 MB in 3.03 seconds = 19.81 MB/sec Hard drive set to low, slow settings # hdparm -cuda /dev/hda /dev/hda: IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) readahead = 256 (on) Use below tweaks to increase disk read write performance. For sda drive ~]# hdparm -a 2048 /dev/sda /dev/sda: setting fs readahead to 2048 readahead = 2048 (on) For sdb drive [root@439298a ~]# hdparm -a 2048 /dev/sdb /dev/sdb: setting fs readahead to 2048 readahead = 2048 (on) ]# echo “anticipatory” > /sy

Modsecurity block rule for XMLRPC and wp-login attack

SecAction phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{REMOTE_ADDR},id:5000134  <Locationmatch "/wp-login.php">  SecRule user:bf_block "@gt 0" "deny,status:401,log,id:5000135,msg:'ip address blocked for 5 minutes, more than 10 login attempts in 3 minutes.'"  SecRule RESPONSE_STATUS "^302" "phase:5,t:none,nolog,pass,setvar:ip.bf_counter=0,id:5000136"  SecRule RESPONSE_STATUS "^200" "phase:5,chain,t:none,nolog,pass,setvar:ip.bf_counter=+1,deprecatevar:ip.bf_counter=1/180,id:5000137"  SecRule ip:bf_counter "@gt 10" "t:none,setvar:user.bf_block=1,expirevar:user.bf_block=300,setvar:ip.bf_counter=0"  </Locationmatch>  SecAction phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{REMOTE_ADDR},id:5000234  <Locationmatch "/xmlrpc.php">  SecRule user:bf_block "@gt 0" "deny,status:401,log,id:5000235,msg:'ip address blocked for 5 m