Zmiana uprawnień Linux

Odpowiedz Nowy wątek
2016-10-02 19:55
0

Witajcie, szalejąc z chmod sprawiłem że wszystkie moje pliki tekstowe,html mają zezwolenie na wykonywanie jako aplikacja, za każdym razem gdy chce wyświetlić plik pojawia się okno typ co chcesz zrobić - uruchomić,wyświetlić itp.
Dosyć to denerwujące, mam dużo pików tekstowych i dużo folderów.
Czy ktoś zna sposób żeby odnaleźć rekurencyjnie każdy plik tekstowy i/lub html i zmienić mu uprawnienia z 770 na 660 ?


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.
edytowany 1x, ostatnio: kacper546, 2016-10-02 19:55

Pozostało 580 znaków

2016-10-02 20:11
0

Wejdź do katalogu z plikami i odpal: find . -name *.txt -exec chmod 660 '{}' \;


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2016-10-02 20:18
0

Wielkie dzięki za odzew.
Niestety twój sposób nie działa

find: ścieżki muszą poprzedzać wyrażenie: Nowy dokument tekstowy (3).txt

Ale dziękuje - wcześniej nie miałem nawet pomysłu jakich poleceń/aplikacji użyć.
Idę kombinować....


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.
edytowany 1x, ostatnio: kacper546, 2016-10-02 20:18

Pozostało 580 znaków

2016-10-02 21:52

Znalazłem coś na: http://manpages.ubuntu.com/manpages/trusty/pl/man1/find.1.html

TO NIE SĄ BŁĘDY
$ find . -name *.c -print
find: ścieżki muszą poprzedzać wyrażenie
Składnia: %s [-H] [-L] [-P] [-Opoziom] [-D help|tree|
search|stat|rates|opt|exec] [ścieżka...] [wyrażenie]

   Powodem  takiego  zachowania  jest  interpretacja *.c przez powłokę, co
   skutkuje następującym poleceniem otrzymanym przez program find.

   find . -name bigram.c code.c frcode.c locate.c -print

   To polecenie oczywiście nie będzie działać. Poprawną metodą jset ujęcie
   wzorca w cudzysłowy lub zacytowanie maski:
   $ find . -name \*.c -print

Rozwiązaniem jest więc pewnie: find . -name \*.txt -exec chmod 660 '{}' \;


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2016-10-02 22:12
1

ja u siebie lokalnie (w domu) daję:

chmod 700 -R $HOME/ chown NieGooglujMnie:NieGooglujMnie - R $HOME/

appki, projekty, kod mam w :
$HOME/dev

2 kwestie:
po pierwsze - daję uprawnienia tylko dla użytkownika, a później są dwa zera (700).
po drugie - nie dotyczy to deploy, bo jak appka idzie na produkcję/serwer/testy, to najlepiej machnąć skrypt który rekurencyjnie pozmienia uprawnienia zaraz po deployu
(i właśnie wtedy warto jakiś find -exec ułożyć)

edytowany 5x, ostatnio: aurel, 2017-10-09 19:36
spoko,tylko nie tego dotyczy(ł) problem ;) ale będę pamiętał - kacper546 2016-10-03 15:24

Pozostało 580 znaków

2016-10-03 15:23
0

@Wibowit - zadziałało!

Okazało się że posiadam też kilka plików tekstowych bez rozszerzenia .txt tak więc użycie

find . -name *. -exec chmod 660 '{}' \;

wykluczyło mi również dostęp do katalogów ;) - poradziłem sobie z tym ale na przyszłość czy można jakoś tak zrobić żeby masowo zmienić uprawnienia całej zawartości katalogu .html,.txt oraz pliki bez rozszerzenia ale z pominięciem folderów?


Jeśli mój post jest dowodem mojej niekompetencji, to trudno, ale po to pytam, żeby się czegoś dowiedzieć.

Pozostało 580 znaków

2016-10-03 20:58
1

Hmm, może find . -type f? Tu jest opis opcji find i przełącznika type: https://pl.wikipedia.org/wiki/Find


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0