Internetnutzung verwehren, aber wie ? (GELÖST)

Post Reply
Message
Author
Munin
Posts: 7
Joined: 09. Mar 2007 21:04

Internetnutzung verwehren, aber wie ? (GELÖST)

#1 Post by Munin »

Hallo,

ich nutze openSuse 10.2 und würde gern einigen Benutzern die Internetnutzung untersagen. (Kinder) Wie stelle ich das am schlauesten an ? Es wäre nett, wenn mir jemand einen Konsolentipp geben könnte und evtl paralell dazu übers grafische.
Aus den Systemgruppen unter Yast werde ich nicht schlau. Mir schein es ist völlig wurscht ob z.B. dialout bei einem Benutzer der Usergruppe gesetzt ist oder nicht.

Danke für die Hilfe
Last edited by Munin on 12. Mar 2007 8:41, edited 1 time in total.

petameta
prolinux-forum-admin
Posts: 1294
Joined: 14. Feb 2003 13:19

#2 Post by petameta »

Wie ist der Rechner denn an's Internet angebunden ?

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#3 Post by Munin »

Guten Tag,

Der Rechner funkt mit T-DSL ins Internet. Netzwerkkarte (eth0) über DSL Modem von der Telekom. Die Nutzer sind alle Lokal, haben also keine eigenen Rechner.

Tja, wie nun ??? :oops:

Danke für die Hilfe

Munin

petameta
prolinux-forum-admin
Posts: 1294
Joined: 14. Feb 2003 13:19

#4 Post by petameta »

Hi !

Also zuerst: Ich benutze SuSE nicht und kann Dir daher nur so ungefähr mitteilen, wie ich mir das vorstelle.

Wenn ich Dich richtig verstehe baust Du über eth0 eine Internetverbindung über ein Modem auf, also eine pppoe-Verbindung. Du benutzt also keinen Router, das ist wichtig.

Dann würde es wie folgt klappen: Du müßtest Dein DSL so konfigurieren, daß es die Verbindung nicht automatisch aufgebaut wird, sondern manuell über einen Befehl. Dieser Befehl wird von Distribution zu Distribution unterschiedlich sein (z. B. pon und poff oder ifup und ifdown). Den Zugriff auf diese Befehl kannst Du über sudo einschränken, bzw. wie Du schon angemerkt hast evtl. wird das bei SuSE über die Gruppen "dialout" geregelt.

Z. B. könntest Du eine Gruppe "dsl" anlegen und alle User dort eintragen, die verbinden dürfen. Dann startest Du als root "visudo" und trägst dort z. B. ein:

Code: Select all

%dsl ALL=NOPASSWD: /usr/bin/ifup ppp0
%dsl ALL=NOPASSWD: /usr/bin/ifdown ppp0
Die Pfadangabe vor dem Befehl ist aus Sicherheitsgründen sehr wichtig ! Dann kannst Du als User tippen:

Code: Select all

sudo /usr/bin/ifup ppp0

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#5 Post by Munin »

Guten Tag,

ich bin der Antwort schon näher gekommen, allerdings auf einem anderen Weg als der den Du vorgeschlagen hast.

Ich habe den beiden Nutzern eine neue Standardgruppe (neu erstellt) zugewiesen, als root nun folgenden Befehl ausgeführt.

iptables -I OUTPUT -o eth0 -m owner --gid-owner nonet -j REJECT (vielen Dank an ASEM vom linux-club)

(nonet ist hierbei der Name meiner neuen Gruppe)

Es funktioniert prima. Die Browser öffnen sich zwar aber es kommt nur eine Fehlermeldung.
Jetzt bin ich am basteln und forschen wo dieser Befehl eingetragen werden muß, damit das nach jedem booten automatisch ausgeführt wird.

Habt ihr ne Idee ??

Danke für die Hilfe

Munin

User avatar
hastifranki
Posts: 259
Joined: 06. May 2006 19:58

#6 Post by hastifranki »

Hallo,

Befehle, die in das Script

/etc/init.d/boot.local

eingefügt werden, sollten beim Booten ausgeführt werden.

Viele Grüße
Frank

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#7 Post by Munin »

Guten Tag,

leider klappt es nicht so einfach, was mache ich falsch ?
Hier meine /etc/init.d/boot.local. (Mehr ist das nicht ?)

#! /bin/sh
#
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.
#
# Author: Werner Fink <werner@suse.de>, 1996
# Burchard Steinbild, 1996
#
# /etc/init.d/boot.local
#
# script with local commands to be executed from init on system startup
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
#
iptables -I OUTPUT -o eth0 -m owner --gid-owner nonet -j REJECT

