c함수중에 디렉토리의 퍼미션을 변경하는 게 있나요.......

익명 사용자의 이미지

system(.......)이렇게 하는 방법밖에 없나요???

아니면 chmod() 함수처럼 특정한 함수가 있나요???

익명 사용자의 이미지

man 페이지에 의하면...

CHOWN(2) Linux Programmer's Manual CHOWN(2)

NAME
chown, fchown, lchown - change ownership of a file

SYNOPSIS
#include
#include

int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);

DESCRIPTION
The owner of the file specified by path or by fd is changed. Only the super-user may change the
owner of a file. The owner of a file may change the group of the file to any group of which that
owner is a member. The super-user may change the group arbitrarily.

If the owner or group is specified as -1, then that ID is not changed.

When the owner or group of an executable file are changed by a non-super-user, the S_ISUID and
S_ISGID mode bits are cleared. POSIX does not specify whether this also should happen when root does
the chown; the Linux behaviour depends on the kernel version. In case of a non-group-executable file
(with clear S_IXGRP bit) the S_ISGID bit indicates mandatory locking, and is not cleared by a chown.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

CHMOD(2) Linux Programmer's Manual CHMOD(2)

NAME
chmod, fchmod - change permissions of a file

SYNOPSIS
#include
#include

int chmod(const char *path, mode_t mode);
int fchmod(int fildes, mode_t mode);

DESCRIPTION
The mode of the file given by path or referenced by fildes is changed.

Modes are specified by or'ing the following

S_ISUID 04000 set user ID on execution

S_ISGID 02000 set group ID on execution

S_ISVTX 01000 sticky bit

S_IRUSR (S_IREAD)
00400 read by owner

S_IWUSR (S_IWRITE)
00200 write by owner

S_IXUSR (S_IEXEC)
00100 execute/search by owner

S_IRGRP 00040 read by group

S_IWGRP 00020 write by group

S_IXGRP 00010 execute/search by group

S_IROTH 00004 read by others

S_IWOTH 00002 write by others

S_IXOTH 00001 execute/search by others

The effective UID of the process must be zero or must match the owner of the file.

If the effective UID of the process is not zero and the group of the file does not match the effec?
tive group ID of the process or one of its supplementary group IDs, the S_ISGID bit will be turned
off, but this will not cause an error to be returned.

Depending on the file system, set user ID and set group ID execution bits may be turned off if a file
is written. On some file systems, only the super-user can set the sticky bit, which may have a spe?
cial meaning (e.g., for directories, a file can only be deleted by the owner or the super-user).

On NFS file systems, restricting the permissions will immediately influence already open files,
because the access control is done on the server, but open files are maintained by the client.
Widening the permissions may be delayed for other clients if attribute caching is enabled on them.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

파일 핸들링에 전반에 관한 glibc 레퍼런스
http//database.sarang.net/study/glibc/9.htm

댓글 달기

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