Jak znaleźć foldery z określonymi uprawnieniami?

2

Jak mogę znaleźć foldery z konkretnymi uprawnieniami w systemie Linux?

Chcę znaleźć wszystkie te foldery i pliki w systemie Linux, aby móc je zmienić.

Obywatel
źródło

Odpowiedzi:

6
find . -type d -perm 0700 -user apache -ls

zmień 0700 na odpowiednie uprawnienie.

johnshen64
źródło
dziękuję bardzo i jak mogę powiedzieć, znajdź wszystkie foldery z określonym użytkownikiem, na przykład wszystkie foldery, których właścicielem jest apache
Freeman
2
man find. Przejdź do części, która stwierdza -user uname File is owned by user(w twoim przypadku apache użytkownika).
Hennes,
2
Zmodyfikowałem
2

Uważam, że nie jednym poleceniem. Możesz spróbować czegoś takiego:

dir=.
username=$USER

{ find "$dir" -user $username -perm -u=w ;
  for gid in `id -G $username`; do 
    find "$dir" -group $gid -perm -g=w ;
  done
  find "$dir" -perm -o=w ;
} | sort | uniq

Edycja: Powyższe zawiera listę wszystkich plików, które użytkownik może zapisać (jak pierwotnie zapytałeś), a nie tylko pliki z określonymi uprawnieniami (jak rwx------).

Ansgar Wiechers
źródło
1
To zależy, jeśli weźmiesz pod uwagę, że 'find -perm xxxx -user apache -exec chmod yyyy' to pojedyncze polecenie. (Nie jestem pewien, czy muszę rozważyć jedno lub dwa polecenia)
Hennes,
imponujące, bardzo dużo ...
Freeman