[CHMOD] Guest darf lesen, aber nicht löschen/umbenennen.

  • Thread starter Thread starter Deleted member 10028
  • Start date Start date
D

Deleted member 10028

Guest
Hallo Zusammen,

ich habe derzeit folgendes Problem:
Es gibt 2 verschiedene User.
- master (sudo-Rechte)
- user (normaler Benutzer)

Der Benutzer "master" gehört die Datei "test.txt".
Der Benutzer "user" darf diese Datei ausschließlich lesen, aber nicht bearbeiten, umbenennen oder löschen.
Code:
-rw-r--r--  1 master   master    390 2011-04-03 18:16 test.txt

Mit dem CHMOD 0644 kann der Benutzer "user" die Datei zwar nicht bearbeiten, dafür aber löschen und umbenennen.
Welche Möglichkeit(en) habe ich, damit der Benutzer "user" die Datei ausschließlich lesen darf?.

---
Wenn ich mich nicht irre, müsste für das Löschen der Datei die Berechtigung "Execute" vorhanden sein, welche aber gar nicht gegeben ist.
---


Gruß
Julian
 
Last edited by a moderator:
Die Rechte für Löschen und Umbenennen werden vom Ordner vererbt. Wenn User Schreibrechte im Ordner hat, darf er Löschen und Umbenennen.

Execute sind Rechte zum Ausführen der Datei.
 
Vielen Dank für deine Antwort.

Nun dachte ich, dass ich es mit einem Symlink schaffe, doch scheinbar mache ich entweder etwas falsch, oder es kann so nicht funktionieren.

Ich habe folgende Ordnerstruktur
Code:
/home/gameserver/userid/serverid/version/SERVERDATEIEN

[B]Besitzer "master":[/B]
/home/gameserver/userid/serverid/

[B]Besitzer "user"[/B]
/home/gameserver/userid/serverid/version/

Nun wollte ich einen Symlink von "/home/gameserver/userid/serverid/server.cfg" nach "/home/gameserver/userid/serverid/version/server.cfg" erstellen, doch scheinbar ist die server.cfg für den Benutzer "user" nicht erreichbar.

Mein Befehl zum Erstellen des Symlinks lautet wie folgt:
Code:
ln -s /home/gameserver/userid/serverid/server.cfg /home/gameserver/userid/serverid/version/server.cfg

Übersicht der Struktur:

Code:
/home/gameserver/userid/serverid# ls -l
drwx------+ 8 user     user     4.0K 2011-04-03 19:05 version
-rw-r--r--  1 master   master    379 2011-04-03 19:07 server.cfg
Code:
/home/gameserver/userid/serverid/version# ls -l
-rwxr-xr-x  1 user user  11K 2010-11-28 07:36 announce
drwxr-xr-x+ 2 user user 4.0K 2010-08-14 00:14 filterscripts
drwxr-xr-x+ 2 user user 4.0K 2009-09-11 03:35 gamemodes
drwxr-xr-x+ 2 user user 4.0K 2009-09-05 23:06 include
-rw-r--r--  1 user user 3.7K 2010-08-09 18:45 LICENSE
drwxr-xr-x+ 3 user user 4.0K 2009-09-29 05:32 npcmodes
drwxr-xr-x+ 2 user user 4.0K 2010-08-21 19:19 plugins
-rw-r--r--  1 user user 1.9K 2009-10-15 00:28 README
-rwxr-xr-x  1 user user  420 2011-04-03 18:16 restarter1852.sh
-rwxr-xr-x  1 user user 1.3M 2010-12-26 06:34 samp03svr1852
-rwxr-xr-x  1 user user 576K 2010-12-26 06:34 samp-npc
drwxr-xr-x+ 4 user user 4.0K 2009-10-12 07:47 scriptfiles
lrwxrwxrwx  1 master   master     31 2011-04-03 19:00 server.cfg -> /home/samp/1595/1852/server.cfg
-rw-rw-rw-+ 1 user user 1.1K 2011-04-03 19:17 server_log.txt

Der Gameserver spuckt folgende Meldung aus:
Code:
[19:05:58] Unable to exec file 'server.cfg'.

Ich habe der original server.cfg jetzt mal den CHMOD 777 zugewiesen, doch der Gameserver behauptet weiterhin, dass er die server.cfg nicht ausführen/finden kann.

Ist etwas an meinem Symlink-Befehl falsch?
 
Last edited by a moderator:
UPDATE:
Es lag an einem falschen CHMOD und der Benutzer "user" kann die server.cfg nun wieder lesen,
aber auch löschen/umbenennen, was ja verhindert werden soll.

Wie bekomme ich es hin, dass der Besitzer des Hauptordners keine Rechte hat, eine Datei in seinem ordner zu löschen?
 
Das Problem hierbei ist doch, dass der Besitzer eines Ordner alles löschen darf, was ihm nicht passt.
Wie soll ACL etwas daran ändern können?

Code:
getfacl server.cfg
# file: server.cfg
# owner: master
# group: master
user::rw-
group::r--
other::r--
 
Last edited by a moderator:
Setzt doch einfach ein immutable bit, dann hast du eigentlich alles was du willst.

Code:
chattr +i dateiname
 
Vielen, vielen Dank ]MaX[ :)
Das ist genau das, wonach ich gesucht habe.
 
Back
Top