Como configurar permissões padrão para arquivos

2

Alguém sabe como definir as permissões padrão se um usuário criar um novo arquivo, o arquivo terá a permissão -rwxrw-r?

    
por ForestAmp 25.08.2016 / 10:33

1 resposta

2

Aviso: Como alguns usuários comentaram, a criação automática de arquivos com permissões executáveis interrompe uma parte significativa do modelo de segurança do Linux.

Dito isso, há uma maneira de conseguir o que você quer, na linha de comando, e limitar quais usuários podem fazer isso.

Você pode escrever uma função para criar o arquivo e modificar as permissões ao mesmo tempo. Esta função deve ser adicionada ao arquivo .bashrc de cada usuário. Este arquivo pode ser encontrado em /home/username/.bashrc .

Aqui está um exemplo para fazer uma função chamada createafile, As linhas a adicionar seriam:

createafile() {
if [[ -z  ]]; then
  echo "Cannot create a file with no name!"
  return 1
elif [[ -e  ]]
  echo "That file already exists!"
  return 1
elif [[  = -* ]]; then
  echo "Permissions must not start with a '-'!"
  return 1
fi
touch 
if [[ -z  ]]; then
  perms=764
else
  perms=
fi
chmod $perms 
}

Depois que isso for gravado no arquivo .bashrc de um usuário, ele deverá efetuar logout e devolução antes de poder ser usado. A função pode ser chamada na linha de comando assim.

createafile newfile.txt

O que criará o arquivo com suas permissões octal padrão de 764 ou -rwxrw-r-- . Como alternativa, se você quiser especificar um modo de permissão diferente, poderá inserir isso em qualquer formato reconhecido para o comando chmod . Então, para fazer um arquivo com permissão de leitura / gravação para todos

createafile anotherfile.txt 555

ou

createafile anotherfile.txt a+rw

Esta função irá reclamar e sair se o arquivo já existir ou se você não inserir um nome de arquivo. A função não funcionará se o usuário não tiver as permissões de diretório apropriadas para gravar o arquivo ou alterar permissões.

Há uma linha na função que impede os usuários de inserir uma opção chmod acidentalmente. Isso significa que você não pode usar a funcionalidade de remoção de permissão de chmod , em que as permissões começam com um caractere - .

    
por Arronical 25.08.2016 / 13:36