perms powstał, ponieważ wkurzało mnie wklepywanie co jakiś czas:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Zamiast tego napisałem sobie skrypt w pythonie, który nie dość że jest dużo bardziej przyjazny w użytkowaniu, to jeszcze jest wielokrotnie szybszy.
Wywołanie:
perms [options] [directory]
gdzie:
- -d|–dir oct_dir_perms
- Jeśli podane, pozwala na określenie jakie prawa dostępu zostaną ustawione dla katalogów. Jeśli nie zostanie podany ten parametr, to prawa dostępu do katalogów nie zostaną zmienione.
- -f|–file oct_file_perms
- To samo co
-d, ale w odniesieniu dla plików. - -o|–owner owner_name
- Jeśli podane, zmienia właściciela plików/katalogów na owner_name (na razie nie ma możliwości podania bezpośrednio uid’u użytkownika). Podany użytkownik musi istnieć w systemie.
- -a|–owner-affect all|file|dir
- Pozwala na określenie, czy opcja ‘-o’ będzie zmieniać właściciela plików (’file’), katalogów (’dir’) czy też i plików, i katalogów(’all’). Ignorowane jeśli nie podano opcji ‘-o’.
- -g|–group group_name
- Jeśli podane, zmienia grupę plików/katalogów na group_name (na razie nie ma możliwości podania bezpośrednio gid’u grupy). Podana grupa musi istnieć w systemie.
- -b|–group-affect all|file|dir
- Pozwala na określenie, czy opcja ‘-g’ będzie zmieniać grupę plików (’file’), katalogów (’dir’) czy też i plików, i katalogów(’all’). Ignorowane jeśli nie podano opcji ‘-g’.
- -v|–version
- Wypisuje wersję programu.
- -h|–help
- Wypisuje pomoc.
- directory
- Katalog w którym będą dokonywane zmiany.
Katalog musi zawsze zostać podany.
Wszelkie uwagi, prośby i bugreporty proszę słać na email.
TODO:
- Możliwość określenia głębokości na jaką ma ‘zaglądać’ skrypt.
DONE:
- Jeśli będzie dodany tylko jeden parametr (
-dlub-f), to drugi nie będzie uwzględniany, np przy wywołaniuperms -d 755 dirprawa dostępu dla plików nie zostaną zmienione. - Zmiana właściciela plików i katalogów (osobno dla katalogów i osobno dla plików ?)