그럼요~~

bum8087의 이미지

shellscript로 명령을 넣었습니다. 그걸 php로 작성을 했는데요...
그걸 먼저 perl로 setuid를 써서 권한을 바꿔줘야하는데 그걸 모르겠어요..
부탁드립니다. (- -)(__)

liongo의 이미지

참고하시길 바랍니다..

검색의 생활화...

http://bbs.kldp.org/viewtopic.php?t=37670

p.s

제가 전에 검색한결과..
Perl에선 setuid를 지원하지 않는것같습니다..
스크립트파일에 +s를 주어도 먹질 않구요..

다른 의견 있으신분 리플 부탁드립니다..

' 형식이 내용을 규정한다. '

bum8087의 이미지

참고 잘봤습니다.
그럼 C로 하면 방법이 있는것인지요...

ggojang

liongo의 이미지

네..

c로 작성하실때 setuid를 포함시키시고요..

해당 명령어를 실행하는 코드를 넣으신후

컴파일후.. chmod 4755 filename을 주시면됩니다..

filename의 owner는 해당 권한으로 실행시킬 사용자를 지정하시면 됩니다.

root의 권한히 필요하시다면 chown root filename 이 되겠지요..

그럼.. 예제도 참고글에 있으니 참조하시길 바랍니다..

' 형식이 내용을 규정한다. '

bum8087의 이미지

테스트를 해보았습니다.
아이디는 ggojang이구요.
먼저 root로 컴파일을 해습니다.
파일네임은 suid.c로
#include <stdio.h>
#include <stdlib.h>

int main()
{
setuid(0);
system("/etc/rc.d/init.d/named restart");
system("/usr/local/apache/bin/apachectl restart");
system("/etc/rc.d/init.d/httpd restart");

return 0;
}
이렇게 해주구요
chown으로 컴파일된 파일을 ggojang.ggojang으로 바꾼다음에 chmod도 4755로 해주었습니다.
-rwsr-xr-x 1 ggojang ggojang 13491 5월 18 11:38 suid
[ggojang@daehanweb SetUid]$ ./suid
[ggojang@daehanweb SetUid]$ id
uid=612(ggojang) gid=612(ggojang) groups=612(ggojang)
이렇케 나오는군요...
ggojang의 setuid를 해주려면 그폴더에 컴파일될 파일이 ggojang으로 되어있어야 하나요 아니면 그 유저를 지정해주어야하나요?

ggojang

liongo의 이미지

일단 setuid는 그 process가 실행되는동안

권한이 변합니다.. setuid(0)이 콜될때 root권한의 프로세스로 변하지요

system("/etc/rc.d/init.d/named restart");
system("/usr/local/apache/bin/apachectl restart");
system("/etc/rc.d/init.d/httpd restart");

그리고 위 명령어가 root 권한으로 실행이되고..

종료후엔 ggojang 권한으로 돌아오는겁니다..

이해가 되지 않으신다면 어떤식으로 사용하시려는지 말해주시면

설명하기 쉬울듯합니다..

root의 권한으로 실행하시려면 파일의 권한이 ggojang이 아니고

root로 되어있어야합니다..

Quote:

chown root suid

' 형식이 내용을 규정한다. '

mudori의 이미지

소유권 잘못 되었네요.

mudori의 이미지

위의 소스는 그냥 크론 같은것으로 돌리는게 좋을것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.