×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    Chmod: Difference between revisions

    Content added Content deleted
    imported>DrOwl
    No edit summary
    imported>mutante
    mNo edit summary
     
    (10 intermediate revisions by 3 users not shown)
    Line 1: Line 1:
    A [[Unix]]/[[Linux]] [[shell]] command to change [[file permissions]].

    <man>chmod</man>

    ----

    <pre>
    Chmod
    Chmod


    Line 7: Line 14:
    G= group
    G= group
    O= owner
    O= owner
    A=all
    A= all


    Or Chmod xxx filename
    Or Chmod xxx filename
    Line 20: Line 27:
    User can Read 4
    User can Read 4
    Write +2
    Write +2
    Execute +1
    Execute +1
    =7
    =7


    Line 26: Line 33:


    Everyone can Read 4
    Everyone can Read 4

    </pre>


    Wenn 4 Zahlen benutzt werden können noch weitere Sonderrecht vergeben werden.

    Auch hier wird 1+2+4 addiert. 1 für "Rest der Welt", 2 für "Gruppe" und 4 für "Besitzer".


    '''Substitute UserID Bit (SUID)''' "Wert": 4 - Besitzer

    Dieses Recht gilt ausschließlich für ausführbare Dateien. Hat eine ausführbare Datei dieses Recht gesetzt, so erscheint in der Darstellung durch das ls -l Kommando statt dem x beim Eigentümerrecht ein s. Jeder User, der dieses Programm ausführt, tut dies unter der effektiven UserID des Users, dem die Datei geh?rt.

    $ chmod 4755 test
    $ ls -lha test
    -rwsr-xr-x 1 took took 0 Mär 15 23:20 test*



    '''Substitute GroupID Bit (SGID)''' "Wert": 2 - Gruppe

    Dieses Recht gilt einerseits für ausführbare Dateien und andererseits für Verzeichnisse. Hat ein ausführbares Programm dieses Recht gesetzt, so gilt der gleiche Mechanismus, wie beim Substitute UserID Bit, nur diesmal eben die Gruppenmitgliedschaft betreffend. Ein User, der dieses Programm ausführt, tut dies als Gruppenmitglied der Gruppe, der das Programm gehört, statt seiner eigentlichen Gruppenkennung. Er hat also die Rechte eines Gruppenmitglieds dieser Gruppe.

    $ ls -lha test
    -rwxr-sr-x 1 took took 0 Mär 15 23:20 test*

    Hat ein Verzeichnis dieses Recht gesetzt, dann liegt der Fall etwas anders. Legt ein User, der Schreibrecht auf ein Verzeichnis hat, in diesem Verzeichnis eine Datei an, so erh?lt diese Datei normalerweise die Gruppenmitgliedschaft der prim?ren Gruppe des Users, der sie eben angelegt hat. Das f?hrt schnell zum Chaos, wenn z.B. mehrere User zusammen an einem Projekt arbeiten. Alle diese User sind Gruppenmitglieder einer bestimmten Gruppe, aber sie haben diese...?!?! hundfred: pls continue



    '''T''' "Wert": 1 -rest der Welt

    da steht dann t bzw T.. wat dat bedeutet... wissema noch nich

    $ chmod 1755 test
    $ ls -lha test
    -rwxr-xr-t 1 took took 0 Mär 15 23:20 test*
    $ chmod 1754 test
    $ ls -lha test
    -rwxr-xr-T 1 took took 0 Mär 15 23:20 test*


    Absolute modes are octal numbers specifying the complete list of attributes for the files; you specify attributes by OR'ing together these bits.

    <pre>
    01000000 temporary file
    02000000 compressed file
    04000000 sparse file
    4000 Hidden file (setuid bit)
    2000 System file (setgid bit)
    1000 Archive bit (sticky bit)
    0400 Individual read
    0200 Individual write
    0100 Individual execute (or list directory)
    0040 Group read
    0020 Group write
    0010 Group execute
    0004 Other read
    0002 Other write
    0001 Other execute
    </pre>

    See also: [[POSIX_ACL]]

    [[Category:Computer]]
    [[Category:Linux]]

    Latest revision as of 21:07, 5 May 2006

    A Unix/Linux shell command to change file permissions.

    <man>chmod</man>


    Chmod
    
    Chmod ugoa =+- rwx filename
    
    	WHO		
    	U= user		
    	G= group
    	O= owner
    	A= all
    
    Or Chmod xxx filename
    
    	R = 4		Read
    	W = 2		Write
          	X = 1		Execute
    
    
    Ie Chmod 744 file.ksh
    
    	User can 	Read 		4
    			Write 		+2
    			Execute	        +1
    					=7
    
    	Group can 	Read		4
    
    	Everyone can	Read		4
    
    


    Wenn 4 Zahlen benutzt werden können noch weitere Sonderrecht vergeben werden.

    Auch hier wird 1+2+4 addiert. 1 für "Rest der Welt", 2 für "Gruppe" und 4 für "Besitzer".


    Substitute UserID Bit (SUID) "Wert": 4 - Besitzer

    Dieses Recht gilt ausschließlich für ausführbare Dateien. Hat eine ausführbare Datei dieses Recht gesetzt, so erscheint in der Darstellung durch das ls -l Kommando statt dem x beim Eigentümerrecht ein s. Jeder User, der dieses Programm ausführt, tut dies unter der effektiven UserID des Users, dem die Datei geh?rt.

    $ chmod 4755 test
    $ ls -lha test
    -rwsr-xr-x  1 took took 0 Mär 15 23:20 test*
    


    Substitute GroupID Bit (SGID) "Wert": 2 - Gruppe

    Dieses Recht gilt einerseits für ausführbare Dateien und andererseits für Verzeichnisse. Hat ein ausführbares Programm dieses Recht gesetzt, so gilt der gleiche Mechanismus, wie beim Substitute UserID Bit, nur diesmal eben die Gruppenmitgliedschaft betreffend. Ein User, der dieses Programm ausführt, tut dies als Gruppenmitglied der Gruppe, der das Programm gehört, statt seiner eigentlichen Gruppenkennung. Er hat also die Rechte eines Gruppenmitglieds dieser Gruppe.

    $ ls -lha test
    -rwxr-sr-x  1 took took 0 Mär 15 23:20 test*
    

    Hat ein Verzeichnis dieses Recht gesetzt, dann liegt der Fall etwas anders. Legt ein User, der Schreibrecht auf ein Verzeichnis hat, in diesem Verzeichnis eine Datei an, so erh?lt diese Datei normalerweise die Gruppenmitgliedschaft der prim?ren Gruppe des Users, der sie eben angelegt hat. Das f?hrt schnell zum Chaos, wenn z.B. mehrere User zusammen an einem Projekt arbeiten. Alle diese User sind Gruppenmitglieder einer bestimmten Gruppe, aber sie haben diese...?!?! hundfred: pls continue


    T "Wert": 1 -rest der Welt

    da steht dann t bzw T.. wat dat bedeutet... wissema noch nich

    $ chmod 1755 test
    $ ls -lha test
    -rwxr-xr-t  1 took took 0 Mär 15 23:20 test*
    $ chmod 1754 test
    $ ls -lha test
    -rwxr-xr-T  1 took took 0 Mär 15 23:20 test*
    


    Absolute modes are octal numbers specifying the complete list of attributes for the files; you specify attributes by OR'ing together these bits.

        01000000  temporary file
        02000000  compressed file
        04000000  sparse file
        4000      Hidden file (setuid bit)
        2000      System file (setgid bit)
        1000      Archive bit (sticky bit)
        0400      Individual read
        0200      Individual write
        0100      Individual execute (or list directory)
        0040      Group read
        0020      Group write
        0010      Group execute
        0004      Other read
        0002      Other write
        0001      Other execute
    

    See also: POSIX_ACL

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.