Lembre-se, com umask, o valor é subtraído do 777. Então, se você quiser que um arquivo tenha 777 permissões, por exemplo:
$ umask 000
$ cp oldfile newfile
$ rm oldfile
Existe alguma maneira de alterar as permissões de um arquivo no Linux sem usar o comando chmod?
Você pode fazer isso automaticamente com o comando umask . Fora isso, não tenho certeza se entendi a pergunta. Quantas maneiras você precisa para alterar as permissões de arquivo?
Você pode escrever seu próprio programa com a mesma funcionalidade:)
A resposta óbvia para essa questão seria outra pergunta: POR QUÊ?
Mas para o que quer que seja, você pode alterar sua umask atual, fazer uma cópia do arquivo, excluir o arquivo e finalmente renomear a cópia para corresponder ao original.
ATUALIZAÇÃO:
Observe que isso só funcionará mudando as permissões atuais para outras mais restritivas. O outro jeito parece não funcionar.
Qualquer programa usará a família chmod () de chamadas do sistema (consulte man 2 chmod
, a seção dois é para chamadas do sistema) que altera as permissões de um arquivo. Então essa é a única maneira prática, você poderia, em teoria, editar a partição diretamente se você for root, mas isso é meio louco.
Quando você usa o comando cp, você está criando outro arquivo - você está copiando. Então, esses exemplos de umask não estão alterando as permissões em um arquivo.
Eu acho que você poderia usar o que o Filemanager estiver instalado com sua GUI de Desktop, se houver uma instalada.
Se você clicar com o botão direito em um arquivo ou diretório, deve haver uma entrada como "Propriedades" ou algo parecido. Isso deve produzir uma janela, onde você pode alterar os direitos e ver outras informações.
Tags linux file-permissions