LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   how to expect with sudo? (https://www.linuxquestions.org/questions/programming-9/how-to-expect-with-sudo-638079/)

rabbit2345 04-26-2008 08:17 PM

how to expect with sudo?
 
im trying to get my computer to refresh my sources on login, but i need root privedges so what i have in mind is something like this:

Code:

sudo zypper ref

expect "root's password:" {send "<password>\n"}

it doesnt work, did i do something wrong?

chadl 04-26-2008 10:08 PM

The best way to do that is to edit the sudoers file to allow that command to be run through sudo without a password (that way running "sudo command" will not prompt for a password, by-passing this issue). It is a large security hole to have your password anywhere in plain-text.

The sudoers file can be edited by running "sudo visudo", and it will check the file for errors when you try to save your changes.

Do read the man page though, as the sudoers file is not forgiving to syntax errors.

rabbit2345 04-28-2008 04:23 PM

is it possible that i can execute a certain command as sudo, like

sudo zypper ref

but that s the only command i can run without a password?


btw, i found this attached to a music file i (legally) downloaded, does it mean anything?

00002545 00000A54 0000EF32 00007DD5 0002A178 0002EC0F 00009734 000092F9 00034192 0003190F

just curious

anomie 04-28-2008 04:29 PM

Quote:

Originally Posted by rabbit2345
is it possible that i can execute a certain command as sudo, like

sudo zypper ref

but that s the only command i can run without a password?

Sure. Here's just one example from the manpages for sudoers(5):
Code:

ray    rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
(As mentioned, read and understand the manpages to make sure you set things up correctly.)

rabbit2345 04-28-2008 07:58 PM

ok, I edited my /etc/sudoers file according to the man page, but it still asks me for a root password

here is my /etc/sudoers:

Code:

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

Cmnd_Alias SHUTDOWN = /sbin/shutdown

# Defaults specification

# Prevent environment variables from influencing programs in an
# unexpected or harmful way (CVE-2005-2959, CVE-2005-4158, CVE-2006-0151)
Defaults always_set_home
Defaults env_reset

Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
# Comment out the preceding line and uncomment the following one if you need
# to use special input methods. This may allow users to compromise  the root
# account if they are allowed to run commands without authentication.
#Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"

# In the default (unconfigured) configuration, sudo asks for the root password.
# This allows use of an ordinary user account for administration of a freshly
# installed system. When configuring sudo, delete the two
# following lines:
Defaults targetpw  # ask for the password of the target user i.e. root
ALL ALL=(ALL) ALL  # WARNING! Only use this together with 'Defaults targetpw'!

# Runas alias specification


# User privilege specification
root        ALL=(ALL) SETENV: ALL
brian        ALL = NOPASSWD:/usr/bin/zypper refresh

# Uncomment to allow people in group wheel to run all commands
# and set environment variables.
%wheel        ALL=(ALL) SETENV: ALL

# Same thing without a password
%wheel        ALL=(ALL) NOPASSWD: SETENV: ALL

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now

brian is me

thanks,
rabbit2345


All times are GMT -5. The time now is 06:05 PM.