1

rwx 権限のない test というファイルがあります (chmod を使用してすべての権限を削除しました)。

[root@dev]# ls -l テスト ----------. 1 root root 21 Sep 7 22:22 テスト

Q1) 以下のコードを実行して、ファイルを開くことができるかどうかを確認しようとしています。fd に返される値は正です。fd は -1 であってはなりません。?

    fd = open(fname, O_RDONLY);
    if (fd == -1) {
        /* Print error message */
        return (-1);
    }
    close(fd);

Q2) ファイルを cat することさえできます。ファイルを cat したときにエラーが発生しないはずです。[root@dev]# cat test テストファイルです。[root@dev]#

注: root アカウントを使用しています。

4

1 に答える 1

4

簡単な答え: root は何でもできます。

より長い答え: 一般に、特定のモードでファイルを開くには、POSIX では、uid と gid に基づくアクセス許可で、要求されたタイプのアクセスを許可するか、実装定義のフレーズである「適切な権限」を持っている必要があります。 . ほとんどの実際の実装では、「適切な特権」を満たす条件の 1 つは root ユーザー (uid 0) であることです。

于 2012-09-07T04:58:08.087 に答える