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

Leandro
piu

(usa Arch Linux)

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.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts