Kaip įdiegti „chmod“ aplankui ir visiems jo poaplankiams ir failams „Linux Ubuntu Terminal“?

Ar yra būdas įdiegti chmod 755 /opt/lampp/htdocs ir visą jo turinį, įskaitant poaplankius ir failus?

Be to, ateityje, jei htdocs naują aplanką ar failą htdocs viduje, kaip aš galiu automatiškai nustatyti 755 ?

Tai veikia, bet tik šiam aplankui:

 chmod 775 /opt/lampp/htdocs 
1101
18 сент. Adomas yra nustatytas rugsėjo 18 d. 2010-09-18 05:31 '10, 5:31 val. 2010-09-18 05:31
@ 16 atsakymų

Kiti atsakymai yra teisingi, nes chmod-R 755 nustatys šį leidimą visiems medžio failams ir aplankams. Bet kodėl tu nori ? Tai gali būti prasminga katalogams, bet kodėl nustatyti visų failų vykdymo bitą?

Įtariu, kad tikrai norite nustatyti katalogus į 755 ir palikti failus arba palikti juos 644. Norėdami tai padaryti, galite naudoti find . Pavyzdžiui:

Norėdami pakeisti visus katalogus į 755 ( drwxr-xr-x ):

 find /opt/lampp/htdocs -type d -exec chmod 755 {} \; 

Norėdami pakeisti visus failus į 644 ( -rw-r--r-- ):

 find /opt/lampp/htdocs -type f -exec chmod 644 {} \; 
1957 m
16 июля '12 в 23:42 2012-07-16 23:42 atsakymą pateikė WombleGoneBad liepos 16 d. 12 val. 23:42 2012-07-16 23:42

Patikrinkite -R parinktį

chmod -R <permissionsettings> <dirname>

Ateityje galite sutaupyti daug laiko, pirmiausia patikrindami „Man“ puslapį:

border=0
 man <command name> 

Taigi, šiuo atveju:

 man chmod 
571
18 сент. Atsakymą pateikė Steve Robillard 18 sep . 2010-09-18 05:36 '10, 5:36 val. 2010-09-18 05:36

Jei norite nustatyti visų failų teises į a+r ir visus katalogus į a+x ir atlikite rekursyviai per visą katalogų medį, naudokite:

 chmod -R a+rX * 

X (t.y., X kapitalas, o ne mažas X !) Nepaisoma failų (jei jie dar nėra įvykdyti), bet naudojami katalogams.

251
31 янв. Atsakymas duotas Pete sausio 31 d 2013-01-31 23:39 '13, 11:39, 2013-01-31 23:39

-R su chmod galite naudoti rekursiškai perkelti visus failus ir poaplankius.

Jums gali prireikti sudo, nes tai priklauso nuo LAMP , kurį nustato dabartinis vartotojas arba kiti:

 sudo chmod 755 -R /opt/lampp/htdocs 
82
19 апр. Atsakymas pateikiamas gydymo ranjan 19 balandžio. 2014-04-19 18:43 '14, 18:43, 2014-04-19 18:43

Jei norite nustatyti visus poaplankius (rekursyviai), naudokite -R

 chmod 755 /folder -R 

Ir naudokite umask, kad nustatytumėte naujų aplankų / failų cd / folder umask 755 Strike> numatytąją reikšmę

60
18 сент. Atsakymas pateikiamas Topera, rugsėjo 18 d. 2010-09-18 05:35 '10, 5:35 val. 2010-09-18 05:35

chmod 755 -R /opt/lampp/htdocs rekursyviai nustatys teises. Negalima automatiškai nustatyti leidimų failams tik šiame kataloge, kuris sukuriamas po leidimų nustatymo, tačiau galite keisti numatytuosius leidimus visai sistemai nustatydami umask 022 .

40
18 сент. Atsakymas suteikiamas „ sleepynate“ 18 sep . 2010-09-18 05:38 '10, 5:38, 2010-09-18 05:38

