Schreibrechte setzen?

Status
Nicht offen für weitere Antworten.

Oni

Top Contributor
hi,

ich test gerade ein bisschen unter suse 10 und wenn ich mit
Code:
File f = new File("/daten/test.txt");
	try{
		f.createNewFile();			
	}
	catch(IOException ioe){
		// ...
	}
eine datei erstelle hat sie die rechte

Code:
rw-r--r--

gibt es eine möglichkeit die rechte mit java zu ändern oder die datei gleich mit anderen rechten zu erzeugen z.b.

Code:
rw-rw-rw
??

Gruß
 

Leroy42

Top Contributor
Ich denke nicht.

Vor ein paar Wochen war hier ein Thread aus dem sich
ergeben hat, daß die Sun-Entwickler schlichtweg vergessen haben,
dies zu implementieren. Es gibt zwar eine Methode setReadOnly()
aber kein setWriteable oder sowas.

Außerdem gibt es die Recheunterteilung in user, group und Rest der Welt
nur unter Unix. Du mußt also via Runtime.getRuntime().exec(...) ein Shellscript
aufrufen, daß die Zugriffsrechte durchs System setzt.
 

Oni

Top Contributor
Was ich dazu noch gefunden habe.

Die zugriffs Rechte für Javaanwendungen werden über die JVM gesteuert. Die JVM hat die Rechte, die über die umask im Betriebsystem festgelegt sind.
Standardmässig ist das rwxr-xr-x, das entspricht der umask 022.

Wenn man möchte,dass die Javaanwendung Dateien erzeugt mit mehr Rechten, muss man die umask ändern. Das geht entweder Global in der /etc/profile oder temporär.
Ich habe es so gelöst das die Javaanwendung über ein Script gestartet wird, in dem ich vorher die umask temporär auf 000 setze.
Jetzt erzeugt meine Anwendung Dateien mit den Rechten rwxrwxrwx.

Den aktuellen Stand der umask kann man über die Shell abfragen mit dem Befehl:
umask
zum temprären ändern schreibt man dann einfach z.B.
umask 000
Diese änderung gilt dann nur solange die Shell-Session läuft.

Die Rechte werden über die umask errechnet.

Beispiel 1:

777 (volle Rechte)
- 022 (umask)
-----------
= 755 (rwxr-x-r-x)


Beispiell 2:

777 (volle Rechte)
- 000 (umask)
-----------
= 777 (rwxrwxrwx)



Gruß
 

Larouso

Mitglied
Leroy42 hat gesagt.:
Ich denke nicht.

Vor ein paar Wochen war hier ein Thread aus dem sich
ergeben hat, daß die Sun-Entwickler schlichtweg vergessen haben,
dies zu implementieren. Es gibt zwar eine Methode setReadOnly()
aber kein setWriteable oder sowas.

Gehören "File-Rechte" nicht zu den extrem - betriebssystemabhängigen Sachverhalten... ich meine mal gelesen zu haben
dass das keineswegs vergessen wurde - aber halt aus gründen der Plattformunabhängigkeit einfach nicht gemacht wurde/ nicht gemacht werden konnte.
 

Leroy42

Top Contributor
???:L Das könnte natürlich auch sein.

Immerhin spricht nichts dagegen seine Rechte einzuschränken (setReadOnly()))
aber es könnte Bedenken geben, sie zu erweitern (allowWriteable())
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Input/Output java applet schreibrechte Allgemeine Java-Themen 8
reibi Schreibrechte auf ein Verzeichnis Allgemeine Java-Themen 3
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
Y Bild in JPanel setzen Allgemeine Java-Themen 2
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
JavaNewbie2.0 Anführungszeichen setzen Allgemeine Java-Themen 3
OnDemand FTP4J Rechte setzen Allgemeine Java-Themen 1
J Mausposition setzen Allgemeine Java-Themen 2
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
N event_scheduler richtig setzen? Allgemeine Java-Themen 1
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
F JTextArea Cursor in die nächste Zeile setzen Allgemeine Java-Themen 2
G JDK setzen Allgemeine Java-Themen 4
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
D ClassLoader für Variablen einer Klasse setzen Allgemeine Java-Themen 24
C Datentypen int in bytes zerlegen und wieder zusammen setzen Allgemeine Java-Themen 13
M Session-Parameter setzen? Allgemeine Java-Themen 10
D Alle Variablen final setzen ? Allgemeine Java-Themen 26
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
T HTTP Skript für Passwortgeschützte Seite :: Häkchen setzen und Download Allgemeine Java-Themen 4
L Variablen Systemvariablen setzen Allgemeine Java-Themen 3
G JNDI Context setzen Allgemeine Java-Themen 3
S "Working Directory" setzen..? Allgemeine Java-Themen 3
A Datei als Object einlesen und das Object als Singleton instance setzen. Allgemeine Java-Themen 13
V Priorität der Event-Handlings setzen Allgemeine Java-Themen 4
N Timeout setzen Allgemeine Java-Themen 10
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
S String intelligent zusammen setzen Allgemeine Java-Themen 8
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
N ranges setzen Allgemeine Java-Themen 5
O getRuntime().Exec() - Environment - Variablen setzen? Allgemeine Java-Themen 2
Y beliebige Dateigröße setzen Allgemeine Java-Themen 10
G Proxy- Server setzen Allgemeine Java-Themen 2
thE_29 Rechnungen (Sättigung setzen) verschnellern Allgemeine Java-Themen 13
M nichtreferenzierte Objekte auf NULL setzen -> Performance Allgemeine Java-Themen 4
M Focus setzen - Frage zu FAQ Artikel Allgemeine Java-Themen 6
reibi Priorität setzen bei Thread Allgemeine Java-Themen 11
0 Taste setzen Allgemeine Java-Themen 2
B Listener dynamisch setzen Allgemeine Java-Themen 6
F Werte von Member-Variablen erst im Konstruktor setzen? Allgemeine Java-Themen 7
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
0 Timeout für Thread setzen? Allgemeine Java-Themen 2
MQue Objektvariablen setzen Allgemeine Java-Themen 3
MQue Button Attribute setzen Allgemeine Java-Themen 14
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
P JNI_CreateVM und -Xms –Xmx setzen Allgemeine Java-Themen 10
R Array komplett auf null setzen Allgemeine Java-Themen 10
B Choice setzen Allgemeine Java-Themen 5
O Environment Variable Setzen Allgemeine Java-Themen 2
TheJavaKid Focus für KeyListener setzen Allgemeine Java-Themen 5
D Position des Mauszeigers setzen! Allgemeine Java-Themen 3
S Odnericon neu setzen/auslesen etc. Allgemeine Java-Themen 2
G Konsoleneingabe: vordefinierte werte setzen? geht das? Allgemeine Java-Themen 4
foobar java.library.path Property setzen Allgemeine Java-Themen 5
Z Parallel Port, setzen der einzelnen Pins Allgemeine Java-Themen 4
C Setzen der Cursorposition Allgemeine Java-Themen 2
G Standard-Drucker mit Java setzen Allgemeine Java-Themen 4
T Classpath per Java Programm setzen Allgemeine Java-Themen 9
D jdic classpath setzen Allgemeine Java-Themen 2
S Grafiken/ImageIcon setzen Allgemeine Java-Themen 24
S File Encoding im Programm setzen? Allgemeine Java-Themen 3
clemson Umgebungsvariable setzen und lesen Allgemeine Java-Themen 9
F Verfügbaren Heap-Speicher setzen Allgemeine Java-Themen 2
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2
C Objekte null setzen? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben