Vraag 'chmod u + x' versus 'chmod + x'


Wat is het verschil tussen chmod u+x en gewoon chmod +x? Ik heb heel wat tutorials gezien die zeggen om u + x te gebruiken om scripts uitvoerbaar te maken. echter, de u wordt niet vermeld in de chmod help of handleiding. Het weglaten van de u lijkt ook geen effect te hebben. Is het gewoon een verouderd argument? Bedankt.


91
2018-03-08 22:30


oorsprong




antwoorden:


De manpagina van chmod dekt dat.

  • u staat voor gebruiker.
  • g staat voor groep.
  • O staat voor anderen.
  • een staat voor alles.

Dat betekent dat chmod u+x somefile verleent alleen de eigenaar van die bestandsuitvoeringrechten chmod +x somefile is hetzelfde als chmod a+x somefile.

De chmod man-pagina zegt:

Het formaat van een symbolische modus is    [ugoa...][[+-=][rwxXstugo...]...][,...].   Meerdere symbolische bewerkingen kunnen zijn   gegeven, gescheiden door komma's.

Een combinatie van de letters 'ugoa'   bepaalt welke gebruikers toegang hebben tot de   bestand wordt gewijzigd: de gebruiker die   bezit het (u), andere gebruikers in de bestanden   groep (g), andere gebruikers niet in de   bestandsgroep (o), of alle gebruikers (a). Als   geen van deze wordt gegeven, het effect is   alsof 'a' werd gegeven, maar dat stuk   in de umask zijn ingesteld, worden niet beïnvloed.


124
2018-03-08 22:33



Ik heb een kleine vraag, wat is het verschil tussen een + x en laten we zeggen 111. Het maakt beide uitvoerbaar - TheBro21
Dat komt omdat 1 de octale notatie is die staat voor de execute permissie. 111 betekent uitvoerbaar voor gebruiker, groep en andere. - Octavian Damiean
Geweldig schoon antwoord - m4heshd
Het umask-effect is belangrijk, maken chmod +x file anders dan chmod a+x file - zie Ravexina's antwoord voor details. - Cinnam


Gewoon doen +x zal het op alle vlaggen toepassen: [u] ser, [g] roup, [o] thers.

Type man chmod voor meer informatie.


19
2018-03-08 22:34



Ik beloof dat ik eerst de handleiding heb gecontroleerd, maar ik heb het niet gezien sinds ik de beschrijving heb overgeslagen en naar de opties ben gesprongen. Ik zie ze nu echter :-) - schwiz


chmod u+x zal het bestand uitvoerbaar maken voor uw gebruiker (het zal het alleen voor uw gebruiker toevoegen, hoewel het al uitvoerbaar is voor de groepseigenaar, of "andere").

chmod +x of chmod a+x ('alle plus uitvoerbare bit') maakt het bestand uitvoerbaar voor iedereen.

Als u dit naar een map doet, wordt de map in plaats daarvan doorzoekbaar. Dat wil zeggen, u kunt de inhoud van een directory waarop u + x toestemming hebt weergeven.


7
2018-03-08 22:51



sorry maar dit ding werkte ook niet voor mij. Ik heb het met sudo geprobeerd en het werkte niet op mijn computer. askubuntu.com/questions/178231/how-to-set-permission-in-ubuntu - Anirudha Gupta
@AnkitGupta Ik weet niet zeker wat je zegt. Mijn opmerking was niet bedoeld om een ​​probleem in een andere vraag en antwoord op te lossen. Probeer in plaats daarvan om verduidelijking van de antwoorden te vragen. Bewerk je vraag om te zeggen wat je hebt geprobeerd. Toon de uitvoer. - belacqua


  • chmod u+x file betekent dat het uitvoerbare bit wordt toegevoegd aan de eigenaar van het bestand terwijl het wordt genegeerd umask (Uw mod zal worden ingesteld, geen vraag).

  • chmod +x file betekent dat u het uitvoerbare bit toevoegt aan de eigenaar, groep en anderen terwijl u het umask (Controleer eerst met umask pas dan de mods toe, het kan verschillende effecten hebben op basis van de waarde van umask).


laten we twee bestanden maken:

$ touch file1 file2
$ ls -l file1 file2
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:45 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:45 file2

Nu heb ik de umask naar "111" om uitvoerbare bits te verwijderen: umask 111.

$ chmod u+x file1
$ chmod  +x file2
$ ls -l file1 file2
-rwxrw-rw- 1 ravexina ravexina 0 Aug  5 01:47 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:47 file2

Zoals je kunt zien chmod negeerde de umask en het bestand1 kreeg een uitvoerbaar bit voor de eigenaar, maar de tweede deed niets omdat het de waarde van umask's in overweging neemt.


1
2017-08-04 21:21