Toon posts:

[pure-ftpd] Virtual users vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Sinds kort draai ik op m'n OpenSUSE machine pure-ftpd als FTP deaemon.
Daar ben ik erg tevreden mee, het is een fijne makkelijke doch krachtige FTP server. :)

Maarrr... nu wil ik graag meerdere gebruikers op dezelfde map "chrooten".
m.a.w. ik heb een map "/srv/ftp/" en wil meerdere users daar op laten uitkomen als ze inloggen op de FTP. Voor zover ik weet "chroot" een FTP server onder *NIX een user standaard op basis van zijn of haar "home directory" i.e. "/home/pietjepuk/./"
Echter (en dit is ook meteen een vraag..) kan je volgens mij niet meerdere users dezelfde home directory laten hebben. Yast doet in iedergeval moeilijk daarover en met "useradd" kreeg ik ook problemen als ik dit forceerde.

Dit wil ik oplossen met virtual users, echter als je deze virtual users koppelt aan een systeem user hebben ze allemaal dezelfde rechten. Ik heb geprobeerd een virtual user ook te koppelen aan een group om dat op te lossen: (dit kan ook volgends de documentatie van pure-ftpd)

code:
1
pure-pw useradd pietjepuk -u ftpuser -g ftpgroup -d /srv/ftp


je moet verplicht ook aan een user koppelen. Vervolgens laten chrooten op de map waar enkel de group zou matchen met de virtual user:

code:
1
2
3
4
drwxr--r--  4 ftpadmin ftpgroup  96 2007-02-21 18:06 apps/
-rwxr--r--  1 ftpadmin ftpgroup  86 2006-05-21 05:06 .bash_history*
drwxr--r--  3 ftpadmin ftpgroup  72 2007-02-21 17:42 images/
drwxr--r--  6 ftpadmin ftpgroup 144 2007-02-16 00:52 media/


Zo zou ik "gewone gebruikers" kunnen matchen met "ftpgroup" (en deze rechten hierop) en "beheerders" laten matchen met de gebruiker "ftpadmin" (en de rechtern die deze gebruiker heeft)

Maar.... dat pakt ie dus niet. pure-ftpd virtual users "zien" helemaal geen rechten van groepen. Het gaat blijkbaar enkel om het user id en de groups id ziet pure-ftp niet. (geen lees rechten, krijg je dan bij inloggen...nou dit staan er toch echt...)
En ik snap dat dus niet....waarom kan je dan groepen koppelen aan virtual users als je er vervolgens geen hol mee kan??
Hieronder heb ik virtual user "martin" gekoppeld aan "ftpgroup" die leesrechten heeft.

code:
1
2
3
4
5
6
7
8
9
10
11
230-User martin has group access to:  1000     33       16
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Extended Passive mode OK (|||42473|)
150 Accepted data connection
226-Sorry, we were unable to read [.]
226-Options: -a -l
226 0 matches total
ftp>


Als ik de user laat matchen met de virtual user dan werkt het weer wel...
Voor de volledigheid hieronder de virtuale user "martin":

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Login              : martin
Password           : $2a$07$97Tqm7918suBpU/JKl05Ou0ot0yiHc90UOsRLnwfhwELOqHI8ggAu
UID                : 1008 (ftpuser)
GID                : 1000 (ftpgroup)
Directory          : /srv/ftp/./
Full name          :
Download bandwidth : 0 Kb (unlimited)
Upload   bandwidth : 0 Kb (unlimited)
Max files          : 0 (unlimited)
Max size           : 0 Mb (unlimited)
Ratio              : 0:0 (unlimited:unlimited)
Allowed local  IPs :
Denied  local  IPs :
Allowed client IPs :
Denied  client IPs :
Time restrictions  : 0000-0000 (unlimited)
Max sim sessions   : 0 (unlimited)


