Անցնել պարունակությանը

Օգտատերերի մուտքի թույլտվությունների կառավարում

Այս հոդվածում

Թույլտվություններ. Տեսակներ

Linux-ը օգտագործում է ճկուն թույլտվությունների համակարգ, որը օգնում է վերահսկել, թե ովքեր և ինչպես կարող են փոխազդել ֆայլերի և թղթապանակների հետ։ Սա զգալիորեն բարձրացնում է համակարգի անվտանգությունը։

Միայն root սուպերօգտատերն ունի ամբողջական վերահսկողություն համակարգի նկատմամբ, ինչի պատճառով root-ի օգտագործումը ամենօրյա խնդիրների համար համարվում է վտանգավոր. ցանկացած սխալ կարող է հանգեցնել լուրջ վնասի։ Սովորական օգտատերերը, ըստ լռելյայնի, կարող են աշխատել միայն իրենց տնային թղթապանակներում և չունեն համակարգային ֆայլերին մուտք, ինչը կանխում է պատահական կամ վնասակար փոփոխությունները։

Յուրաքանչյուր ֆայլի կամ թղթապանակի համար սահմանված են թույլտվությունների երեք տեսակ.

  • r (read) – կարդալ,
  • w (write) – գրել (պարունակությունը փոխել),
  • x (execute) – կատարել (ֆայլերի համար) կամ մուտք գործել (թղթապանակների համար)։

Այս թույլտվությունները կիրառվում են օգտատերերի երեք կատեգորիայի համար.

  1. Սեփականատեր (Owner) – ֆայլի սեփականատերը (սովորաբար ստեղծողը)։
  2. Խումբ (Group) – խմբում գտնվող օգտատերերի հավաքածու. նրանք ստանում են ֆայլի նկատմամբ ընդհանուր թույլտվություններ։
  3. Այլք (Others) – բոլոր մնացած օգտատերերը, ովքեր չեն մտնում առաջին երկու կատեգորիաների մեջ։

Յուրաքանչյուր կատեգորիա կարող է ունենալ իր անկախ թույլտվությունների հավաքածուն։

Թույլտվությունները արտահայտվում են երկու եղանակով.

  • Ալֆանումերիկ ձևաչափ. օրինակ՝ rwxr-xr--։
  • Թվային ձևաչափ. յուրաքանչյուր թույլտվություն կոդավորվում է որպես թիվ (կարդալ = 4, գրել = 2, կատարել = 1), և գումարը տալիս է վերջնական արժեքը։ Օրինակ՝ 7 = 4+2+1 = rwx։

Թվային արժեքը գրվում է սեփականատեր, խումբ, այլք հերթականությամբ։ Այսպիսով, 755 (rwxr-xr-x) նշանակում է.

  • Սեփականատերը կարող է կարդալ, գրել և կատարել (կամ մուտք գործել թղթապանակ)։
  • Բոլոր մյուսները կարողեն կարդալ և կատարել (կամ դիտել թղթապանակի պարունակությունը և մուտք գործել այն)։

Թույլտվությունների սովորական օրինակներ.

  • 600 (rw-------) – միայն սեփականատերը կարող է կարդալ և խմբագրել ֆայլը։
  • 644 (rw-r--r--) – սեփականատերը խմբագրում է. մյուսները կարող են միայն կարդալ։
  • 700 (rwx------) – ամբողջական մուտք միայն սեփականատիրոջ համար։
  • 755 (rwxr-xr-x) – սեփականատերը կարող է անել ամեն ինչ. մյուսները կարող են միայն դիտել և օգտագործել (կատարել ֆայլեր կամ մուտք գործել թղթապանակներ)։

Note

Հատուկ ուշադրություն դարձրեք թղթապանակների թույլտվություններին. օգտատիրոջը թույլ տալու համար ոչ միայն ֆայլերի ցուցակը, այլև դրանց բնութագրերը (օրինակ՝ չափսը կամ սեփականատերը) տեսնելու համար, նրան անհրաժեշտ է առնվազն կարդալ + կատարել r-x (այսինքն՝ 5) թույլտվություններ։ Միայն կարդալու r-- թույլտվությունը թույլ է տալիս տեսնել ֆայլերի անունները, բայց ոչ դրանց հատկությունները, և առանց կատարելու x թույլտվության նա չի կարող նույնիսկ cd հրամանով մուտք գործել թղթապանակ։

Թույլտվությունների կարգավորում

Թույլտվությունների կարգավորում SSH-ի միջոցով

Linux-ում ֆայլերի և թղթապանակների թույլտվությունները կառավարվում են chmod հրամանի միջոցով։ Դրա օգտագործման երկու հիմնական եղանակ կա։

