آريادني ڪونيل، آڊيشيس ميوزڪ پليئر ۽ وي بيڪ ڪمپوزٽ سرور جو خالق، IRCv3 پروٽوڪول انيشيئيٽر، ۽ الپائن سيڪيورٽي ٽيم ليڊر Linux, развивает инструментарий capsudo для выполнению команд с повышенными привилегиями. В отличие от sudo в новом проекте задействована модель предоставления полномочий на уровне отдельных объектов (object-capability). Код проекта написан на языке Си и распространяется под лицензией MIT.
سوڊو جي خامين ۾، جن کي نئون ٽول ڪٽ حل ڪرڻ جي ڪوشش ڪري ٿو، اهو آهي ان جي پهچائڻ هڪ ايگزيڪيوٽو فائل جي طور تي سوڊ روٽ فليگ سان؛ هڪ مونوليٿڪ آرڪيٽيڪچر بغير استحقاق جي علحدگي (سڀئي سوڊو ڪارڪردگي روٽ استحقاق سان عمل ۾ آندي ويندي آهي)؛ هڪ پيچيده، غير درجي بندي، ۽ غير اعلانيه ترتيب فارميٽ؛ هڪ استحقاق واري عمل ۾ سڌو سنئون هلندڙ پلگ ان لاءِ سپورٽ؛ ۽ هڪ وڏي حملي واري مٿاڇري سان هڪ ڦاٽل ڪوڊ بيس.
هڪ monolithic sudo يوٽيلٽي استعمال ڪرڻ جي بدران، capsudo هڪ خاص پس منظر جي عمل، capsudod، ۽ هڪ غير خاص استعمال ٿيل يوٽيلٽي، capsudo جي ٽينڊم کي استعمال ڪري ٿو. capsudod ۽ capsudo جي وچ ۾ رابطو هڪ ساکٽ فائل ذريعي ٿئي ٿو، ۽ خاص ڪمانڊ ايگزيڪيوشن ساکٽ جي رسائي حقن جي ذريعي طئي ڪيو ويندو آهي. صرف ساکٽ تائين رسائي وارا استعمال ڪندڙ ان سان ڳنڍيل خاص ڪمانڊ تي عمل ڪري سگهن ٿا. هن طريقي جي هڪ خرابي هر خاص آپريشن جي عمل کي هم آهنگ ڪرڻ لاءِ هڪ الڳ پس منظر جي عمل جي ضرورت آهي.
مثال طور، هڪ صارف کي بلند ڪيل استحقاق سان ريبوٽ يوٽيلٽي هلائڻ جي صلاحيت ڏيڻ لاءِ، هڪ منتظم صارف جي هوم ڊاريڪٽري ۾ "ريبوٽ-ڪيپيبلٽي" ساکٽ ٺاهي سگهي ٿو، ان کي ريبوٽ يوٽيلٽي سان ڳنڍي سگهي ٿو، ۽ ساکٽ تائين لکڻ جي رسائي کي گهربل صارف تائين محدود ڪري سگهي ٿو. پوءِ صارف "ڪيپسوڊو -s ريبوٽ-ڪيپيبلٽي" هلائي ريبوٽ ڪمانڊ هلائي سگهي ٿو. # capsudod -s /home/user/reboot-capability reboot & # chown user:user /home/user/reboot-capability # chmod 700 /home/user/reboot-capability حڪم سان ريبوٽ هلائي: $ capsudo -s /home/user/reboot-capability
سوڊو جي رويي کي نقل ڪرڻ ۽ ويل گروپ ۾ استعمال ڪندڙن لاءِ ڪنهن به ايپليڪيشن کي بلند ڪيل مراعات سان هلائڻ جي اجازت ڏيڻ لاءِ، توهان هيٺ ڏنل سيٽنگون استعمال ڪري سگهو ٿا: # mkdir -p /run/cap # capsudod -s /run/cap/sudo-capability & # chgrp wheel /run/cap/sudo-capability # chmod 770 /run/cap/sudo-capability $ capsudo -s /run/cap/sudo-capability
/usr/sbin/mount /dev/sdb1 ڪمانڊ جي هڪ خاص هلائڻ لاءِ سيٽنگن جي مثال: # capsudod -s /run/user/mountd/cap/mount-dev-sdb1 — /usr/sbin/mount /dev/sdb1 … ساکٽ تائين رسائي جا حق مقرر ڪرڻ /run/user/mountd/cap/mount-dev-sdb1 /dev/sdb1 کي /media/usb تي هڪ غير خاص استعمال ڪندڙ جي طور تي چڙهڻ $ capsudo -s /run/user/mountd/cap/mount-dev-sdb1 — /media/usb
جو ذريعو: opennet.ru