Ik zit nu een beetje vast.... :(
Heeft iemand een suggestie?

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Verwijderd schreef op donderdag 22 februari 2007 @ 12:00:
Echter (en dit is ook meteen een vraag..) kan je volgens mij niet meerdere users dezelfde home directory laten hebben. Yast doet in iedergeval moeilijk daarover en met "useradd" kreeg ik ook problemen als ik dit forceerde.
Welke problemen kreeg je dan precies? Als je zorgt voor een gezamelijke groep waar de gebruikers inzitten kun je ze prima in 1 homedirectory krijgen volgens mij? :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Topicstarter
moto-moi schreef op donderdag 22 februari 2007 @ 12:05:
[...]

Welke problemen kreeg je dan precies? Als je zorgt voor een gezamelijke groep waar de gebruikers inzitten kun je ze prima in 1 homedirectory krijgen volgens mij? :)
Nou, zelfs als ik alleen al een user wil aanmaken met als homedir "/srv/ftp"
Dan gaat Yast roepen dat een andere user (de FTP system user) die home-map al heeft en dat dat niet kan. Ik gok even dat dat *NIX "as designed" is of is dat Yast "as designed" ?

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Dat is een probleem van Yast, als je het op de commandline doet(useradd en dan de groepid zelf meegeven) zal het prima werken :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Topicstarter
moto-moi schreef op donderdag 22 februari 2007 @ 12:19:
Dat is een probleem van Yast, als je het op de commandline doet(useradd en dan de groepid zelf meegeven) zal het prima werken :)
Dat werkt inderdaad :)
Maar....dan heb ik hetzelfde probleem!
Ik kan niet rechten krijgen op een matchend groupid enkel op een userid.
Bijvoorbeeld:

code:
1
2
3
4
drwxr--r--  4 ftpadmin ftpgroup  96 2007-02-21 18:06 apps/
-rwxr--r--  1 ftpadmin ftpgroup  86 2006-05-21 05:06 .bash_history*
drwxr--r--  3 ftpadmin ftpgroup  72 2007-02-21 17:42 images/
drwxr--r--  6 ftpadmin ftpgroup 144 2007-02-16 00:52 media/


als ik inlog als "ftpadmin" dan werkt dat
Als ik inlog als "martin" die in de groep "ftpgroup" zit dan heb ik geen rechten (ook geen leesrechten) die ik wel zou moeten hebben volgens ls...

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Mappen moeten AFAIK ook execute-rechten hebben om benaderd te kunnen worden.

Uit `man chmod`:

The letters `rwxXstugo' select the new  permissions  for  the  affected
users:  read  (r),  write (w), [b]execute (or access for directories) (x)[/],
execute only if the file is a directory or already has execute  permis-
sion  for  some user (X), set user or group ID on execution (s), sticky
bit (t), the permissions that the user who owns the file currently  has
for  it  (u), the permissions that other users in the file's group have
for it (g), and the permissions that other  users  not  in  the  file's
group  have for it (o).  (Thus, `chmod g-s file' removes the set-group-
ID bit, `chmod ug+s file' sets both the  set-user-ID  and  set-group-ID
bits, while `chmod o+s file' does nothing.)


:)

[ Voor 87% gewijzigd door Osiris op 22-02-2007 13:08 ]


Verwijderd

Topicstarter
Osiris schreef op donderdag 22 februari 2007 @ 13:06:
Mappen moeten AFAIK ook execute-rechten hebben om benaderd te kunnen worden.

Uit `man chmod`:

The letters `rwxXstugo' select the new  permissions  for  the  affected
users:  read  (r),  write (w), [b]execute (or access for directories) (x)[/],
execute only if the file is a directory or already has execute  permis-
sion  for  some user (X), set user or group ID on execution (s), sticky
bit (t), the permissions that the user who owns the file currently  has
for  it  (u), the permissions that other users in the file's group have
for it (g), and the permissions that other  users  not  in  the  file's
group  have for it (o).  (Thus, `chmod g-s file' removes the set-group-
ID bit, `chmod ug+s file' sets both the  set-user-ID  and  set-group-ID
bits, while `chmod o+s file' does nothing.)


:)
Zoals meestal is de oplossing simpel.
Dat was het dus. :) :)
Bedankt Osiris!
Pagina: 1