logo

Comandament Chmod a Linux/Unix amb exemples

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:

    -R:Significa recursiu, és a dir, afegeix objectes als subdirectoris.-A:Significa verbose, visualitzar objectes modificats (els objectes no modificats no es mostren).

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:

    rwx:Els tres caràcters més a l'esquerra especifiquen permisos per al propietari del fitxer (és a dir, la classe d'usuari).r-x:Els tres caràcters del mig especifiquen permisos per al grup propietari del fitxer (és a dir, la classe del grup).---:Els tres caràcters més a la dreta especifiquen permisos per a la classe Other. Els usuaris que no són el propietari del fitxer ni els membres del grup no poden accedir al fitxer.

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:

Comandament chmod de Linux

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
Comandament chmod de Linux

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:

Comandament chmod de Linux

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.