Որոնման թույլտվություն յուրաքանչյուր պանակում մինչև բանալին
Բանալին կարող է 0600 լինել և այնուամենայնիվ հրաժարվել բացվելուց, երբ ծնող պանակը արգելափակում է անցումը։ Անցեք ամբողջ ուղին որպես ծառայության հաշիվ մինչև ցանկացած ռեժիմ փոխելը։
0600 ռեժիմը և ճիշտ սեփականատերը չեն երաշխավորում, որ ծառայությունը կկարողանա բացել բանալին։ Բացակայող թույլտվությունը սովորաբար գտնվում է դրա վերևում գտնվող պանակում։ Linux-ը լուծում է ուղին մեկ բաղադրիչով մեկ անգամ, և յուրաքանչյուր քայլ պահանջում է որոնման թույլտվություն մինչև հաջորդի փորձը։ Կարդացեք ամբողջ ուղին, ոչ թե ցանկի վերջին տողը։
Կարդալու թույլտվությունը վերջին քայլն է, ոչ թե միակը
Ֆայլ բացելու համար միջուկը պետք է արմատից կամ աշխատանքային պանակից անցնի ուղու յուրաքանչյուր բաղադրիչով։ Որոնման թույլտվություն չունեցող պանակը կանգնեցնում է այդ անցումը թույլտվության սխալով։ Ֆայլի սեփական ռեժիմը երբեք չի դիտարկվում, այդ պատճառով լիովին ընթեռնելի բանալին անընթեռնելի է թվում։ Սխալը հաճախ գալիս է բացման պահին՝ չնշելով պանակը, և դրա համար մեղադրվում է վերջին ֆայլը։
Պանակի համար կատարման բիտը նշանակում է որոնում, ոչ թե բովանդակության կատարում։ Բանալին մնում է տվյալ, և այս վերանորոգման ոչ մի մաս չի պահանջում այն նշել որպես կատարվող։
Անցեք ուղին որպես ծառայության հաշիվ
Թվարկեք յուրաքանչյուր բաղադրիչ իր սեփականատիրոջ և ռեժիմի հետ, ապա կրկնեք ընթերցումը որպես ծառայության իրական ինքնություն։ Ձեր shell-ի և դեմոնի միջև տարբերությունը հաճախ ամբողջ պատասխանն է։ Հետևեք սիմվոլիկ հղումներին մինչև իրական նպատակը, որովհետև լուծված ուղին է, որ ստուգվում է։
namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key
Ծառայությունը կարող է ֆայլեր բացել նաև մեկից ավելի փուլերում։ Որոշ նյութ կարդացվում է արտոնյալ կարգավորման ընթացքում, մինչդեռ այլ ֆայլեր բացվում են արտոնությունները թողնելուց հետո։ Ֆայլը կարդացող root shell-ը չի վերարտադրում ավելի ուշ աշխատողի հասանելիությունը։ Մոնտավորման անունների տարածությունը կարող է ներկայացնել նույն ուղու այլ տեսք, հատկապես կոնտեյների ներսում, ուստի համեմատեք դեմոնի ֆայլային համակարգի տեսքը ձերինը։
Փոխեք ամենասեղմ համապատասխան թույլտվությունը
Ընտրեք ամենափոքր կարգավորումը, որը գործընթացին հասանելիություն է տալիս՝ վերահսկվող խումբ՝ անհրաժեշտ պանակներում որոնմամբ, կառավարվող տեղ, որն արդեն ծառայությանն է պատկանում, կամ մեկ այլ փաստաթղթավորված մեխանիզմ։ Ֆայլ կարդալը չի պահանջում գրելու թույլտվություն նրա պանակում։ Արտոնյալ կոնֆիգուրացիայի վրա խմբի լայն գրելու թույլտվությունը սովորական անցման վերանորոգում չէ։ Ռեկուրսիվ 0777-ը նույնպես լուծում չէ։
Գրանցեք, թե որ բաղադրիչը փոխեցիք և ինչու։ Առանց գրանցված պատճառի թույլտվության փոփոխությունը դժվար է վերանայել և հեշտ է մոռանալ։
Ռեժիմներից այն կողմ նայեք միայն անցումից հետո
Եթե ռեժիմի բիտերը բավարար են թվում, մնացած ստուգումներն են ACL-ները, անվտանգության քաղաքականությունը և sandbox-ի սահմանափակումները։ ACL-ը կարող է տալ հասանելիություն, որ ռեժիմի բիտերը ցույց են տալիս բացակա, կամ մերժել հասանելիությունը, որը նրանք կարծես թույլ են տալիս։ Այդ կարգավորումները պատկանում են գործող կոնֆիգուրացիայի սեփականատիրոջը, և դրանք պետք է նեղորեն կարգավորվեն, այլ ոչ թե անջատվեն։ Արմատի կամ աշխատանքային պանակի տարբերությունը նույնպես կարող է բացատրել բացարձակ ուղի, որն աշխատում է մեկ համատեքստում և ձախողվում մյուսում։
Մի՛ կորցրեք պատկերացումն այն մասին, թե ինչ է ֆայլը, մինչ հասանելիությունը շտկելը։ CA վկայագիրը հանրային է ըստ նախագծի, մասնավոր բանալին՝ ոչ։ Ֆայլերը, որոնք հաճախորդը վերագրում է, նույնպես պահանջում են տարբեր գրելու իրավունքներ, քան միայն ընթեռնելի ինքնության բանալին։ Ստուգեք մետատվյալները՝ չտպելով գաղտնիքները, ապա հաստատեք, որ ծառայությունն ինքը աշխատում է փոփոխությունից հետո։ Ծառայության փաստաթղթերում կարճ նշումը խնայում է հաջորդ մարդուն նույն անցումը։