Jeśli chown może zmieniać grupy, dlaczego utworzono chgrp?
23
Jest więc coś, chownco pozwala zmienić właściciela i grupę plików i / lub katalogów. Ale są też takie, chgrpktóre tylko zmieniają grupę. Dlaczego został chgrpstworzony? Czy to nie jest zbędne?
chownpoczątkowo nie można ustawić grupy. Później niektóre implementacje dodały go jako chown user.group, niektóre chown user:groupdo czasu, aż ostatecznie zostały ustandaryzowane (moje podkreślenie):
Metoda 4.3 BSD określająca zarówno właściciela, jak i grupę została uwzględniona w tym tomie POSIX.1-2008, ponieważ:
Są przypadki, w których pożądany warunek końcowy nie może zostać osiągnięty za pomocą narzędzi chgrp i chown (które tylko zmieniły identyfikator użytkownika). (Jeśli bieżący właściciel nie jest członkiem żądanej grupy, a żądany właściciel nie jest członkiem bieżącej grupy, funkcja chown () może się nie powieść, chyba że zarówno właściciel, jak i grupa zostaną zmienione w tym samym czasie).
Nawet jeśli można je zmienić niezależnie, w przypadkach, gdy oba są zmieniane, istnieje 100% kara za wydajność spowodowana zmuszeniem do wywołania obu narzędzi.
Nawet teraz chown :groupzmiana grupy nie jest przenośna ani standardowa.
chown user:(aby przypisać podstawową grupę userw bazie danych użytkowników) również nie jest standardem.
@dayuloli, dzięki za edycję, ale nie zawarłem tej części specyfikacji, ponieważ jej nie rozumiem
Stéphane Chazelas
Dobre pytanie! Pozytywne!
dayuloli
Miło to widzieć: grupa i użytkownik: zostały wymienione jako niestandardowe. Wiele osób tutaj sprawdza tylko to, co robi ich lokalny dostawca, co nie jest pomocne w ogólnym portalu UNIX.
Odpowiedzi:
chown
początkowo nie można ustawić grupy. Później niektóre implementacje dodały go jakochown user.group
, niektórechown user:group
do czasu, aż ostatecznie zostały ustandaryzowane (moje podkreślenie):Nawet teraz
chown :group
zmiana grupy nie jest przenośna ani standardowa.chown user:
(aby przypisać podstawową grupęuser
w bazie danych użytkowników) również nie jest standardem.źródło