Galbūt norėsite apsvarstyti šį „nik“ atsakymą super naudotojui ir naudoti „one chmod“ visiems failams / aplankams, pvz .:

 chmod 755 $(find /path/to/base/dir -type d) chmod 644 $(find /path/to/base/dir -type f) 
19
27 февр. atsakymą pateikė Iam Zesh , vasario 27 d. 2013-02-27 09:42 '13 ne 9:42 2013-02-27 09:42

Čia yra dar vienas būdas nustatyti 775 katalogus ir 664 failus.

 find /opt/lampp/htdocs \ \( -type f -exec chmod ug+rw,o+r {} \; \) , \ \( -type d -exec chmod ug+rwxs,o+rx {} \; \) 

Tai gali atrodyti ilgai, tačiau tai yra gana kieta dėl trijų priežasčių:

  • Patikrina failų sistemą tik vieną kartą, o ne du kartus.
  • Teikia geresnę tvarką, kaip tvarkomi failai ir kaip tvarkomi katalogai. Tai naudinga dirbant su specialiais režimais , pvz., Lipniaisiais bitais , kuriuos tikriausiai norite taikyti katalogams, bet ne failams.
  • Naudoja techniką tiesiai nuo man puslapių (žr. Žemiau).

Atkreipkite dėmesį, kad nepatvirtinau veiklos skirtumo (jei toks yra) tarp šio sprendimo ir paprasčiausiai padedant dviem paieškos komandomis (kaip Peterio Mortenseno sprendime). Tačiau, matant panašų pavyzdį vadove, tai yra vilčių.

