O que significa o 3 em drwxrwsr-x 3

3

Estou seguindo instruções sobre como configurar o Dovecot MDA e as instruções estão me dizendo que o / var / mail deve ter as seguintes permissões:

drwxrwsr-x 2 root mail

Quando eu executei ls -ld / var / mail, as permissões eram:

drwxrwsr-x 3 vmail vmail

Então usei o chown para alterar a propriedade para root e mail, conforme as instruções e acho que isso funcionará. As permissões são agora:

drwxrwsr-x 3 root mail

O que eu não entendo é qual é a diferença entre o 2 e o 3? Eu pesquisei e pesquisei e nenhum site parece ter uma resposta. Eu sei que alguns de vocês são profissionais do linux, você poderia me dizer? Isso faria diferença no que diz respeito às permissões (2 vs 3)? E eu poderia usar chmod para mudar isso? Obrigado.

    
por Steve 06.08.2013 / 12:39

3 respostas

4

Esse número é a contagem de links do arquivo, quando se refere a um arquivo ou ao número de entradas de diretório contidas, quando se refere a um diretório (incluindo as entradas .e ..). Se for apenas 1, isso significa que essa é a única instância. Se for maior que 1, existem outras entradas de diretório vinculadas ao mesmo arquivo.

Ao passar a opção -i para o comando ls, você pode descobrir o número do inode:

$ ls -i mail
199053 mail

(apenas um exemplo)

Neste caso, o número de inode para o arquivo de mensagens é 199053. Agora que você tem o número de inode, você pode fazer a pesquisa real por arquivos que possuem o mesmo número de inode.

$ sudo find / -inum 199053

No entanto, em geral, você não deve se preocupar com isso e pode ignorar o número.

    
por 06.08.2013 / 13:15
2

O número após a permissão é o número de hard links para esse arquivo ou diretório (para ser mais preciso: para esse inode) e não tem nada a ver com permissões; veja info ls . E, não tem nada a ver com a contagem de arquivos, mas os diretórios dentro desse diretório afetam o número (veja o ponto 3).

Deixe-me explicar isso, mas, por favor, fique à vontade com o conceito de hard links primeiro. Resumindo: Você pode pensar nisso como nomes diferentes para o arquivo muito mesmo (que é identificado pelo seu número de inode).

Explicação nos exemplos:

  1. Crie um arquivo foo com uma string "test" nele; ls mostra um link físico para esse número de inode:

    $ echo test > foo
    $ ls -l foo
    -rw-r--r-- 1 user users 5  6. Aug 13:13 foo
    
  2. Agora crie um link físico para o mesmo inode, chamado bar

    $ 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 identifica para ambos os arquivos uma contagem hard link de dois, e (incluindo a opção -i ), ls mostra que ambos os nomes se referem ao inode 10862620 . E note que ambos os nomes (foo e bar) se referem ao mesmo arquivo:

    $ cat foo
    test
    $ echo overwritten > bar
    $ cat foo
    overwritten
    
  3. Você pode facilmente ser confundido com o número de links para diretórios. Porque cada diretório tem um link para si mesmo . e um link para o diretório pai .. . Então, se você tem um diretório com, por exemplo 5 sub-dirs, o número de hard links é igual a 7:

    $ mkdir -p foo/{1..5}
    $ ls -ld foo
    drwxr-xr-x 7 user users 4096  6. Aug 13:21 foo
    
    • foo reside em um diretório, de onde você pode acessá-lo via foo . Número 1.
    • foo tem um link para si mesmo. Número 2
    • cada subdiretório tem um link para foo as .. . Número 3 a 7
por 06.08.2013 / 13:26
0

O segundo campo especifica o número de links para esse arquivo.

Digamos que você tenha um teste de arquivo

ls -l test

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

Depois de criar um link físico, você verá isso

ln test test_link

ls -l test

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

Veja o link .

    
por 06.08.2013 / 13:19