Sponsored Content
Full Discussion: Shell Problem
Top Forums UNIX for Advanced & Expert Users Shell Problem Post 85313 by blowtorch on Tuesday 4th of October 2005 02:26:55 PM
Old 10-04-2005
A setuid binary that runs a shell script is a way to give users extra privileges that may be required to carry out a particular task... The main function will look similar to this:
Code:
main(argc,argv)
int argc;
char *argv[];
{
   setuid(0);       /*I am not gonna be doing any error checking here*/
   system("/full_path/some_shell_script");
}

In the some_shell_script, you do whatever it is that you require root privs for... Now, if you have permissions to write to this script, all you have to do is replace the code in the script with the below:
Code:
/usr/bin/sh -i

When some_shell_script executes that line of code, you will be in an interactive shell that has root privileges. From here you can edit the /etc/passwd file and restore the shell.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shell problem

&& set -x && echo "enter tablespace_end_backup" >&2 Can you tell me what's mean above? thanx (1 Reply)
Discussion started by: Lee
1 Replies

2. UNIX for Dummies Questions & Answers

Shell Problem.

Hello and Good day to all. Im having a problem here and would like to know if there is any solution that could overcome my problem. I have changed from bash to csh (c-shell) yesterday on my Linux 7.2. When i do $echo $SHELL i can see the output /bin/csh which means ihave succesfully landed on... (4 Replies)
Discussion started by: ###1tomato
4 Replies

3. UNIX for Dummies Questions & Answers

shell problem

What are the different type of shell available in UNIX and how to change the shell? just this 2 question pls help mi (4 Replies)
Discussion started by: yeah016
4 Replies

4. Shell Programming and Scripting

Problem in shell

hi, can any one tell a solution for the following : I want to append 10 spaces and a string say "ok" to 12 digit number which is stored in a varialbe & display using shell script. (1 Reply)
Discussion started by: Sandeep Kale
1 Replies

5. Shell Programming and Scripting

Shell Problem

Hi all, until yesturday grep command was running in KSH .... I was executing this command ls -l | grep *.sh But today its not working at all ... Should I check any of the setting ... I am not getting whats the problem ... I have relogged to unix box but it didn't... (14 Replies)
Discussion started by: dhananjayk
14 Replies

6. Shell Programming and Scripting

problem with if in shell

Hi, My sheel script has below statement: if; then When I run iam getting the below error: -bash: syntax error near unexpected token `then' What is wrong with that statement: Plz help me. (2 Replies)
Discussion started by: pradeep_script
2 Replies

7. Shell Programming and Scripting

shell problem

Hello! Can you please help me on a lab at school: I have to to write a shell program which reads all .C files from the current directory and prints for each file how many '#define' directives it has and for each macro defined how many times is it used in that file. Can you suggest how can i... (1 Reply)
Discussion started by: dark_knight
1 Replies

8. Shell Programming and Scripting

Problem in shell script

hi...i create a script which reads data from file and compare that the data which is entered by me through keyboard...i can easily read first two contents of file..i am facing the problem to read other contents.. structure of my file is username:password:username1:password1.......and so on ... (1 Reply)
Discussion started by: shubhig15
1 Replies

9. Shell Programming and Scripting

shell problem

problem: I give the source of a c program.. is required to indicate how many times is called each function defined in the program and line number there is a call. let's say i have lab2.c: float dist(int *a,int *b,int n){ int i=0; double d=0; for (i=1;i<=n;i++){ d+=pow((a-b),2); }... (4 Replies)
Discussion started by: sherpeledenis
4 Replies

10. UNIX for Dummies Questions & Answers

shell problem

this picture for print You didn't do the question. Go back. if $1 = 0 but until now it give me this message what i should be do ? http://img717.imageshack.us/img717/6137/eeevb.jpg (2 Replies)
Discussion started by: NeeZaaR
2 Replies
SULOGIN(8)						Linux System Administrator's Manual						SULOGIN(8)

NAME
sulogin - Single-user login SYNOPSIS
sulogin [ -e ] [ -p ] [ -t SECONDS ] [ TTY ] DESCRIPTION
sulogin is invoked by init(8) when the system goes into single user mode. (This is done through an entry in inittab(5).) Init also tries to execute sulogin when the boot loader (e.g., grub(8)) passes it the -b option. The user is prompted Give root password for system maintenance (or type Control-D for normal startup): If the root account is locked, as is the default on Ubuntu, no password prompt is displayed and sulogin behaves as if the correct password were entered. sulogin will be connected to the current terminal, or to the optional device that can be specified on the command line (typically /dev/con- sole). If the -t option is used then the program only waits the given number of seconds for user input. If the -p option is used then the single-user shell is invoked with a dash as the first character in argv[0]. This causes the shell process to behave as a login shell. The default is not to do this, so that the shell will not read /etc/profile or $HOME/.profile at startup. After the user exits the single-user shell, or presses control-D at the prompt, the system will (continue to) boot to the default runlevel. ENVIRONMENT VARIABLES
sulogin looks for the environment variable SUSHELL or sushell to determine what shell to start. If the environment variable is not set, it will try to execute root's shell from /etc/passwd. If that fails it will fall back to /bin/sh. This is very valuable together with the -b option to init. To boot the system into single user mode, with the root file system mounted read/write, using a special "fail safe" shell that is statically linked (this example is valid for the LILO bootprompt) boot: linux -b rw sushell=/sbin/sash FALLBACK METHODS
sulogin checks the root password using the standard method (getpwnam) first. Then, if the -e option was specified, sulogin examines these files directly to find the root password: /etc/passwd, /etc/shadow (if present) If they are damaged or nonexistent, sulogin will start a root shell without asking for a password. Only use the -e option if you are sure the console is physically protected against unauthorized access. AUTHOR
Miquel van Smoorenburg <miquels@cistron.nl> SEE ALSO
init(8), inittab(5). 17 Jan 2006 SULOGIN(8)
All times are GMT -4. The time now is 12:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy