• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

vsftpd & Benutzerrechte

kataga

Member
Hallo,

ich habe etwas Probleme bei der Vergabe bzw. beim Einschränken der Benutzerrechte.

Im Moment können sich alle User z.B. per WinSCP einloggen oder per Putty einer Verbindung zur Shell herstellen. Das ist okay. Nur können die user auch das Verzeichnis verlassen und z.B. in andere Benutzerverzeichnisse oder Systemverzeichnisse.

Nur würde ich die User jetzt gern soweit einschränken, dass sie nur in ihr Userverzeichnis & ein gemeinsames SHARE Verzeichnis dürfen. Daran scheitert es leider.

Wie realisiere ich dies am Besten!? Ist dies so überhaupt mit vsftpd so möglich!?

Danke schonmal im voraus.

KATAGA

P.S.: Falls der Beitrag hier falsch ist, dann bitte verschieben! :)
 

milli4503

Member
In der vsftpd.conf eintragen:

anon_root = /x/x/x

Hier gibst du dass Verzeichnis an, in dass vsftpd die User schicken soll ( Anonymous ). Wenn du Benutzer angelegt hast, dann kannst du auch ihnen ein Root_Verzeichnis zuweisen.

local_root = /x/x/x

Da legst du dass Verzeichnis für Locale User fest.

Hoffe es hilft dir ein bisschen. Hab den vsftpd nicht mehr bei mir laufen.
 
OP
K

kataga

