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

SystemD commands

[root@centos7 ~]# systemctl -t target UNIT                   LOAD   ACTIVE SUB    DESCRIPTION basic.target           loaded active active Basic System cryptsetup.target      loaded active active Encrypted Volumes getty.target           loaded active active Login Prompts graphical.target       loaded active active Graphical Interface local-fs-pre.target    loaded active active Local File Systems (Pre) local-fs.target        loaded active active Local File Systems multi-user.target      loaded active active Multi-User System network-online.target  loaded active active Network is Online network.target         loaded active active Network nfs-client.target      loaded active active NFS client services nss-user-lookup.target loaded active active User and Gr...

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” >...

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...