ძებნის ნებართვა ყველა კატალოგზე გასაღებამდე
გასაღები შეიძლება იყოს 0600 და მაინც უარი თქვას გახსნაზე, როცა მშობელი კატალოგი გზას ბლოკავს. გაიარეთ მთელი გზა სერვისის ანგარიშით, სანამ რომელიმე რეჟიმს შეცვლით.
რეჟიმი 0600 და სწორი მფლობელი არ იძლევა გარანტიას, რომ სერვისი გასაღებს გახსნის. დაკარგული ნებართვა ჩვეულებრივ ზემოთ მდებარე კატალოგზეა. Linux გზას ერთ ნაწილად ერთ ჯერზე ხსნის და ყოველ საფეხურს შემდეგის ცდამდე ძებნის ნებართვა სჭირდება. წაიკითხეთ მთელი გზა და არა სიის ბოლო ხაზი.
კითხვის ნებართვა ბოლო საფეხურია და არა ერთადერთი
ფაილის გახსნა მოითხოვს, რომ ბირთვმა ფესვიდან ან სამუშაო კატალოგიდან გაიაროს გზის ყოველი ნაწილი. ძებნის ნებართვის გარეშე კატალოგი ამ გავლას ნებართვის შეცდომით აჩერებს. თავად ფაილის რეჟიმი არასოდეს მოწმდება, ამიტომ სრულად წაკითხვადი გასაღები წაუკითხავად გამოიყურება. შეცდომა ხშირად გახსნის დროს მოდის კატალოგის დასახელების გარეშე და ამიტომ ბოლო ფაილს ადანაშაულებენ.
კატალოგისთვის შესრულების ბიტი ნიშნავს ძებნას და არა შიგთავსის შესრულებას. გასაღები მონაცემად რჩება და ამ შეკეთების არც ერთი ნაწილი არ მოითხოვს მის შესრულებად მონიშვნას.
გაიარეთ გზა სერვისის ანგარიშით
ჩამოთვალეთ ყოველი ნაწილი მფლობელთან და რეჟიმთან ერთად, შემდეგ გაიმეორეთ კითხვა სერვისის ნამდვილი იდენტობით. განსხვავება თქვენს გარსსა და დემონს შორის ხშირად მთელი პასუხია. მიჰყევით სიმბოლურ ბმულებს რეალურ სამიზნემდე, რადგან სწორედ გადაწყვეტილი გზა მოწმდება.
namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key
სერვისს ფაილები ერთზე მეტ ფაზაშიც შეუძლია გახსნას. ნაწილი მასალისა იკითხება პრივილეგირებული გამართვის დროს, ხოლო სხვა ფაილები იხსნება პრივილეგიების მოხსნის შემდეგ. ფაილის წამკითხველი root-ის გარსი არ ამრავლებს მოგვიანებით მომუშავე პროცესის წვდომას. მიმაგრების სახელთა სივრცე შეიძლება წარმოადგენდეს იმავე გზის სხვა ხედს, განსაკუთრებით კონტეინერში, ამიტომ შეადარეთ დემონის ფაილური სისტემის ხედი თქვენსას.
შეცვალეთ ყველაზე ვიწრო შესაფერისი ნებართვა
აირჩიეთ უმცირესი წყობა, რომელიც პროცესს წვდომას აძლევს: კონტროლირებადი ჯგუფი საჭირო კატალოგებზე ძებნით, მართული მდებარეობა, რომელსაც სერვისი უკვე ფლობს, ან სხვა დოკუმენტირებული მექანიზმი. ფაილის კითხვას მის კატალოგზე ჩაწერის ნებართვა არ სჭირდება. პრივილეგირებულ კონფიგურაციაზე ჯგუფის ფართო ჩაწერის ნებართვა გავლის ჩვეულებრივი შეკეთება არ არის. რეკურსიული 0777-იც არ არის გადაწყვეტა.
ჩაწერეთ, რომელი ნაწილი შეცვალეთ და რატომ. ჩაწერილი მიზეზის გარეშე ნებართვის ცვლილება ძნელად გადაისინჯება და ადვილად დავიწყდება.
რეჟიმებს მიღმა შეხედეთ მხოლოდ გავლის შემდეგ
თუ რეჟიმის ბიტები საკმარისად გამოიყურება, დარჩენილი შემოწმებებია ACL, უსაფრთხოების პოლიტიკა და sandbox-ის შეზღუდვები. ACL შეიძლება მისცეს წვდომა, რომელსაც რეჟიმის ბიტები არარსებულად მიუთითებენ, ან უარყოს წვდომა, რომელსაც ისინი თითქოს ნებადართულად აჩვენებენ. ეს პარამეტრები არსებულ კონფიგურაციის მფლობელს ეკუთვნის და ისინი ვიწროდ უნდა დარეგულირდეს და არა გამოირთოს. ფესვის ან სამუშაო კატალოგის განსხვავება ასევე შეიძლება ხსნიდეს აბსოლუტურ გზას, რომელიც ერთ კონტექსტში მუშაობს და მეორეში ვერ.
ნუ დაკარგავთ წარმოდგენას, რა არის ფაილი, სანამ წვდომას ასწორებთ. CA სერტიფიკატი დიზაინით საჯაროა, კერძო გასაღები არა. ფაილებს, რომლებსაც კლიენტი გადაწერს, ასევე სჭირდება განსხვავებული ჩაწერის უფლებები, ვიდრე მხოლოდ-კითხვადი იდენტობის გასაღებს. შეამოწმეთ მეტამონაცემები საიდუმლოებების დაბეჭდვის გარეშე, შემდეგ დაადასტურეთ, რომ სერვისი თავად მუშაობს ცვლილების შემდეგ. სერვისის დოკუმენტაციაში მოკლე შენიშვნა დაზოგავს შემდეგ ადამიანს იმავე გავლას.