L'ordre chmod de Linux s'utilitza per canviar els permisos d'accés dels fitxers i directoris. Significa canviar de mode . No es pot canviar el permís dels enllaços simbòlics. Fins i tot, ignora els enllaços simbòlics que es troben amb el recorregut recursiu del directori.
En el Linux sistema de fitxers, cada fitxer està associat a un propietari particular i té permís d'accés per a diferents usuaris. Les classes d'usuari poden ser:
- propietari
- membre del grup
- Altres (tots els altres)
Els permisos de fitxers a Linux són els tres tipus següents:
- llegir (r)
- escriure (w)
- executar (x)
Breu història de Chmod
Primer, l'ordre chmod es representa a la versió 1 d'AT&T UNIX amb la crida al sistema chmod. Les llistes de control d'accés es van incloure en diversos sistemes de fitxers a la inclusió d'aquests modes més comuns per millorar la flexibilitat perquè els sistemes van créixer en tipus i en nombre d'usuaris.
La versió chmod disposada a GNU coreutils va ser especificada per Jim Meyering i David MacKenzie. Aquesta ordre està present com un paquet aïllat per a Microsoft Windows com a element de la col·lecció de ports Win32 nativa d'UnxUtils d'utilitats bàsiques semblants a GNU Unix. A més, l'ordre chmod s'ha enviat al sistema operatiu IBM i.
Vegem com canviar el permís del fitxer mitjançant l'ordre chmod.
Sintaxi:
codi gris
La sintaxi bàsica de l'ordre chmod és la següent:
chmod
Les opcions generalment implementades són:
L'objecte objectiu es veu influenciat si s'esmenta un enllaç simbòlic. Normalment no s'utilitzen els modes de fitxer relacionats amb els enllaços simbòlics.
El component principal del permís chmod:
Per exemple, rwxr-x---
Tots els grups de tres caràcters especifiquen permisos per a totes les classes:
Opcions:
L'ordre chmod admet les opcions de línia d'ordres següents:
-c, --canvis: És similar a l'opció detallada, però la diferència és que s'informa si s'ha fet un canvi.
-f, --silent, --quiet: S'utilitza per suprimir els missatges d'error.
exemple de java hola món
-v, --verbós: S'utilitza per mostrar un diagnòstic per a cada fitxer processat.
--no-preserve-root: S'utilitza per no tractar el símbol de barra invertida ('/'), especialment (el predeterminat).
--preserve-root: Si s'utilitza aquesta opció, no funcionarà de manera recursiva a la barra invertida ('/').
--reference=RFILE: S'utilitza per especificar el mode del RFILE o els valors del MODE.
-R, --recursiu: S'utilitza per canviar fitxers i directoris de manera recursiva.
--ajuda: S'utilitza per mostrar el manual d'ajuda amb una breu descripció de l'ús i les opcions de suport.
--versió: S'utilitza per mostrar la informació de la versió.
Sintaxi de permisos de fitxer
Si sou un usuari nou, és possible que us confongueu amb els diferents tipus de lletres que s'utilitzen per establir el permís del fitxer. Per tant, abans de continuar amb l'ordre chmod, entenem la sintaxi dels permisos del fitxer.
Per establir el permís d'un fitxer o directori, hem d'especificar les coses següents:
- Qui: Qui som. (usuari)
- Què: quin canvi farem (com ara afegir o eliminar el permís)?
- Quin: quin dels permisos?
La declaració de permís es representa en indicadors com u+x, u-x. On 'u' significa 'usuari', '+' significa afegir, '-' significa eliminar, 'x' significa executable (que).
com trobar la mida del monitor
El valor d'usuari pot ser:
u: el propietari del fitxer
g: membre del grup
o: altres
a: tots
Els tipus de permisos poden ser r, w i x.
Configuració i actualització dels permisos
Per establir el permís d'un fitxer, executeu una instrucció de permís amb l'ordre chmod. Per exemple, volem establir el permís de lectura i escriptura per a tots els usuaris i grups del fitxer 'Demo.txt'. Hem de passar la declaració de permís 'u=rw,go=rw Demo.txt' amb l'ordre chmod. Per mostrar el permís del fitxer, executeu l'ordre següent:
ls -l Demo.txt
L'ordre anterior mostrarà el permís de fitxer actual del fitxer 'Demo.txt'.
Per canviar el permís, executeu l'ordre següent:
chmod u=rw,go=rw Demo.txt
Considereu la sortida següent:
A partir de la sortida anterior, el permís d'accés de 'Demo.txt' ha canviat.
Configuració de permisos per a diversos fitxers
Podem establir el permís per a diversos fitxers alhora mitjançant l'ordre chmod. Per canviar el permís de fitxer de diversos fitxers, especifiqueu el patró de fitxer amb l'ordre chmod. Per exemple, si volem establir el permís de lectura i escriptura per a tots els fitxers de text, especifiqueu el *. patró txt amb l'ordre chmod.
Per veure el permís de tots els fitxers de text del directori de treball actual, executeu l'ordre següent:
ls -l *.txt
Llistarà tots els fitxers de text amb el seu mode de permís. Considereu la sortida següent:
1 milió quants 0
A partir de la sortida anterior, molts fitxers només tenen permís de lectura per a altres usuaris.
Per establir el permís de lectura i escriptura per a altres usuaris, executeu l'ordre següent:
chmod o+w *.txt
Establirà el permís de lectura i escriptura per a altres usuaris dels fitxers de text. Considereu la sortida següent:
Taquigrafia numèrica
Podem utilitzar els valors numèrics en comptes de lletres per especificar els permisos. S'utilitza un valor de tres dígits per especificar el permís. El dígit de l'esquerra representa el propietari (u) i el dígit del mig representa els membres del grup (g). El dígit més a la dreta representa els altres (o).
La taula següent representa els dígits i els seus permisos:
Dígits | Permisos |
---|---|
000 | Sense permís |
001 | Executar el permís |
010 | Permís d'escriure |
011 | Escriure i executar permisos |
100 | Permís de lectura |
101 | Permisos de lectura i execució |
110 | Permisos de lectura i escriptura |
111 | Permisos de lectura, escriptura i execució |
Modes simbòlics
A més, l'ordre chmod accepta la notació simbòlica més fina, que permet canviar modes específics. El mode simbòlic consta de tres elements, que es combinen per formar una única cadena de text:
$ chmod [references] [operator] [modes] file...
El programa chmod aplica un operador per definir com s'han d'organitzar els modes de fitxer. Els operadors següents estan aprovats:
Operador | Descripció | |
---|---|---|
+ | Afegeix el descrit a les classes descrites. | |
- | Elimina el mode descrit de les classes descrites. | |
= | Representa que els modes descrits s'han de crear els mateixos modes per a les classes descrites. |
Els modes representen quins permisos s'eliminaran o s'atorgaran de les classes descrites. Hi ha principalment tres modes comuns relacionats amb els permisos comuns:
Nom | Mode | Descripció |
---|---|---|
llegir | r | Llegeix un fitxer o enumera el contingut d'un directori. |
escriure | En | Escriu en un directori o fitxer. |
executar | x | Recorre un arbre de directoris o executa un fitxer. |
execució especial | X | No és permís, sinó que es pot utilitzar en lloc de x. Utilitza els permisos d'execució per als directoris malgrat els seus permisos actuals i utilitza els permisos d'execució per a un fitxer que té almenys un bit de permisos d'execució establert. És útil si s'utilitza amb l'operador '+' i sense establir el permís d'execució, que passaria si acabéssim d'utilitzar chmod -R a+rx ., mentre que podem implementar chmod -R a+rx . amb x més aviat. |
Es poden descriure múltiples modificacions aïllant diversos modes simbòlics juntament amb comes. L'ordre chmod inspeccionarà umask si no s'especifica un usuari.
Modes especials
A més, l'ordre chmod pot canviar els modes especials i els permisos addicionals d'un directori o fitxer. Els modes simbòlics apliquen 's' per indicar els modes setgid i setuid i 't' per indicar el mode enganxós. Un mode només s'utilitza per a les classes correctes, malgrat que es mencionin altres classes o no.
Gairebé tots els sistemes operatius admeten numèricament l'especificació del mode especial, concretament en octal, però alguns no ho fan. A aquests sistemes només es poden aplicar els modes simbòlics.
Alguns exemples de la línia d'ordres:
Comandament | Descripció |
---|---|
chmod a+r publicComments.txt | Afegirà el permís de lectura per a cada classe (és a dir, Grup, Propietari i Altres). |
chmod a-x publicComments.txt | Eliminarà el permís d'execució per a cada classe. |
chmod a+rx viewer.sh | Afegirà els permisos d'execució i lectura per a cada classe. |
chmod u=rw, g=r, o=internalPlan.txt | Establirà els permisos d'escriptura i lectura per a l'usuari, ser de lectura per al grup i rebutjar l'accés per als altres. |
chmod -R u+w, go-w docs | Inclourà el permís d'escriptura als documents del directori i cadascun dels seus continguts per al propietari i suprimirà el permís d'escriptura per als altres i el grup. |
chmod i=rw groupAgreements.txt | Establirà els permisos d'escriptura i lectura per al grup i l'usuari. |
chmod 664 global.txt | Establirà els permisos d'escriptura i lectura per al grup i l'usuari i donarà el permís de lectura a Altres. |
chmod 744 Show_myCV.sh | Establirà els permisos d'execució, escriptura i lectura per a l'usuari i donarà permís de lectura a Grup i altres. |