Եղանակ 1. Թվային (բացարձակ) ռեժիմ

Այս եղանակով դուք անմիջապես սահմանում եք թույլտվությունների ամբողջական հավաքածուն բոլոր երեք օգտատերերի կատեգորիաների համար՝ սեփականատեր, խումբ և այլք՝ օգտագործելով երեք թվանիշ թիվ։

Հրամանի ձևաչափ.

chmod XXX օբյեկտի_անուն

Օրինակներ.

  • chmod 755 test.php – սեփականատերը ստանում է ամբողջական rwx իրավունքներ, մինչդեռ խումբը և այլք ստանում են միայն կարդալու և կատարելու (r-x) իրավունքներ։
  • chmod 644 test.php – սեփականատերը կարող է կարդալ և խմբագրել. մյուսները կարող են միայն կարդալ։
  • chmod 755 dir – նմանատիպ իրավունքներ թղթապանակի համար։

Թույլտվությունները կիրառելու համար ռեկուրսիվ կերպով բոլոր ֆայլերի և ենթաթղթապանակների նկատմամբ օգտագործեք -R դրոշակը.

chmod -R 755 *

Note

Օգտագործեք -R-ը զգուշությամբ. հրամանը կփոխի բոլոր պարունակությունների թույլտվությունները թղթապանակում, ներառյալ փոխկապակցված թղթապանակները և ֆայլերը։

Եղանակ 2. Սիմվոլային (հարաբերական) ռեժիմ

Այստեղ դուք փոխում եք միայն անհրաժեշտ թույլտվությունների մասը՝ չժամանակավորելով մնացածը։ Սա հարմար է փոքր ճշգրտումների համար։

Հրամանի ձևաչափ.

chmod [կատեգորիա][գործողություն][թույլտվություններ] օբյեկտի_անուն

Կատեգորիաներ.

  • u – սեփականատեր (օգտատեր)
  • g – խումբ
  • o – այլք
  • a – բոլորը

Գործողություններ.

  • + – ավելացնել թույլտվություն
  • - – հեռացնել թույլտվություն
  • = – սահմանել ճշգրիտ արժեք (հեռացնելով մյուսները)

Թույլտվությունները նշվում են որպես r, w, x (օրինակ՝ rx, ոչ թե r-x

Օրինակներ.

  • chmod g+rx test.php – խմբին թույլ տալ կարդալ և կատարել ֆայլը։
  • chmod g-w test.php – խմբին մերժել գրելու մուտք։
  • chmod o-rw test.php – հեռացնել կարդալու և գրելու թույլտվությունները այլոց համար։
  • chmod go+rx dir1 – խմբին և այլոց տալ թույլտվություն դիտելու և մուտք գործելու թղթապանակ։
  • chmod -R go+r new_directory – ռեկուրսիվ կերպով խմբին և այլոց թույլ տալ կարդալ բոլոր ֆայլերը և թղթապանակները new_directory-ի ներսում։

Այս եղանակն ավելի ճկուն և անվտանգ է, հատկապես երբ կարևոր է չխաթարել գոյություն ունեցող թույլտվությունները։

Թույլտվությունների կարգավորում FTP հաճախորդի միջոցով

Թույլտվությունների փոփոխումը և սահմանումը նույնպես շատ հարմար է FTP հաճախորդի միջոցով։ Եկեք դիտարկենք գործընթացը՝ օգտագործելով անվճար FileZilla հաճախորդը։

  1. Կապվեք սերվերի հետ և ընտրեք ցանկալի ֆայլը կամ թղթապանակը։
  2. Սեղմեք աջ կոճակով և ընտրեք File Permissions… ընտրացանկից։
  3. Սահմանեք անհրաժեշտ թույլտվությունները։

Ընթացիկ թույլտվությունների դիտում

Սահմանված թույլտվությունները դիտելու համար օգտագործեք ls հրամանը։

Ընթացիկ թղթապանակում ֆայլերի թույլտվություններ.

username@server:~/my_directory$ ls -l

Մասնավոր ֆայլի կամ թղթապանակի թույլտվություններ (օրինակ՝ text.doc կամ dir1).

ls -l text.doc
ls -l dir1

Ընթացիկ թղթապանակի բոլոր փոխկապակցված ենթաթղթապանակներում ֆայլերի թույլտվություններ.

ls -Rl

Note

Մի փակեք ընթացիկ SSH նիստը, մինչև համոզված չեք, որ նորը աշխատում է։ Այլապես, դուք կարող եք կորցնել սերվերին մուտքը։

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×