On 3/23/06, Holly Bostick <[EMAIL PROTECTED]> wrote:
> JimD schreef:
> > I have been using Linux for a number of years and the one "trick" I
> > have never read how to do is something like:
> >
> > sudo echo "app-portage/porthole ~*" >> /etc/portage/package.keywords
>
> Well this one I do with a set of revised command nicked from the list,
> entered into ~/.bashrc, and requiring that
>
> 1) "su" is one of the commands that you are allowed to execute via sudo
>
> 2) you are exempted from needing to enter a password for 'sudo su':
>
> addkey(){
>    sudo su -c "echo $* >> /etc/portage/package.keywords"
>  }
>
> adduse(){
>    sudo su -c "echo $* >> /etc/portage/package.use"
>  }
>
> addmask(){
>    sudo su -c "echo $* >> /etc/portage/package.mask"
>  }
>
> addunmask(){
>    sudo su -c "echo $* >> /etc/portage/package.unmask"
>  }
>
> The general idea being that a) sudo seems to be a bit weird; even though
> it allows you to perform operations as if you are root, it doesn't do so
> by pretending that you _are_ root, so you still couldn't write to the
> /etc/portage/package.* files; b) su does pretend you are root, but "su"
> alone only just re-logs you in, rather than actually allowing you to
> execute a command-- unless you use the "-c" switch. su -c then says,
> "whatever follows this switch is a command that you should execute as
> root". But of course, since "echo $* (where $* stands for "what I typed
> after addkey") >> /etc/portage/package.* is a complex command,
> containing spaces, the syntax of the command following sudo su -c needs
> to be quoted.
>
>
> >
> > Another one I always wanted to know if it is possible is:
> >
> > sudo > /var/log/foo.log
>
> I'm sure it is, with a bit of creativity, though I honestly don't know
> what your intention is in any case, since this looks to me like you're
> logging the output of the sudo command to foo.log (but since there is no
> output really to typing 'sudo', I have no idea what result you might
> expect).
>
> Anyway, hope this is to some degree helpful; what you most likely want
> to do is read up on bash scripting to understand how to chain the
> commands that do what you want to get done with sudo. Depending on your
> goals, you might also consider aliasing (alias etc-update="sudo
> etc-update"), and fine-tuning your visudo to allow you to run specific
> apps with sudo, preferably without a password, since if you have to type
> the password everytime you want to do sudo emerge, you might as well
> just su, imo.
>
> Good luck,
> Holly
> --
> gentoo-user@gentoo.org mailing list
>
>

Holly is right, I had some scripts running the commands I said, heh,
what I didn't notice was an alias for sudo as sudo su -c... Sorry for
my fast and wrong response... :)

--
Daniel da Veiga
Computer Operator - RS - Brazil
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V-
PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++
------END GEEK CODE BLOCK------

-- 
gentoo-user@gentoo.org mailing list

Reply via email to