Habe ich vielleicht den Befehl an die falsche Stelle gesetzt. ???
Aber wohin sonst, gibt ja keine Befehle außer meinem und der war vorher auch nicht da.






:roll: Danke fürs helfen. MUNIN

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#8 Post by Janka »

Das klappt nicht, weil SuSE ein eigenes Firewall-Skript besitzt, das deine Einstellung wieder überschreibt. Leider ist dort das Einbinden eigener Regeln nicht vorgesehen. Es sollte aber klappten, wenn du in der Datei /etc/init.d/SuSEfirewall2_setup nach

$SUSEFWALL -q start

die Zeile

iptables -I OUTPUT 1 -o eth0 -m owner --gid-owner nonet -j REJECT

einfügst. WICHTIG: -I OUTPUT 1 <--- Damit das als erste Regel (vor dem ACCEPT für alle Pakete) eingebaut wird.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#9 Post by Munin »

Gute Nacht,

erstmal, DAS WAR DIE LÖSUNG. Danke an Janka



/etc/rc.status
rc_reset

case "$1" in
start)
echo -n "Starting Firewall Initialization "
echo -n '(phase 2 of 2) '
rm -f "$BOOTLOCKFILE"
$SUSEFWALL -q start
iptables -I OUTPUT 1 -o eth0 -m owner --gid-owner nonet -j REJECT
rc_status -v
;;
stop)
echo -n "Shutting down the Firewall "
if [ -z "$REDIRECT" ]; then


aber ich glaube das die Suse Firewall durchaus eigene Regeln annimmt.

Datei /etc/sysconfig/SuSEFirewall2 unter Pkt 25


# 25.)
# Do you want to load customary rules from a file?
#
# This is really an expert option. NO HELP WILL BE GIVEN FOR THIS!
# READ THE EXAMPLE CUSTOMARY FILE AT /etc/sysconfig/scripts/SuSEfirewall2-custom
#
#FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
FW_CUSTOMRULES=""

## Type: yesno
## Default: no
#

hier habe ich bereits versucht den iptables Befehl einzutragen (hinter FW_CUSTOMRULES="iptables ...."

hat nicht geklappt. Weiß zwar nicht warum, aber irgendwer wirds wissen.

Danke nochmal an alle ganz besonders Janka. :D

Munin[/code]

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#10 Post by Munin »

Guten Tag,

Nochmal zurück zu den Firewallregeln.
Es funktioniert jetzt. (Danke an b3ll3roph0n vom Linux-Club)

Also, habe den Eintrag in der /etc/init.d/SuSEfirewall2_setup wieder gelöscht und die ganze Geschichte über den Customeintrag der Firewall laufen lassen.

Das sieht jetzt wie folgt aus: (etc/sysconfig/SuSEfirewall2)

Code: Select all

# 25.&#41;
# Do you want to load customary rules from a file?
#
# This is really an expert option. NO HELP WILL BE GIVEN FOR THIS!
# READ THE EXAMPLE CUSTOMARY FILE AT /etc/sysconfig/scripts/SuSEfirewall2-custom
#
FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
#FW_CUSTOMRULES=""

## Type&#58;        yesno
## Default&#58;     no
#
und die Datei /etc/sysconfig/scripts/SuSEfirewall_customs ist um einen Eintrag reicher geworden:

Code: Select all

fw_custom_before_port_handling&#40;&#41; &#123; 
    # these rules will be loaded after the anti-spoofing and icmp handling
    # and after the input has been redirected to the input_XXX and 
    # forward_XXX chains and some basic chain-specific anti-circumvention
iptables -I OUTPUT -o eth0 -m owner --gid-owner nonet -j REJECT    
    # rules have been set,
    # but before any IP protocol or TCP/UDP port allow/protection rules
    # will be set.
    # You can use this hook to allow/deny certain IP protocols or TCP/UDP
    # ports before the SuSEfirewall2 generated rules are hit.
Übrigens hatte ich den Befehl als erste Zeile eingetragen, muss jetzt aber feststellen das er sich jetzt woanders befindet. s.o.

Naja,

Vielen Dank an alle

Munin

Munin
Posts: 7
Joined: 09. Mar 2007 21:04

#11 Post by Munin »

Guten Tag,

hat jemand eine Ahnung wie das passiert ist.

Ich benutzte gedit, aus der Zeile aufgerufen, dann abgespeichert und beim nächsten mal laden stand der Befehl woanders. s.o.

Funktionieren tut alles.

.. mhm, geht doch nicht so von ganz allein, sind doch nicht bei I Robot.

Danke, Munin
Am Anfang ist es immer ein "Aufbruch ins Unbekannte"

Post Reply