caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Kim Nguyen <Kim.Nguyen@lri.fr>
To: Stefano Zacchiroli <zack@bononia.it>
Cc: Inria Ocaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] on ocaml and set-user-id programs
Date: Sun, 27 Mar 2005 12:31:57 +0200	[thread overview]
Message-ID: <1111919517.14376.7.camel@localhost.localdomain> (raw)
In-Reply-To: <20050327100145.GA9332@fistandantilus.takhisis.org>

Le dimanche 27 mars 2005 à 12:01 +0200, Stefano Zacchiroli a écrit :
> I've wrote an ocaml program that needs to be executed set-user-id root.
> 
> I managed to have it being executed with effective user id 0 only
> compiling in native code or in custom bytecode. Both executing it as a
> script using "ocamlrun ocaml" and compiling it to non-custom bytecode
> make the program having effective user id of the user executing it.

Yes. The linux kernel (and maybe other unices but i'm not sure) disable
the setuid bit for shell scripts since it's really unsecure. Perl
circumvents this by having a setuid binary wrapper that does some extra
security check and launch the scripts (which inherits the privileges of
the setuid wrapper). See perlsec documentation for more details.
(This explain why the custom byte code works, since it's a binary that
embeds both the script and the interpreter).

> This behaviour is annoying and makes impossible to run ocaml set-user-id
> programs where the native code compiler isn't available. 

Indeed. Maybe the ocaml distribution could provide such a wrapper.

Hope this helps,
-- 
Kim


  parent reply	other threads:[~2005-03-27 10:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-27 10:01 Stefano Zacchiroli
2005-03-27 10:31 ` [Caml-list] " Richard Jones
2005-03-27 10:31 ` Kim Nguyen [this message]
2005-03-27 13:34   ` Stefano Zacchiroli
2005-03-27 15:33     ` Richard Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1111919517.14376.7.camel@localhost.localdomain \
    --to=kim.nguyen@lri.fr \
    --cc=caml-list@inria.fr \
    --cc=zack@bononia.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).