alguem pode me ajudar. estou inciando shell script

1. alguem pode me ajudar. estou inciando shell script

Vanesa Fernandes Osto
VanesaOsto

(usa Lubuntu)

Enviado em 29/09/2020 - 18:05h

Implemente usando o "Dialog" um script chamado gerenciador de permissões, seu script deve permitir o usuário informar um arquivo e informar se deseja alterar, adicionar,remover as permissões e ainda exibir as permissões de um arquivo ou pasta.


  


2. Re: alguem pode me ajudar. estou inciando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/09/2020 - 18:10h


VanesaOsto escreveu:

Implemente usando o "Dialog" um script chamado gerenciador de permissões, seu script deve permitir o usuário informar um arquivo e informar se deseja alterar, adicionar,remover as permissões e ainda exibir as permissões de um arquivo ou pasta.

Boa noite VanesaOsto,
quais as duvidas????


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: alguem pode me ajudar. estou inciando shell script

Vanesa Fernandes Osto
VanesaOsto

(usa Lubuntu)

Enviado em 29/09/2020 - 18:16h

na verdade todas as possíveis, estou perdida por conta do EAD não estou conseguindo fazer os exercícios :(


4. Re: alguem pode me ajudar. estou inciando shell script

Vanesa Fernandes Osto
VanesaOsto

(usa Lubuntu)

Enviado em 29/09/2020 - 18:17h

Não sei nem por onde começar


5. Re: alguem pode me ajudar. estou inciando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/09/2020 - 18:59h

VanesaOsto escreveu:

Não sei nem por onde começar

Rsrsrsrsrsr....
Então faremos o seguinte, primeiro a lógica, sem o "dialog", posteriormente as telas serão implementadas....
1º Passo:
#!/bin/bash
#Solicita que o usuário informe um Arquivo ou Diretório,
#e atribui o "valor informado" a 'variável alvo'
read -p "Informe um Arquivo ou Diretório: " alvo
#Checa se o que o usuário informou existe...
#Caso positivo, Mostra: Permissões, Tipo e Tamanho...
[ -e ${alvo} ] && stat --printf="Perm: %A\nTipo: \"%F\"\nSize: %s bytes\n" $alvo || echo "$alvo não existe"

Teste e entenda o que foi feito, está comentado e é bem simples...

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


6. Re: alguem pode me ajudar. estou inciando shell script

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 29/09/2020 - 19:56h


de uma lida https://aurelio.net/shell/dialog/


7. Re: alguem pode me ajudar. estou inciando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/09/2020 - 21:24h


VanesaOsto escreveu:

na verdade todas as possíveis, estou perdida por conta do EAD não estou conseguindo fazer os exercícios :(

As duvidas são relativas ao 'dialog', ou é geral?
Tipo, não sabe nada, nenhum comando.....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


8. Re: alguem pode me ajudar. estou inciando shell script

Vanesa Fernandes Osto
VanesaOsto

(usa Lubuntu)

Enviado em 30/09/2020 - 17:17h

Geral, eu não sei nada


9. Re: alguem pode me ajudar. estou inciando shell script

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2020 - 19:33h

tu quer explicação ou quer que façam exercicio pra ti?
pelo primeiro tópico, deve ser a segunda opção...


10. Re: alguem pode me ajudar. estou inciando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 30/09/2020 - 19:37h


VanesaOsto escreveu:

Geral, eu não sei nada

Boa noite VanesaOsto.
Essa situação é bastante triste.....

Segue sugestão...

#!/bin/bash

#Escolha o arquivo ou diretório
file=$(dialog --stdout --title "Escolha:\nfile ou dir." --fselect $HOME 24 48);
#Checa se existe, caso positivo solicita que escolha a opção.
if [ -e ${file} ];then
opcao=$( dialog --stdout --menu 'O que fazer com a Permissão.' 0 0 0 1 Alterar 2 Adicionar 3 Remover 4 Exibir );
case $opcao in
1) echo -e "Alterar Permissões\n";chmod a=rwx ;;
2) echo -e "Adicionar Permissões\n";chmod a+rwx $file ;;
3) echo -e "Remover Permissões";chmod a-rwx $file ;;
4) echo -e "Exibe Permissões e outros\n";stat --printf="Perm: %A\nTipo: \"%F\"\nSize: %s bytes\n\n" ${file} ;;
*) echo -e "Nada a fazer\n" ;;
esac
else
#Mensagem, caso não exista
echo "${file} não existe";
fi

Veja bem,
Para Alterar, Adicionar ou Remover,
Pela lógica, deve-se saber qual a permissão atual/original, e também, se é arquivo ou diretório
e assim, dar continuidade....
Não sei se fui objetivo...
Tipo, como vou "remover", se não sei o que tem.....
Se o arquivo está com a permissão "777" (sem considerar permissões especiais),
Não há nada a Adicionar.....

#Pega a permissão:
perm=$(stat --printf "%a\n" ${file}) 


#Pega se é arquivo ou dir
stat --printf "%F\n" ${file}) 


#Permissões:
echo -e "
Letra Binário Decimal Significado
— 000 0 Sem_Permissão
–x 001 1 Execução
-w- 010 2 Escrita
-wx 011 3 Escrita/Execução
r– 100 4 Leitura
r-x 101 5 Leitura/Execução
rw- 110 6 Leitura/Escrita
rwx 111 7 Total\n"|column -t

PERMISSOES ESPECIAIS
Octal Binário Significado
0 000 nenhuma permissão especial
1 001 sticky bit
2 010 SGID
3 011 SGID e sticky bit
4 100 SUID
5 101 SUID e sticky bit
6 110 SUID e SGID
7 111 SUID, SGID e sticky bit


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


11. Re: alguem pode me ajudar. estou inciando shell script

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 30/09/2020 - 20:06h

VanesaOsto escreveu: .... estou perdida por conta do EAD não estou conseguindo fazer os exercícios ...... Geral, eu não sei nada

Desculpe o pragmatismo, mas está na hora de rever a viabilidade desse EAD, ainda mais se está pagando por ele.