tail head cat sleep
QR code linking to this page

Man page  — CHFLAGS

명칭

chflags, fchflags – 파일 플래그를 설정한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <sys/stat.h>
#include <unistd.h>

int
chflags(const char *path, u_long flags);

int
fchflags(int fd, u_long flags);

해설

이름이 path 에 의해 지정되는 파일, 또는 기술자 fd 에 의해 참조되는 파일의 플래그가 flags (으)로 변경됩니다.

지정된 플래그는 다음의 값의 논리합 (or)을 취하는 것으로 작성됩니다.

UF_NODUMP 그 파일을 dump 의 대상외로 합니다.
UF_IMMUTABLE
  그 파일은 변경 금지입니다.
UF_APPEND 그 파일은 말미에의 추가만이 가능합니다.
UF_NOUNLINK 그 파일은 이름을 변경하거나 삭제할 수 없습니다.
UF_OPAQUE 유니온 파일 시스템의 스택을 통해서 볼 때, 이 디렉토리는 불투명합니다.
SF_ARCHIVED 그 파일은 아카이브(archive) 가능합니다.
SF_IMMUTABLE
  그 파일은 변경 금지입니다.
SF_APPEND 그 파일은 말미에의 추가만이 가능합니다.
SF_NOUNLINK 그 파일은 이름을 변경하거나 삭제할 수 없습니다.

"UF_IMMUTABLE", "UF_APPEND", "UF_NOUNLINK", "UF_NODUMP", "UF_OPAQUE" 플래그는, 파일의 소유자 또는 슈퍼 유저의 어딘가에 따라 설정 또는 설정 해제할 수 있습니다. "SF_IMMUTABLE", "SF_APPEND", "SF_NOUNLINK", "SF_ARCHIVED" 플래그는, 슈퍼 유저만이 설정 또는 설정 해제할 수 있습니다. 슈퍼 유저만을 설정할 수 있는 플래그를 슈퍼 유저가 아닌 것이 설정하려고 해도 경고없이 무시됩니다. 이러한 플래그는 언제라도 설정할 수 있습니다만, 통상은, 시스템이 싱글 유저 모드에 있을 때 만 설정 해제하는 것이 보통입니다 (상세한 것에 대하여는 init(8) (을)를 참조해 주세요).

반환값

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

에러

chflags() 의 처리는 이하의 경우에 실패합니다.
[ENOTDIR]
  패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.
[ENAMETOOLONG]
  패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1023 캐릭터를 넘고 있습니다.
[ENOENT]
  지정된 파일이 존재하지 않습니다.
[EACCES]
  지정된 패스에는, 검색이 허가되어 있지 않은 디렉토리가 포함되어 있습니다.
[ELOOP]
  패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.
[EPERM]
  실효 유저 ID 가 파일의 소유자와 일치하지 않고, 한편, 실효 유저 ID 가 슈퍼 유저이지 않습니다.
[EROFS]
  지정된 파일은 읽기 전용 파일 시스템상에 있습니다.
[EFAULT]
  path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.
[EIO] 파일 시스템에 읽고 쓰기하고 있는 동안에 입출력 에러가 발생했습니다.
[EOPNOTSUPP]
  파일 시스템이 파일 플래그를 서포트하지 않습니다.

fchflags() 의 처리는 이하의 경우에 실패합니다.
[EBADF]
  기술자가 유효하지는 않습니다.

[EINVAL]
  fd 하지만 파일은 아니고 소켓을 참조하고 있습니다.
[EPERM]
  실효 유저 ID 가 파일의 소유자와 일치하지 않고, 실효 유저 ID 가 슈퍼 유저가 아닙니다.
[EROFS]
  파일이 읽어내 전용 시스템상에 존재하고 있습니다.
[EIO] 파일 시스템에 읽고 쓰기하고 있는 동안에 입출력 에러가 발생했습니다.
[EOPNOTSUPP]
  파일 시스템이 파일 플래그를 서포트하지 않습니다.

관련 항목

chflags(1), fflagstostr(3) [영어], strtofflags(3) [영어], init(8), mount_union(8)

역사

chflags 함수와 fchflags 함수는 BSD 4.4 그리고 처음 등장했습니다.

CHFLAGS (2) May 2, 1995

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

To err is human...to really foul up requires the root password.