Page 1 of 1

Befehle Bestimmen

Posted: 2007-03-03 13:37
by condor
Hallo Gemeinde,

ich möchte gerne die Benutzerkonfiguration von Suse 9.3 etwas ändern.

Ich würde gerne bestimmte Programme denn Usern verbieten und den tmp ordner etwas härten.

Jedoch fehlt mich das know how dazu!

Zum einen möchte ich nur das der User Root gcc,make ausführen darf und sonst kein anderer User.

Und zum anderen möchte ich das kein Normal User im tmp Ordner was ausführen kann.

Bin mir auch icht so ganz Sicher wo ich das ändern kann!

bei Suse 9.3 /etc/pam.d/su dachte ich mir, geht aber nicht!

Oder würde ein einfaches
chmod 4710 /usr/sbin/ auch denn Sinn erfüllen.

Habe probiert bei google und linux Faq etwas zu finden, jedoch ohne Erfolg.

Schönen Tag
condor

Re: Befehle Bestimmen

Posted: 2007-03-03 18:12
by captaincrunch
Bestimmte Befehle nur für root: Rechte der Binaries passend setzen und gut ist die Sache.

Kein Ausführen aus /tmp: als eigenes FS auslagern und mit noexec mounten.

Re: Befehle Bestimmen

Posted: 2007-03-03 18:18
by EdRoxter
Und wenn du zu faul zum Partitionieren bist, kannst du /tmp auch als FS in ne Binary-Datei mounten. Ist unelegant, aber funktioniert. ;)

Re: Befehle Bestimmen

Posted: 2007-03-03 19:03
by outofbound
Oder sich überlegen ob man die Tools wirklich als root braucht und geg.falls einfach entfernen.

:)

Gruss,

Out

Re: Befehle Bestimmen

Posted: 2007-03-03 20:55
by elch_mg
EdRoxter wrote:Und wenn du zu faul zum Partitionieren bist, kannst du /tmp auch als FS in ne Binary-Datei mounten. Ist unelegant, aber funktioniert. ;)
Oder als tmpfs..

Re: Befehle Bestimmen

Posted: 2007-03-03 21:29
by condor
Hallo,

erstmal Danke für die Antworten.

aber ein einfaches

mount -o gid=60006 ro,noexec /tmp

tut es leider nicht und für einstellungen in der /etc/fstab bin ich viel zu unsicher. Da ich nicht wirklich weiß , was passiert wenn die sachen da ändere.

Außerdem läuft id wwwrun
uid=30(wwwrun) gid=60006(www) Gruppen=60006(www)

und Apache braucht den tmp ordner !?!

Code: Select all

Arkon:/home/testuser # cat /etc/fstab
/dev/hda3            /                    ext3       acl,user_xattr        1 1
/dev/hda1            /boot                ext2       acl,user_xattr        1 2
/dev/hda2            swap                 swap       pri=42                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
edit://

Lieber nochmal nachfragen, würde das mein Vorhaben entgegenkommen?

/dev/tmp /tmp ext3 loop,rw,nosuid,noexec 0 0


Gruß
condor

Re: Befehle Bestimmen

Posted: 2007-03-03 21:45
by elch_mg
Guck mal, so siehts bei mir aus:

Code: Select all

tmpfs                     /tmp            tmpfs   mode=1777,size=128M,nodev,noexec,nosuid   0       0
tmpfs                     /var/tmp        tmpfs   mode=1777,size=128M,nodev,noexec,nosuid   0       0
Aber wehe, du übernimmst das einfach so per Copy & Paste.

Re: Befehle Bestimmen

Posted: 2007-03-03 21:48
by condor
elch_mg wrote:Guck mal, so siehts bei mir aus:

Code: Select all

tmpfs                     /tmp            tmpfs   mode=1777,size=128M,nodev,noexec,nosuid   0       0
tmpfs                     /var/tmp        tmpfs   mode=1777,size=128M,nodev,noexec,nosuid   0       0
Aber wehe, du übernimmst das einfach so per Copy & Paste.
oh da warste eben etwas schneller ;)

ich dachte an
/dev/tmp /tmp ext3 loop,rw,nosuid,noexec 0 0

Re: Befehle Bestimmen

Posted: 2007-03-03 21:52
by elch_mg
Was ist ein /dev/tmp? Übrigens, tmpfs speichert die Daten im RAM. Du musst dir also überlegen, wieviel Platz du erübrigen kannst und wieviel du zur Verfügung hast. Und vergiss nicht /var/tmp, wenn du das Ausführen in temporären Ordnern verhindern willst..

Re: Befehle Bestimmen

Posted: 2007-03-03 21:59
by condor
edit://

ich habs :lol:

Re: Befehle Bestimmen

Posted: 2007-03-03 23:20
by aubergine
Kauf dir Webspace

Re: Befehle Bestimmen

Posted: 2007-03-04 09:56
by daemotron
condor wrote:Zum einen möchte ich nur das der User Root gcc,make ausführen darf und sonst kein anderer User.
Keine gute Idee - ich meine, diese Werkzeuge auf bestimmte User zu begrenzen schon, aber configure und make führt man nicht als root aus! AFAIR gab's schon manipulierte Downloads, bei denen bereits das ausführen von configure eine Backdoor installiert hat... Leg Dir für's compilieren einen extrem eingeschränkten User an (mit eigener Gruppe, eigenem homedir, ohne Shell etc.), dem Du Zugriff auf wget, gcc, (auto-)make & Co gibst. make install führst Du dann wieder als root aus, nachdem Du Dich davon überzeugt hast, dass beim bauen nix böses passiert ist.

Re: Befehle Bestimmen

Posted: 2007-03-04 10:04
by condor
jfreund wrote:
condor wrote:Zum einen möchte ich nur das der User Root gcc,make ausführen darf und sonst kein anderer User.
Keine gute Idee - ich meine, diese Werkzeuge auf bestimmte User zu begrenzen schon, aber configure und make führt man nicht als root aus! AFAIR gab's schon manipulierte Downloads, bei denen bereits das ausführen von configure eine Backdoor installiert hat... Leg Dir für's compilieren einen extrem eingeschränkten User an (mit eigener Gruppe, eigenem homedir, ohne Shell etc.), dem Du Zugriff auf wget, gcc, (auto-)make & Co gibst. make install führst Du dann wieder als root aus, nachdem Du Dich davon überzeugt hast, dass beim bauen nix böses passiert ist.
Danke das sind gute Ideen !

@aubergine
Offtopic schön , wenn Managed Server.
Normale Webhoster machen Zicken wegen der Auslastung des Servers.

Ansage Ende

Re: Befehle Bestimmen

Posted: 2007-03-04 11:13
by jhl
Was spricht gegen

Code: Select all

mount --bind /tmp /tmp
mount -o remount,noxec,nosuid,nodev /tmp
in einem Startskript? Die Befehle müssen getrennt werden, da --bind andere Optionen ignoriert. remount konnte ich nicht wirklich in die fstab eintragen...

Jens