.\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)revoke.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/revoke.2,v 1.12 2002/12/19 09:40:25 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt REVOKE 2 .Os .Sh 名称 .Nm revoke .Nd ファイルアクセスを無効にする .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn revoke "const char *path" .Sh 解説 .Fn revoke システムコールは、 .Fa path によって指定されたファイルの、システム内に現在ある すべてのオープンファイル記述子を無効にします。 そのような記述子についての後続の操作は全て失敗します。 ただし、キャラクタ型デバイスファイルへの .Fn read がカウント 0 (ファイルの終了) を返すのと、 .Fn close システムコールが成功するのは例外です。 指定されたファイルが あるデバイスについてのオープンされた特殊ファイルであった場合、 そのファイルへのすべての参照がクローズされたかのように、 デバイスをクローズする関数が呼び出されます。 .Pp ファイルへのアクセスはその所有者または スーパユーザによってだけ無効にされます。 .Fn revoke システムコールは、現時点ではブロック型およびキャラクタ型特殊ファイルに ついてのみサポートされています。 これは通常、新しいログインセッション用に端末デバイスを準備するとき、 以前の端末使用者によるアクセスを防止するために使用されます。 .Sh 戻り値 .Rv -std revoke .Sh エラー 次の場合を除いて、指定ファイルへのアクセスは無効にされます: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1024 文字を越えています。 .It Bq Er ENOENT 指定されたファイルまたはパス名が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EFAULT .Fa path 引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL システムは、指定されたファイルについて .Fn revoke 操作をサポートしません。 .It Bq Er EPERM 呼び出し側がファイルの所有者でもスーパユーザでもありません。 .El .Sh 関連項目 .Xr close 2 .Sh 歴史 .Fn revoke システムコールは .Bx 4.3 Reno で登場しました。