man find puslapio pavyzdys:

 find / \ \( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \ \( -size +100M -fprintf /root/big.txt %-10s %p\n \) Traverse the filesystem just once, listing setuid files and direc‐ tories into /root/suid.txt and large files into /root/big.txt. 

Sveikinimai

17
17 нояб. Atsakymą pateikė chrisfargen lapkričio 17 d. 2013-11-17 08:47 '13, 08:47, 2013-11-17 08:47

Teisinga rekursinė komanda:

 sudo chmod 755 -R /opt/lampp/htdocs 

-R : pakeiskite kiekvieną poaplankį, įskaitant dabartinį aplanką

16
18 сент. atsakymą pateikė Pramendra Gupta 18 sep . 2010-09-18 05:40 '10, 5:40 val. 2010-09-18 05:40

Naudoti:

 sudo chmod 755 -R /whatever/your/directory/is 

Tačiau būkite atsargūs. Tai gali pakenkti jums, jei pakeisite neteisingų failų / aplankų teises.

15
18 сент. Atsakymą pateikė Nate Starner 18 sep . 2010-09-18 05:37 '10, 5:37, 2010-09-18, 05:37

chmod -R 755 directory_name veikia, bet kaip išsaugotumėte naujus failus į 755? Failų leidimai tampa numatytomis teisėmis.

10
30 апр. Atsakymas duotas Sanchit Gupta 30 Bal. 2014-04-30 03:22 '14, 3:22 2014-04-30 03:22

Norite, kad atitinkami failai ir katalogai būtų jiems tinkami. Visiems norimiems katalogams

 find /opt/lampp/htdocs -type d -exec chmod 711 {} \; 

Ir visiems vaizdams, „javascript“, „css“, „html“, jūs neturite jų vykdyti. Todėl naudokite

 chmod 644 img/* js/* html/* 

Bet visam logikos kodui (pvz., PHP kodui) turite nustatyti teises, kad vartotojas negalėtų matyti šio kodo:

 chmod 600 file 
9
12 янв. NikolaiDante atsakymas sausio 12 d 2014-01-12 07:03 '14, 7:03, 2014-01-12 07:03

Mac X 10.7 (liūtas):

 chmod -R 755 /directory 

Ir taip, kaip kiti sako, būkite atsargūs.

6
10 июля '12 в 12:33 2012-07-10 12:33 atsakymas pateikiamas wmartin liepos 10 d. 12:33 2012-07-10 12:33

Manau, kad Adomas paklausė, kaip pakeisti umask reikšmę visiems procesams, /opt/lampp/htdocs su darbu, /opt/lampp/htdocs .

Naudotojo failo kūrimo režimo kaukė (umask) naudojama naujai sukurtų failų leidimui nustatyti. Jis gali būti naudojamas tvarkyti numatytuosius failų leidimus naujiems failams.

taigi, jei naudosite tam tikrą ftp programą failams įkelti į /opt/lampp/htdocs , turite nustatyti ftp serverį, kad galėtumėte naudoti norimą umask.

Jei sukuriami failai / katalogai, pvz., Php, turite pakeisti php kodą

 <?php umask(0022); // other code ?> 

Jei sukuriate naujus failus / aplankus iš savo „bash“ sesijos, galite nustatyti „umask“ vertę savo ~ / .bashrc apvalkalo profiliui, arba galite konfigūruoti umask failą /etc/bashrc arba /etc/profile visiems vartotojams. į failą pridėkite: umask 022

 Sample umask Values and File Creation Permissions If umask value set to User permission Group permission Others permission 000 all all all 007 all all none 027 all read / execute none 

Jei norite pakeisti jau sukurtų failų leidimus, galite naudoti paiešką. Tikiuosi, kad tai padės.

5
07 янв. atsakymas pateikiamas Viktorui 07 Jan 2014-01-07 14:39 '14, 14:39, 2014-01-07 14:39

Yra du atsakymai, kaip rasti failus ir taikyti jiems chmod . Pirmasis yra find failą ir naudoti chmod kaip jis aptinkamas (kaip pasiūlė @WombleGoneBad).

 find /opt/lampp/htdocs -type d -exec chmod 755 {} \; 

Antrasis sprendimas - sukurti visų failų sąrašą, naudojant find ir pateikti šį sąrašą chmod (kaip siūlė @lamgesh).

 chmod 755 $(find /path/to/base/dir -type d) 

Abi šios versijos veikia gerai, jei failų, kuriuos sugrąžino komanda „ find yra nedidelis. Antrasis sprendimas atrodo puikiai ir sklandžiai nei pirmasis. Jei yra daug failų, antrasis sprendimas grąžina klaidą: Argument list too long.

Taigi, mano pasiūlymas

  • Jei norite iš karto pakeisti visų failų ir katalogų leidimus, naudokite chmod -R 755 /opt/lampp/htdocs .
  • Naudokite find /opt/lampp/htdocs -type d -exec chmod 755 {} \; jei naudojamų failų skaičius yra labai didelis. -type x parinktis ieško tik tam tikro failo tipo, kur d yra naudojamas ieškoti katalogo, f failui ir l - nuorodai.
  • Naudokite chmod 755 $(find /path/to/base/dir -type d) kitaip
  • Geriau naudoti pirmąją bet kurioje situacijoje.
3
29 июля '13 в 13:47 2013-07-29 13:47 atsakymą pristato „ Prabhu “ liepos 13 d., 13 val. 13:47 2013-07-29 13:47

Tai labai paprasta.

Terminale eikite į failų tvarkyklę. Pavyzdys: sudo nemo . Spustelėkite /opt/ , tada spustelėkite Ypatybės → Raiška . ir tada kitas . Galiausiai, pakeiskite kūrimą ir ištrynimą bei acess failą, kad jį skaitytumėte ir rašytumėte, ir spustelėkite mygtuką Taikyti ... Ir dirbti.

3
Atsakymą pateikia „ Debian“. 2014-06-16 12:34 Birželio 16 d. 14, 12:34 2014-06-16 12:34

Kiti klausimai apie „ žymes arba Užduoti klausimą