chmod
: alterar bits do modo de arquivo
Uso (modo octal):
chmod <octal-mode> files...
Uso (modo simbólico):
chmod <references><operator><modes> files..
references
é uma combinação das letras ugoa
, que especificam qual acesso do usuário files
será modificado:
u
o usuário que o possui
g
outros usuários no file
grupo de
o
outros usuários que não estão no grupo do arquivo
a
todos os usuários
Se omitido, o padrão é todos os usuários, mas apenas as permissões permitidas pelo umask
são modificadas.
operator
é um dos caracteres +-=
:
+
adicione os bits de modo de arquivo especificados aos bits de modo de arquivo existentes de cada file
-
remove os bits de modo de arquivo especificados nos bits de modo de arquivo existentes de cada file
=
adiciona os bits especificados e remove os bits não especificados, exceto os bits setuid
e setgid
definidos para os diretórios, a menos que especificado explicitamente.
mode
consiste em uma combinação das letras rwxXst
, que especificam qual bit de permissão deve ser modificado:
r
ler
w
escrever
x
executar (ou procurar diretórios)
X
execute / pesquise apenas se o arquivo for um diretório ou se já tiver definido o bit definido para algum usuário
s
setuid ou setgid (dependendo do especificado references
)
t
sinalizador de exclusão restrita ou bit adesivo
Como alternativa, mode
pode consistir em uma das letras ugo
; nesse caso, o modo corresponde às permissões atualmente concedidas ao proprietário ( u
), membro do file
grupo do grupo ( g
) ou permissões de usuários em nenhuma das categorias anteriores ( o
).
Os vários bits de chmod
explicado:
- Controle de acesso (ver também
setfacl
)
rwx
- leia (r), escreva (w) e execute / cruze (x) permissões.
- A leitura (r) afeta se um arquivo pode ser lido ou se um diretório pode ser listado.
- A gravação (w) afeta se um arquivo pode ser gravado ou se um diretório pode ser editado (arquivos adicionados, excluídos, renomeados).
- A execução (x) afeta se um arquivo pode ser executado, usado para scripts (consulte a
#!
) e outros arquivos executáveis.
- Cruz (x) afeta se um diretório pode ser percorrido.
s
e t
- bit pegajoso (t) e setgid (s) em diretórios
- O bit adesivo afeta apenas diretórios. Impedirá que qualquer pessoa, exceto o proprietário do arquivo e o root, exclua os arquivos no diretório.
- o bit setgid nos diretórios fará com que novos arquivos e diretórios tenham o grupo definido no mesmo grupo e novos diretórios tenham o bit setgid definido (consulte também os padrões em setfacl).
s
- setuid, setgid, em arquivos executáveis.
- Isso pode afetar a segurança de uma maneira ruim, se você não souber o que está fazendo.
- Quando um executável é executado, se um desses bits estiver definido, o usuário / grupo efetivo do executável se tornará o do arquivo. Assim, o programa é executado como esse usuário. veja
setcap
uma maneira mais moderna de fazer isso.
chattr
: alterar atributos do arquivo
Uso:
chattr <operator><attribute> files...
operator
é um dos personagens +-=
: * +
adiciona os atributos selecionados para ser ao existente attributes
do files
* -
remove o selecionado attributes
* =
substitui o actual conjunto de atributos que os arquivos com o especificado attributes
.
attribute
é uma combinação das letras acdeijstuADST
, que correspondem aos atributos:
a
acrescentar apenas
c
comprimido
d
sem lixeira
e
formato da extensão
i
imutável
j
diário de dados
s
exclusão segura
t
sem fusão de cauda
u
undeletable
A
sem atime
atualizações
D
atualizações de diretório síncronas
S
atualizações síncronas
T
topo da hierarquia de diretórios
Uso (atributo definido):
setfattr -n <name> -v <value> files...
Uso (remover):
setfattr -x <name> files...
name
é o nome do atributo estendido para definir ou remover
value
é o novo valor do atributo estendido
setfacl
: alterar listas de controle de acesso a arquivos
Uso:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option
deve incluir um dos seguintes:
--set
defina a ACL de um arquivo ou diretório, substituindo a ACL anterior
-m
| --modify
modificar a ACL de um arquivo ou diretório
-x
| --remove
remover entradas da ACL de um arquivo ou diretório
target
é uma das letras ugmo
(ou o formato mais longo mostrado abaixo):
u
, users
permissão de um usuário nomeado identificado por param
, padroniza o proprietário do arquivo uid
se omitido
g
, group
permissão de um grupo nomeado identificado por param
, padrão para o grupo proprietário, uid
se omitido
m
, mask
Direitos efetivos mascarar
o
, other
permissões de outros
perms
é uma combinação das letras rwxX
, que correspondem às permissões:
r
ler
w
escrever
x
executar
X
executar apenas se o arquivo for um diretório ou já tiver permissão de execução para algum usuário
Como alternativa, perms
pode ser um dígito octal ( 0
- 7
) indicando o conjunto de permissões.
Uso:
setcap <capability-clause> file
A capability-clause
consiste em uma lista separada por vírgula de nomes de recursos, seguida por uma lista de pares operador-sinalizador.
Os operadores disponíveis são =
, +
e -
. As bandeiras disponíveis são e
, i
e p
que correspondem às eficaz , Inheritable e permitidas conjuntos de recursos.
O =
operador aumentará os conjuntos de recursos especificados e redefinirá os outros. Se nenhum sinalizador for fornecido em conjunto com o =
operador, todos os conjuntos de recursos serão redefinidos. Os operadores +
e -
aumentarão ou diminuirão um ou mais conjuntos de recursos especificados, respectivamente.
Uso:
chcon [-u <user>] [-r <role>] [-t <type>] files...
user é o usuário do SELinux, como user_u
, system_u
ou root
.
role é o papel do SELinux (sempre object_r
para arquivos)
type é o tipo de assunto do SELinux
chsmack
: alterar atributos estendidos do SMACK
Uso:
chsmack -a <value> file
value
é o rótulo SMACK a ser definido para o SMACK64
atributo de arquivo estendido
setrichacl : altera a lista de controle de acesso avançado .
richacl s são um recurso que adicionará ACLs mais avançadas.
Atualmente um trabalho em andamento, por isso não posso falar muito sobre eles. Eu não os usei.
Consulte também esta pergunta Existem ACLs do sistema de arquivos mais avançadas além das tradicionais 'rwx' e POSIX ACL?
e página de manual
chmod