web-dev-qa-db-ja.com

drwxrwsr-x3で3はどういう意味ですか

Dovecot MDAの構成に関する指示に従っており、/ var/mailには次の権限が必要であると指示されています。

drwxrwsr-x 2 root mail

Ls -ld/var/mailを実行したとき、権限は次のとおりでした。

drwxrwsr-x 3 vmail vmail

そのため、指示に従って、chownを使用して所有権をrootとmailに変更しましたが、これでうまくいくと思います。権限は次のとおりです。

drwxrwsr-x 3 root mail

私が理解していないのは、2と3の違いは何ですか?検索して検索しましたが、答えのあるサイトはないようです。皆さんの中にはLinuxのプロがいることを知っていますが、教えていただけますか?パーミッション(2対3)に関しては違いがありますか?そして、chmodを使用して変更できますか?ありがとう。

3
Steve

この数は、ファイルを参照する場合はファイルのリンク数、ディレクトリを参照する場合は含まれるディレクトリエントリの数です(。および..エントリを含む)。 1の場合、これが唯一のインスタンスであることを意味します。 1より大きい場合は、同じファイルにリンクされている他のディレクトリエントリがあります。

-iオプションをlsコマンドに渡すことにより、iノード番号を見つけることができます。

$ ls -i mail
199053 mail

(ほんの一例です。)

この場合、メールファイルのiノード番号は199053です。iノード番号がわかったので、同じiノード番号を持つファイルを実際に検索できます。

$ Sudo find / -inum 199053

ただし、一般的には心配する必要はなく、数は無視してかまいません。

4
David

許可後の数は、そのファイルまたはディレクトリ(より正確には、そのiノード)へのハードリンクの数であり、関係ありません。権限; info lsを参照してください。また、ファイル数とは関係ありませんが、そのディレクトリ内のディレクトリが数に影響します(ポイント3を参照)。

これについて説明しますが、最初に ハードリンク の概念に慣れてください。つまり、まったく同じファイル(iノード番号で識別される)の異なる名前と考えることができます。

例での説明:

  1. 文字列「test」を含むファイルfooを作成します。 lsは、そのiノード番号へのoneハードリンクを示しています。

    $ echo test > foo
    $ ls -l foo
    -rw-r--r-- 1 user users 5  6. Aug 13:13 foo
    
  2. 次に、barと呼ばれる同じiノードへのハードリンクを作成します。

    $ ln foo bar
    $ ls -li foo bar
    10862620 -rw-r--r-- 2 user users 5  6. Aug 13:13 bar
    10862620 -rw-r--r-- 2 user users 5  6. Aug 13:13 foo
    

    lsは、両方のファイルについてハードリンクカウント2を識別し、(-iオプションを含む)、lsはそれを示しましたどちらの名前もiノード10862620を参照しています。また、両方の名前(fooとbar)がまったく同じファイルを参照していることに注意してください。

    $ cat foo
    test
    $ echo overwritten > bar
    $ cat foo
    overwritten
    
  3. ディレクトリのハードリンクの数と簡単に混同される可能性があります。すべてのディレクトリには、それ自体へのリンク.と、親ディレクトリへのリンク..が含まれているためです。したがって、たとえば次のようなディレクトリがある場合。 5つのサブディレクトリ、ハードリンクの数は7に等しい:

    $ mkdir -p foo/{1..5}
    $ ls -ld foo
    drwxr-xr-x 7 user users 4096  6. Aug 13:21 foo
    
    • fooはディレクトリにあり、そこからfooを介してアクセスできます。ナンバー1。
    • fooにはそれ自体へのリンクがあります。 2番
    • すべてのサブディレクトリには、..としてfooへのリンクがあります。 3から7まで
2
mpy

2番目のフィールドは、そのファイルのハードリンクの数を指定します。

ファイルテストがあるとしましょう

ls -l test

-rw-r----- 1 nabil nabil 0 Jun 13 15:27 test

ハードリンクを作成すると、これを取得します

ln test test_link

ls -l test

-rw-r----- 2 nabil nabil 0 Jun 13 15:27 test

https://superuser.com/a/171946/10707 を参照してください。

0
Nabil Echaouch