English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Atributos Básicos de Arquivos do Linux

O sistema Linux é um sistema multiusuário típico, onde diferentes usuários estão em diferentes posições e possuem diferentes direitos.

Para proteger a segurança do sistema, o sistema Linux especifica diferentes direitos de acesso de diferentes usuários para o mesmo arquivo (inclusive arquivos de diretório).

No Linux, geralmente usamos os seguintes dois comandos para modificar o usuário e os direitos de um arquivo ou diretório:

  • chown (mudar proprietário): modificar o usuário e o grupo proprietários.

  • chmod (mudar modo): modificar os direitos do usuário.

Na figura a seguir, o usuário é autorizado usando chown e os direitos de acesso podem ser configurados para abrir a porta usando chmod.

No Linux, podemos usar os comandos ll ou ls –l para exibir as propriedades de um arquivo e o usuário e o grupo ao qual ele pertence, por exemplo:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dez 14  2012 bin
dr-xr-xr-x   4 root root 4096 Abr 19  2012 boot
……

No exemplo,bin A primeira propriedade do arquivo é representada por d. d no Linux representa que o arquivo é um arquivo de diretório.

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录

  • 当为 - 则是文件;

  • 若是 l 则表示为链接文档(link file);

  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号  - 而已。

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

从左至右用 0-9 这些数字来表示。

0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

Linux文件属主和属组

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Fev 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Abr 21  2014 mysql
……

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来指定了不同的文件访问权限。

在以上示例中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。

对于 root 用户来说,一般情况下,文件的权限对其不起作用。

更改文件属性

1、chgrp:更改文件属组

Sintaxe:

chgrp [-R] 属组名 文件名

opções de parâmetro

  • -R: Alteração recursiva do grupo de arquivo, ao alterar o grupo de arquivo de um diretório, se adicionar-O parâmetro R, então o grupo de todos os arquivos no diretório será alterado.

2、chown: alterar proprietário do arquivo, também pode alterar o grupo do arquivo

Sintaxe:

chown [–R] nome do proprietário nome do arquivo
chown [-R] nome do proprietário:nome do grupo nome do arquivo

Entrar /O diretório root (~) mudar o proprietário do install.log para a conta bin:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

Voltar o proprietário e o grupo do install.log para root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、chmod: alterar arquivo9de permissão

O arquivo Linux pode ser configurado de duas maneiras, uma é numérica e a outra é símbolo.

O arquivo Linux básico tem nove permissões, respectivamente owner/group/others (proprietário/group/other) Cada uma das três identidades tem read/write/execute Permissões.

Vamos revisar os dados mencionados acima: os caracteres de permissão do arquivo são: -rwxrwxrwx, esses nove permissoões são agrupados em três grupos! Podemos usar números para representar cada permissão, e a tabela de correspondência de pontos de cada permissão é a seguinte:

  • r:4

  • w:2

  • x:1

Cada identidade (owner/group/others) Cada um dos três permissoões (r/w/x) A fração deve ser somada, por exemplo, quando as permissões são: -rwxrwx--- A fração é:

  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= --- = 0+0+0 = 0

Portanto, quando definirmos a alteração de permissões, o número de permissões do arquivo será 770A sintaxe do comando chmod para alterar as permissões é a seguinte:

 chmod [-R] xyz arquivo ou diretório

Opções e parâmetros:

  • xyz : É a propriedade de atributo de número mencionada anteriormente, que é a soma do valor do atributo rwx.

  • -R : Realiza alterações recursivas (recursivo) contínuas, ou seja, alterará todos os arquivos no subdiretório

Por exemplo, se você quiser definir todos os permissoões do arquivo .bashrc como habilitados, o comando será o seguinte:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

Se quiser mudar as permissões para -rwxr-xr-- então a pontuação de permissão se torna [4+2+1][4+0+1][4+0+0]=754。

Mudança de tipo de permissão de arquivo por símbolo

Há também outra maneira de alterar permissões, como descrito anteriormente, basicamente existem nove permissões, respectivamente:

  • user: usuário

  • group: grupo

  • others: outros

Então podemos usar u, g, o representa as permissões de três perfis.

Além disso, a então representa allIsso significa que todos os perfis podem ser escritos como r, w, x, ou pode ser visto da seguinte forma na tabela:

chmodu
g
o
a
+(adicionar)
-(remover)
=(definir)
r
w
x
Arquivo ou Diretório

Se precisarmos definir permissões de arquivo: -rwxr-xr-- Pode usar chmod u=rwx,g=rx,o=r nome_do_arquivo para definir:

# touch test1    // Criar test1 Arquivo
# ls -al test1    // Ver test1 Permissões Padrão
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1    // Modificar test1 Permissões
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

E se quiser remover permissões sem alterar outras permissões existentes? Por exemplo, para remover todas as permissões de execução para todos os usuários, então:

# chmod chmod a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

Mais Conteúdo de Referência