Visit Our UNIX and Linux User Community


SU command in non interactive mode


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users SU command in non interactive mode
# 1  
Old 03-22-2004
SU command in non interactive mode

Can i run the SU command in a non interactive mode. What i want to do is to pass the username and the password as commandline or batch parameters. Please let me if its possible and how to pass them. A sample file will be appreciated.

Thanks,
# 2  
Old 03-23-2004
Will you be typing the user/pass or having them sit in a file? I'd be cautious about leaving a user/pass sitting around. It would be easier to use sudo or RBAC to allow a given user to su.

You could use expect if the above won't do:

#!/usr/bin/expect --

set timeout -1

spawn /bin/su

expect "Password: "
send "mypasswd\r"

expect "\r\n"
send "mycommand\n"

Cheers,

Keith
# 3  
Old 10-02-2007
This didn't work for me:

#!/usr/local/bin/expect --
set timeout -1
spawn /bin/su
expect "Password: "
send "btmRus99\r"
expect "\r\n "
send "/bin/echo Hello>>/tmp/readfil\n"
# 4  
Old 10-02-2007
the response is:

spawn /bin/su
Password:
su: Sorry
send: invalid spawn id (4)
while executing
"send "/bin/echo Hello>>/tmp/readfil\n""
(file "exp" line 7)

If I didn't have a whitespace in expect "\r\n", the program ran but nothing being created in /tmp/readfil.

- Zac
# 5  
Old 10-02-2007
sorry the script should be:

#!/usr/local/bin/expect --
set timeout -1
spawn /bin/su - btmems
expect "Password: "
send "btmRus99\r"
expect "\r\n"
send "/bin/echo Hello>>/tmp/readfil\n"


where btmems is a user, btmRus99 a password.
# 6  
Old 06-26-2008
I can't get that bit of code working on my system. I'm using a Linux based on SLES10. I have tried sending simply an "ls\r", but nothing happens and when the script finishes I'm logged back out.

Are there anymore suggestions to help this work?

Thanks.
# 7  
Old 06-26-2008
Since you did not mention using su with a new username or ssh I am assuming:

A. you are not concerned with remote systems
B. you are referring to using 'su' to switch to the root user
C. you have the root password to do so


the simple solution here is sudo.

as root (use 'su' regularly the first time) issue the 'visudo' command to edit the '/etc/sudoers' file. Add a line like:

%wheel ALL=(ALL) NOPASSWD: ALL

visudo will open the file in vi/vim.

now add your user to the wheel group:

usermod -G <username>

where <username> is your username and NOT root.


now to su to root without a password simply type the command 'sudo su -' and to run a command as root without switching to root just type 'sudo <command of choice>'


cheers!

Previous Thread | Next Thread
Test Your Knowledge in Computers #173
Difficulty: Easy
The key difference between Linux and many other popular modern operating systems is that the Linux kernel and other components are free and open-source software.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

SFTP in non-interactive mode without password

Hello all, can we SFTP to the destination server in a non-interactive mode with out estbalishing the public key of origination server in the destination server? meaning i want to harcode the password as part of the below script or as an variable? Please let me know if there is any better way to... (2 Replies)
Discussion started by: Ariean
2 Replies

2. Shell Programming and Scripting

SFTPing non-interactive mode

Hi All, I need to sftp without any intervention.(LInux,Ksh) I have tried some ideas listed here...but its not working... Please advise on it. (1 Reply)
Discussion started by: jesu
1 Replies

3. Shell Programming and Scripting

Expect command use for interactive mode of scripting

Hi All, I am writing a script(Auto_Installation.sh) which is calling one another script (./update_manager /spare/install/HO7/PME_Response_file.txt) Now the issue is result of (./update_manager /spare/install/HO7/PME_Response_file.txt) script is ##########################################... (6 Replies)
Discussion started by: Dhruvak
6 Replies

4. UNIX for Advanced & Expert Users

sudo in non interactive mode

Hi , I login to unix using my id and then do a sudo to execute any programs i want. sudo su - <id> password : xxxxxxx Is there a way to make it non interactive so that i can use it in shell script. (1 Reply)
Discussion started by: ashwin3086
1 Replies

5. Solaris

Doubt in zlogin non interactive mode........

I want zlogin -C as non interactive mode so after booting the zone I created a file sysidcfg in /etc directory of the zone the sysidcfg file info as shown below. system_locale=C terminal=dtterm network_interface=primary { hostname=my-zone } security_policy=NONE... (1 Reply)
Discussion started by: vijaysachin
1 Replies

6. Homework & Coursework Questions

How to write script that behaves both in interactive and non interactive mode

Q. Write a script that behaves both in interactive and non interactive mode. When no arguments are supplied it picks up each C program from the directory and prints first 10 lines. It then prompts for deletion of the file. If user supplies arguments with the script , then it works on those files... (8 Replies)
Discussion started by: rits
8 Replies

7. Shell Programming and Scripting

script to non interactive mode

Gud morning everybody, I need small help form you people,Please advice me. I have a utility(adpatch) which takes 10-15 prompts, i want to automate this by calling this utility in shell script. Now my qiestion i want to run the script in non interactive mode. An example. $adpatch... (1 Reply)
Discussion started by: swetham.apps
1 Replies

8. Solaris

Solaris 10 Jumpstart goes to interactive mode instead of using sysidcfg

Ever since I have started using Solaris 10 images, I have had a problem I can not find a solution for. I have a Solaris 10 image that I created from a Solaris 10 DVD. The sysidcfg file has been created and set up in the bootparams file. I have no issues in Solaris 8 or 9. In Solaris 10, the... (5 Replies)
Discussion started by: rsherry
5 Replies

9. Shell Programming and Scripting

Perl Interactive mode

Hi All, Does perl has an interactive mode like other shell? If there is, can any one show me the equivalent code for the below csh script ? This csh code prompts user for their name and prints the name. #!/bin/csh echo -n "Pls enter the your name: " set name = ($<) echo "You hav... (2 Replies)
Discussion started by: Raynon
2 Replies

10. UNIX for Dummies Questions & Answers

Interactive Mode?

:confused: Can anyone please tell me how to get into Interactive Mode? (2 Replies)
Discussion started by: Nomad
2 Replies

Featured Tech Videos