Zmiana uprawnień Linux

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 ?

0

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

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ć....

1

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 '{}' \;

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ć)

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?

1

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

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