Skocz do zawartości
Zaloguj się, aby obserwować  
Desavil

ProFTPd MySQL tabela groups

Polecane posty

Witam.

 

Zastanawiam się konfigurując ProFTPd z MySQL dlaczego znajduje się tam dodatkowa tabela groups? Czemu ona ma służyć, skoro każdemu dodanemu użytkownikowi można nadać (a nawet trzeba) UID oraz opcjonalnie GID?

 

Pozdrawiam!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

...dlaczego znajduje się tam dodatkowa tabela groups?

Co rozumiesz pisząc "dodatkowa"? Dodając użytkownika, dodaje się i grupa, bo tak zorganizowane są uprawnienia w systemach unixowych. Edytowano przez mariaczi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Co rozumiesz pisząc "dodatkowa"? Dodając użytkownika, dodaje się i grupa, bo tak zorganizowane są uprawnienia w systemach unixowych.

 

Mogę podać UID i GID dla danego użytkownika w tabeli "users", to dlaczego mam jeszcze coś (i pytanie jeszcze co) podawać w tabeli "groups"?

 

Chyba, że istnieje opcja wyłączenia tego całkiem (w ogóle nie tworzenia tabeli groups) i zamiana w konfiguracji:

SQLAuthenticate         users* groups*

na

SQLAuthenticate         users*

Ale mimo wszystko nadal ciekawi mnie po co jest ta tabela, ja to działa.

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

Sprawdź w strukturze bazy danych, czy czasem ten GID na tabeli users nie jest kluczem obcym tabeli groups. Poza tym, aby podać GID to warto byłoby ta grupę najpierw mieć, nieprawdaż?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź w strukturze bazy danych, czy czasem ten GID na tabeli users nie jest kluczem obcym tabeli groups. Poza tym, aby podać GID to warto byłoby ta grupę najpierw mieć, nieprawdaż?

 

W dokumentacji (http://www.proftpd.org/docs/howto/SQL.html) niema nic o kluczu obcym oraz w przykładach jakie można znaleźć w internecie.

 

Jeżeli chodzi o użytkownika to taki istnieje jak i jego grupa, dodaje się zazwyczaj jednego domyślnego, którego ProFTPd używa:

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -g ftpgroup ftpuser

I z tego użytkownika jak ustawię w bazie danych w tabeli "users" UID oraz GID na 2001 to z takimi uprawnieniami też się łączy, jak ten dodany w systemie.

 

Dlatego ponawiam pytanie, po co tabela "groups".

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

W dokumentacji (http://www.proftpd.org/docs/howto/SQL.html) niema nic o kluczu obcym oraz w przykładach jakie można znaleźć w internecie.

Może nie jest to wprost napisane, ale z punktu widzenia baz danych jest to naturalne i logiczne.

Jeżeli chodzi o użytkownika to taki istnieje jak i jego grupa, dodaje się zazwyczaj jednego domyślnego, którego ProFTPd używa:

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -g ftpgroup ftpuser
I z tego użytkownika jak ustawię w bazie danych w tabeli "users" UID oraz GID na 2001 to z takimi uprawnieniami też się łączy, jak ten dodany w systemie.

 

I napisałeś jak również "używasz" tego w pełni świadomie? Wiesz, dlaczego właśnie tak jest? I po co jest tworzony ten użytkownik i ta grupa przy korzystaniu w "virtual users"? Do czego jest używany ów użytkownik i grupa.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może nie jest to wprost napisane, ale z punktu widzenia baz danych jest to naturalne i logiczne.

I napisałeś jak również "używasz" tego w pełni świadomie? Wiesz, dlaczego właśnie tak jest? I po co jest tworzony ten użytkownik i ta grupa przy korzystaniu w "virtual users"? Do czego jest używany ów użytkownik i grupa.

 

Chętnie przeczytam. :)

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
 CREATE TABLE groups (    groupname VARCHAR(30) NOT NULL,    gid INTEGER NOT NULL,    members VARCHAR(255)  );

Tutaj masz odwzorowanie gid na nazwę oraz członków grupy w zmiennej members.

Zerknij na /etc/group, ma bardzo podobną strukturę. W /etc/passwd też masz tylko uid i gid.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli mam dodać 1 rekord, który zawiera w polu "groupname" nazwę grupy jaką dodałem w systemie (groupadd -g 2001 ftpgroup), w kolumnie "gid" dodać numer dodanej grupy (w tym przypadku: 2001) w kolumnie "members" po przecinku listę użytkowników (loginów) jakie mam w tabeli "users"?

 

Z tego co można przeczytać w dokumentacji właśnie w kolumnie "members", wydajniej jest dodawać wszystkich użytkowników po przecinku, niż każdy użytkownik i przypisanie mu grupy w osobnym rekordzie. Ale jak faktycznie później tym zarządzać? Przypuśćmy mam 1000 kont FTP i po przecinku w kolumnie "members" wpisane loginy wszystkich użytkowników.

 

Może źle to rozumiem, jeżeli tak to proszę o wyjaśnienie, chcę tylko się czegoś nowego nauczyć, jak robić to poprawnie i zrozumieć jak to działa.

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×