Member
Wenn ich local_root=/x/x eintrage, dann ändert das garnichts! :( Benutzer landen ganz normal in ihrem Homeverzeichnis und können trotzdem hin wo sie wollen. :(

Muss ich, dass dies funktioniert, irgendwas anderes einstellen bzw. ausschalten!?
 
OP
K

kataga

Member
Nachdem ich meine Antwort abgeschickt habe, hab ich mir auch gedacht das ich besser dazu schreiben sollte, das ich da natürlich kein x stehen hab! :)

Ja, hab xinetd neugestartet - vsftpd läuft nicht standalone. Somit müsste das ja passen.
 

milli4503

Member
Haut es jetzt hin und hast vsftpd die conf neu einlesen lassen. Wahrscheinlich musst du die Zugriffs_und_Leserechte deiner Local angelegten vsftp_user beschneiden wass die anderen Partitionen betrifft.

Würde da eine eigene Gruppe machen bzw sie in die ftp_gruppe verbannen oder so.
 
OP
K

kataga

Member
Wie meinst Du das!? Conf neu einlesen lasse!? Wenn ich ihn via xinetd beende und neu starte dann sollte er sich doch mit der neuen Konfiguration starten. oder etwas nicht!?

Nein, keine Veränderung...
 

milli4503

Member
Ja genau. Ist also neu eingelesen.

Denke, dass es an den localen Rechten liegt was die localen User betrifft. Du kannst auch in der /etc/passwd dass Rootverzeichnis für ftp angeben.

Schaut bei mir so aus:

ftp:x:40:49:FTP account:/srv/ftp:/bin/false

Wie gesagt, habe keinen ftp zu zeit laufen.

Muss jetzt leider in die Arbeit. Mach mir aber mal Gedanken darüber. Hätte für vsftpd eine gute Anleitung. Aber keinen Scanner zur verfügung, dass ich sie dir schicken könnte.Habe damals vsftpd nur mit Anonymous betrieben.
 

useher

Member
Du sperrst User mit chroot=yes (o.ä) in ihren Homeverzeichnissen ein. Über eine allow-Liste kannst du die definieren, die raus dürfen. Steht in der Config-Datei drin. Das Verzeichnis für anon ist ja schon beschrieben.
 
OP
K

kataga

Member
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Ich hab jetzt 2 Benutzer angelegt. Einer steht in der chroot_list und einer nicht. Aber beim Einloggen kann ich keinen Unterscheid zwischen beiden Usern feststellen.
 

useher

Member
Server neu gestartet? Der, der in der Liste steht sollte mit dieser Konfig jetzt browsen können, der andere nicht. So gehts jedenfalls bei mir.
Das share könntest du z.B als SymLink auf das reale Verzeichnis im User-Verzeichnis anlegen.

Gruß Uwe
 
OP
K

kataga

Member
Hab jetzt auf ner neuen virtuellen Linuxinstallation alles nochmal von vorne probiert - einfach um auszuschließen das ich nicht irgendwo einen Fehler eingebaut habe.

Habe aber wieder genau das gleiche Problem. Die Gruppe mit den Usern ist wieder nicht nur auf ihr Homeverzeichnis beschränkt... :(
 

useher

Member
Bist du sicher das er das richtige config-File liest? Sind die Leserechte für den user 'ftp' gesetzt? Was anderes fällt mir nicht mehr ein.
:?:
Gruß Uwe
 
OP
K

kataga

Member
Müsste das richtige Configfile sein. Wenn ich z.B. auf Standalone umstelle, dann macht er das ja auch. Wenn das falsche Configfile wäre, dann würde er das ja nicht annehmen. Die Idee hatte ich auch schon.

Was meinst Du mit leserechte!?
Welche Verzeichnisse sollte ich für die Gruppe der FTP & SSH User denn sperren!?
Hab per Hand versucht die Rechte für die Gruppe einzuschränken. Funktioniert auch. Nur leider hab ich denen jetzt wohl zu viele Recht genommen, denn ich krieg diverse Fehlermeldungen. :( Ich weiß, sowas sollte man nicht tun, wenn man keine Ahnung hat. Muss es aber doch irgendwie lernen!? :) Deswegen ist es ja ein Virtueller Server mit dem ich "testen" kann.
 

cero

Guru
Poste doch mal bitte die komplette vsftpd.conf. Vielleicht kommen sich dort Einstellungen
in die Quere.
 
OP
K

kataga

Member
Code:
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# If you do not change anything here you will have a minimum setup for an
# anonymus FTP server.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

# General Settings
#
# Uncomment this to enable any form of FTP write command.
#
#write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
#
dirmessage_enable=YES
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#
#nopriv_user=ftpsecure
#
# You may fully customise the login banner string:
#
#ftpd_banner="Welcome to FOOBAR FTP service."
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#
#ls_recurse_enable=YES
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#
#deny_email_enable=YES
#
# (default follows)
#
#banned_email_file=/etc/vsftpd.banned_emails
#
# If  enabled,  all  user  and  group  information in
# directory listings will be displayed as "ftp".
#
#hide_ids=YES

# Local FTP user Settings
# 
# Uncomment this to allow local users to log in.
#
#local_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#
#local_umask=022
#
# Uncomment to put local users in a chroot() jail in their home directory
# after login.
#
chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#
#chroot_list_enable=YES
#
# (default follows)
#
#chroot_list_file=/etc/vsftpd.chroot_list
#
# The maximum data transfer rate permitted, in bytes per second, for
# local authenticated users. The default is 0 (unlimited).
#
#local_max_rate=7200


# Anonymus FTP user Settings
#
# Allow anonymous FTP?
#
anonymous_enable=NO
#
# Anonymous users will only be allowed to download files which are
# world readable.
#
anon_world_readable_only=YES
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#
#anon_upload_enable=YES
#
# Default umask for anonymus users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#
#anon_umask=022
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#
#anon_mkdir_write_enable=YES
#
# Uncomment this to enable anonymus FTP users to perform other write operations
# like deletion and renaming.
#
#anon_other_write_enable=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#
#chown_uploads=YES
#chown_username=whoever
#
# The maximum data transfer rate permitted, in bytes per second, for anonymous
# authenticated users. The default is 0 (unlimited).
#
#anon_max_rate=7200


# Log Settings
#
# Log to the syslog daemon instead of using an logfile.
#
syslog_enable=YES
#
# Uncomment this to log all FTP requests and responses.
#
log_ftp_protocol=YES
#
# Activate logging of uploads/downloads.
#
#xferlog_enable=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
vsftpd_log_file=/var/log/vsftpd.log
# 
# If you want, you can have your log file in standard ftpd xferlog format.
# Note: This disables the normal logging unless you enable dual_log_enable below. 
#
xferlog_std_format=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
xferlog_file=/var/log/xferlog
#
# Enable this to have booth logfiles. Standard xferlog and vsftpd's own style log.
#
dual_log_enable=YES
#
# Uncomment this to enable session status information in the system process listing.
#
#setproctitle_enable=YES

# Transfer Settings
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
#
connect_from_port_20=YES
#
# You may change the default value for timing out an idle session.
#
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#
#data_connection_timeout=120
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# Set to NO if you want to disallow the  PASV  method of obtaining a data
# connection.
#
#pasv_enable=NO

# PAM setting. Do NOT change this unless you know what you do!
#
pam_service_name=vsftpd

# Set listen=YES if you want vsftpd to run standalone
#
listen=YES

# Set to ssl_enable=YES if you want to enable SSL
ssl_enable=YES

#give the correct path to your currently generated *.pem file
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem

force_local_logins_ssl=YES
force_local_data_ssl=YES

#Secure chroot jail
secure_chroot_dir=/srv/ftp
 

cero

Guru
Nimm mal diese zeile mit rein
Code:
local_enable=YES

Dein FTP-Server lüppt übrigens als Standalone, also:
Code:
listen=NO
 
OP
K

kataga

Member
Gemacht und XINET.D via RunLevelEditor neu gestartet - selbes Ergebnis. :(

Ich verstehe es nicht! :(

Habe keine Ahnung was es unter Linux besonders zu schützen gilt.
Notfalls könnte ich ja per Hand diese Gruppe von diesen Verzeichnissen aussperren. Dann wäre es effektiv ja genauso gut - nur sehr sehr umständlich.

Muss meine Ftp-user-Gruppe in die Gruppen ftp & sshd!? Oder den Usern außer der FTP Gruppe nichts zuordnen?!
 
Oben