파일 권한 질문입니다...

elite4549의 이미지

첨부한 그림과 같이 파일 권한이 있는데요..
이 대문자 S가 의미하는 것이 무엇인지 궁금합니다...

UDP로 그림의 exer2 를 클라이언트에서 서버로 전송했더니
이렇게 색깔이 바뀌더군요..
다시 보니 권한이 다르게 설정되어서 그런것 같은데요.
파일 전송시에 권한 설정에 관한 일체를 건드리지 않았는데 이렇게 전송 후에 권한이 변할 수 있는 것인가요?
동일 파일을 가져와서(exer3)
diff exer2 exer3 로 비교했더니 다른 내용은 없었구요. 파일 사이즈도 똑같은데
왜 권한 바뀌었을까요?

File attachments: 
첨부파일 크기
Image icon zz.png1.94 KB
jachin의 이미지

대부분 execute 모드에 S 가 붙는 경우가 많습니다. /bin/passwd 명령을 확인해보십시오. ( ls -al /bin/passwd )
passwd 명령은 일반 사용자가 실행을 할 수는 있지만, /etc/passwd 파일에 접근해야 하기 때문에 실행에는 root 권한이 필요합니다.
따라서 실행할 경우에만 root 권한을 얻어서 실행할 수 있도록 권한이 설정되어 있는 것입니다.

지금같은 경우 UDP를 통한 제어를 맡은 데몬이 root 권한으로 실행되고 있으리라 생각됩니다.
파일이 생성된 디렉터리는 root 가 소유하고 있지는 않으며, 그룹에 의해 읽을 수는 있는 위치였을 겁니다.
하지만, 시스템 계정의 권한외에는 일반 프로그램이나 사용자가 읽을 수는 없었겠지요.
UDP 소켓 데몬에서 생성하는 파일의 모드를 직접 지정해주셔야 할 것 같습니다.
파일을 생성할 디렉터리 위치의 권한을 읽어와서 새로 생성하는 파일의 권한 모드로 지정해주시면 되리라 생각합니다.
====
하나는 전부, 전부는 하나

elite4549의 이미지

댓글 감사합니다.^^
그런데 제가 또 이상한 점을 발견했습니다.
위의 캡쳐화면중에서 exer1 과 exer2 모두 클라이언트로부터 udp를 사용해서 서버로 전송시킨건데
클라이언트에서의 권한은 똑같았는데 서버에 도착하고 난 파일의 권한은 차이가 있네요.
혹시 이것에 관한 정보도 얻을 수 있을까요?

jachin의 이미지

임의의 파일에 대한 소유권을 결정하는 것은
* 기존 프로그램의 권한
* 기존 프로그램을 실행한 사용자의 권한
* 프로세스에서 생성하는 파일의 디렉터리 소유자와 파일 권한
* 임시 파일에 대한 프로세스 규칙에 따른 권한
등이 연관되어 있습니다. (더 있을 수도 있습니다.)

UDP 데몬을 통한 파일 전송으로 이전 시스템의 소유권이 고스란히 전달되는 것이 아닙니다.
통신을 통해 이전 시스템에서의 파일 UID,GID,파일 모드 등의 정보가 전달되지 않는다면,
UDP 데몬에서 소유권을 임의로 지정하는 수 밖에 없는 것입니다.
이는 올바른 유닉스 시스템 프로그래밍 방법이 아니라 생각합니다.

잘못된 프로그램을 실행하여 나타난 현상의 이유를 탐구하시기 보다는,
프로그램이 어떻게 구현되어 있고, 의도한 대로 동작하는가 관찰하시는 것이 타당하다 생각합니다.
====
하나는 전부, 전부는 하나

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.