ໂຮດຕິ້ງອອນໄລນ໌ຟຣີສໍາລັບ WorkStations

<Previous | ເນື້ອໃນ | ຕໍ່ໄປ>

umask – ກໍານົດການອະນຸຍາດເລີ່ມຕົ້ນ

ໄດ້ ໜ້າ ກາກ ຄໍາສັ່ງຄວບຄຸມການອະນຸຍາດເລີ່ມຕົ້ນທີ່ມອບໃຫ້ໄຟລ໌ໃນເວລາທີ່ມັນຖືກສ້າງຂຶ້ນ. ມັນໃຊ້ເຄື່ອງໝາຍເລກແປດເພື່ອສະແດງອອກ a ຫນ້າກາກ ຂອງ bits ທີ່ຈະເອົາອອກຈາກຮູບແບບຂອງໄຟລ໌ - tributes. ລອງເບິ່ງ:



[me@linuxbox ~]$ rm -f foo.txt

[me@linuxbox ~]$ ໜ້າ ກາກ

0002

[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ rm -f foo.txt

[me@linuxbox ~]$ ໜ້າ ກາກ

0002

[me@linuxbox ~]$ > foo.txt


[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:53 foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:53 foo.txt


ທໍາອິດພວກເຮົາເອົາສໍາເນົາເກົ່າຂອງ foo.txt ເພື່ອໃຫ້ແນ່ໃຈວ່າພວກເຮົາເລີ່ມສົດ. ຕໍ່ໄປ, ພວກເຮົາດໍາເນີນການ ໜ້າ ກາກ ຄໍາສັ່ງໂດຍບໍ່ມີການໂຕ້ຖຽງເພື່ອເບິ່ງມູນຄ່າປະຈຸບັນ. ມັນຕອບສະຫນອງກັບມູນຄ່າ 0002 (ຄ່າ 0022 ເປັນຄ່າເລີ່ມຕົ້ນທົ່ວໄປອີກອັນໜຶ່ງ), ເຊິ່ງເປັນຕົວແທນຂອງໜ້າກາກຂອງພວກເຮົາ. ຕໍ່ໄປພວກເຮົາຈະສ້າງຕົວຢ່າງໃຫມ່ຂອງໄຟລ໌ foo.txt ແລະປະຕິບັດຕາມການອະນຸຍາດຂອງມັນ.

ພວກເຮົາສາມາດເຫັນໄດ້ວ່າທັງເຈົ້າຂອງແລະກຸ່ມໄດ້ຮັບການອະນຸຍາດອ່ານແລະຂຽນ, ໃນຂະນະທີ່ຄົນອື່ນພຽງແຕ່ໄດ້ຮັບການອະນຸຍາດອ່ານ. ເຫດຜົນທີ່ໂລກບໍ່ມີການອະນຸຍາດຂຽນແມ່ນຍ້ອນຄຸນຄ່າຂອງຫນ້າກາກ. ຂໍ​ໃຫ້​ຍົກ​ຕົວ​ຢ່າງ​ຂອງ​ພວກ​ເຮົາ​ຄືນ​ໃໝ່, ເທື່ອ​ນີ້​ຕັ້ງ​ໜ້າ​ກາກ​ດ້ວຍ​ຕົວ​ເອງ:



[me@linuxbox ~]$ rm foo.txt [me@linuxbox ~]$ umask 0000 [me@linuxbox ~]$ > foo.txt [me@linuxbox ~]$ ls -l foo.txt

-rw-rw-rw- 1 me me 0 2016-03-06 14:58 foo.txt

[me@linuxbox ~]$ rm foo.txt [me@linuxbox ~]$ umask 0000 [me@linuxbox ~]$ > foo.txt [me@linuxbox ~]$ ls -l foo.txt

-rw-rw-rw- 1 me me 0 2016-03-06 14:58 foo.txt


ເມື່ອພວກເຮົາຕັ້ງຫນ້າກາກ 0000 (ປິດ​ຢ່າງ​ມີ​ປະ​ສິດ​ທິ​ຜົນ), ພວກ​ເຮົາ​ເຫັນ​ວ່າ​ໄຟລ​໌​ແມ່ນ​ໃນ​ປັດ​ຈຸ​ບັນ​ໂລກ​ຂຽນ​ໄດ້​. ເພື່ອເຂົ້າໃຈວິທີການເຮັດວຽກນີ້, ພວກເຮົາຕ້ອງເບິ່ງຕົວເລກຖານແປດອີກເທື່ອຫນຶ່ງ. ຖ້າພວກເຮົາເອົາຫນ້າກາກແລະຂະຫຍາຍມັນເຂົ້າໄປໃນຖານສອງ, ແລະຫຼັງຈາກນັ້ນປຽບທຽບມັນກັບຄຸນລັກສະນະທີ່ພວກເຮົາສາມາດເຫັນໄດ້ວ່າມີຫຍັງເກີດຂື້ນ:


ຮູບແບບໄຟລ໌ຕົ້ນສະບັບ

--- rw- rw- rw-

ຫນ້າກາກ

000

000

000

010

ຜົນ

---

rw -

rw -

r--


ບໍ່ສົນໃຈໃນເວລານີ້ສູນຊັ້ນນໍາ (ພວກເຮົາຈະໄປຫາຜູ້ທີ່ຢູ່ໃນນາທີ) ແລະສັງເກດເຫັນວ່າບ່ອນທີ່ 1 ປາກົດຢູ່ໃນຫນ້າກາກຂອງພວກເຮົາ, ຄຸນລັກສະນະໄດ້ຖືກໂຍກຍ້າຍອອກ.-ໃນກໍລະນີນີ້, ໂລກຂຽນການອະນຸຍາດ. ນັ້ນແມ່ນສິ່ງທີ່ຫນ້າກາກເຮັດ. ຢູ່ທົ່ວທຸກແຫ່ງທີ່ 1 ປະກົດຢູ່ໃນຄ່າຖານສອງຂອງໜ້າກາກ, ຄຸນສົມບັດບໍ່ໄດ້ຖືກຕັ້ງ. ຖ້າພວກເຮົາເບິ່ງມູນຄ່າຫນ້າກາກຂອງ 0022, ພວກ​ເຮົາ​ສາ​ມາດ​ເບິ່ງ​ສິ່ງ​ທີ່​ມັນ​ເຮັດ​ໄດ້​:


ຮູບແບບໄຟລ໌ຕົ້ນສະບັບ

--- rw- rw- rw-

ຫນ້າກາກ

000

000

010

010

ຜົນ

---

rw -

r--

r--


ອີກເທື່ອ ໜຶ່ງ, ບ່ອນທີ່ 1 ປະກົດຢູ່ໃນມູນຄ່າຖານສອງ, ຄຸນລັກສະນະທີ່ສອດຄ້ອງກັນແມ່ນບໍ່ໄດ້ຕັ້ງ. ຫຼິ້ນກັບຄ່າບາງຢ່າງ (ລອງເຈັດບາງອັນ) ເພື່ອໃຊ້ກັບວິທີເຮັດວຽກນີ້. ເມື່ອ​ທ່ານ​ເຮັດ​ສໍາ​ເລັດ​, ສະ​ມາ​ຊິກ​ໃຫມ່​ເພື່ອ​ທໍາ​ຄວາມ​ສະ​ອາດ​:



[me@linuxbox ~]$ rm foo.txt ; umask 0002

[me@linuxbox ~]$ rm foo.txt ; umask 0002


ເວລາສ່ວນໃຫຍ່ພວກເຮົາຈະບໍ່ຈໍາເປັນຕ້ອງປ່ຽນຫນ້າກາກ; ຄ່າເລີ່ມຕົ້ນທີ່ສະໜອງໃຫ້ໂດຍການແຈກຢາຍຂອງເຈົ້າຈະດີ. ຢ່າງໃດກໍຕາມ, ໃນບາງສະຖານະການຄວາມປອດໄພສູງ, ພວກເຮົາຈະຕ້ອງການຄວບຄຸມມັນ.


ບາງ​ການ​ອະ​ນຸ​ຍາດ​ພິ​ເສດ​

ເຖິງແມ່ນວ່າປົກກະຕິແລ້ວພວກເຮົາເຫັນຫນ້າກາກການອະນຸຍາດ octal ສະແດງອອກເປັນຕົວເລກສາມຕົວເລກ, ມັນເປັນທາງວິຊາການທີ່ຖືກຕ້ອງກວ່າທີ່ຈະສະແດງອອກເປັນສີ່ຕົວເລກ. ເປັນຫຍັງ? ເນື່ອງຈາກວ່າ, ນອກເຫນືອໄປຈາກການອ່ານ, ຂຽນ, ແລະປະຕິບັດການອະນຸຍາດ, ມີບາງການຕັ້ງຄ່າອື່ນໆ, ການນໍາໃຊ້ຫນ້ອຍ, ການອະນຸຍາດ.

ຫນ້າທໍາອິດຂອງການເຫຼົ່ານີ້ແມ່ນ setuid bit (ຕຸລາ 4000). ເມື່ອນໍາໃຊ້ກັບໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້, ມັນກໍານົດ ID ຜູ້ໃຊ້ທີ່ມີປະສິດທິພາບ ຈາກຜູ້ໃຊ້ທີ່ແທ້ຈິງ (ຜູ້ໃຊ້ຈິງໆແລ່ນໂຄງການ) ໄປຫາເຈົ້າຂອງໂປຼແກຼມ. ສ່ວນຫຼາຍມັກ, ອັນນີ້ຖືກມອບໃຫ້ກັບໂປຣແກມຈໍານວນຫນ້ອຍທີ່ເປັນເຈົ້າຂອງໂດຍ superuser. ເມື່ອຜູ້ໃຊ້ທົ່ວໄປແລ່ນໂຄງການທີ່ເປັນ "ຮາກ se-tuid” , ໂຄງການດໍາເນີນການດ້ວຍສິດທິພິເສດທີ່ມີປະສິດທິພາບຂອງ superuser. ນີ້ອະນຸຍາດໃຫ້ໂຄງການເຂົ້າເຖິງໄຟລ໌ແລະໄດເລກະທໍລີທີ່ຜູ້ໃຊ້ທົ່ວໄປມັກຈະຖືກຫ້າມບໍ່ໃຫ້ເຂົ້າເຖິງ. ຢ່າງຊັດເຈນ, ເນື່ອງຈາກວ່ານີ້ເຮັດໃຫ້ຄວາມກັງວົນດ້ານຄວາມປອດໄພ, ຈໍານວນຂອງໂຄງການ setuid ຕ້ອງໄດ້ຮັບການຖືເປັນຕໍາ່ສຸດທີ່ຢ່າງແທ້ຈິງ.

ການຕັ້ງຄ່າທີສອງທີ່ໃຊ້ຫນ້ອຍແມ່ນ setgid bit (octal 2000) ເຊິ່ງ, ເຊັ່ນ setuid bit, ການປ່ຽນແປງ ID ກຸ່ມທີ່ມີປະສິດທິພາບ ຈາກ ID ກຸ່ມທີ່ແທ້ຈິງ ຂອງຜູ້ໃຊ້ທີ່ແທ້ຈິງກັບເຈົ້າຂອງໄຟລ໌. ຖ້າ setgid bit ຖືກຕັ້ງຢູ່ໃນໄດເລກະທໍລີ, ໄຟລ໌ທີ່ສ້າງໃຫມ່ໃນໄດເລກະທໍລີຈະໄດ້ຮັບຄວາມເປັນເຈົ້າຂອງກຸ່ມຂອງໄດເລກະທໍລີແທນທີ່ຈະເປັນເຈົ້າຂອງກຸ່ມຂອງຜູ້ສ້າງໄຟລ໌. ອັນນີ້ເປັນປະໂຫຍດໃນໄດເລກະທໍລີທີ່ໃຊ້ຮ່ວມກັນ ເມື່ອສະມາຊິກຂອງກຸ່ມທົ່ວໄປຕ້ອງການການເຂົ້າເຖິງໄຟລ໌ທັງໝົດໃນໄດເລກະທໍລີ ໂດຍບໍ່ຄໍານຶງເຖິງກຸ່ມຫຼັກຂອງເຈົ້າຂອງໄຟລ໌.

ອັນທີສາມເອີ້ນວ່າ ໜຽວ (ຕຸລາ 1000). ນີ້ແມ່ນການຍຶດເອົາຈາກ Unix ບູຮານ, ບ່ອນທີ່ມັນສາມາດຫມາຍໄຟລ໌ທີ່ປະຕິບັດໄດ້ວ່າ "ບໍ່ສາມາດແລກປ່ຽນໄດ້." ຢູ່ໃນໄຟລ໌, Linux ບໍ່ສົນໃຈສິ່ງທີ່ຕິດ, ແຕ່ຖ້າໃຊ້ກັບໄດເລກະທໍລີ, ມັນປ້ອງກັນຜູ້ໃຊ້ຈາກການລຶບຫຼືປ່ຽນຊື່ໄຟລ໌ເວັ້ນເສຍແຕ່ວ່າຜູ້ໃຊ້ເປັນເຈົ້າຂອງໄດເລກະທໍລີ, ເຈົ້າຂອງໄຟລ໌ຫຼື superuser. ນີ້ມັກຈະຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມການເຂົ້າເຖິງໄດເລກະທໍລີທີ່ໃຊ້ຮ່ວມກັນ, ເຊັ່ນ: / tmp.



ນີ້ແມ່ນບາງຕົວຢ່າງຂອງການນໍາໃຊ້ chmod ໂດຍມີສັນຍາລັກເພື່ອກໍານົດສິດພິເສດເຫຼົ່ານີ້. ທໍາອິດກໍານົດ setuid ໃຫ້ກັບໂຄງການ:

chmod u+s ໂຄງການ

ຕໍ່ໄປ, ກໍານົດ setgid ໃຫ້ກັບໄດເລກະທໍລີ:

chmod g+s dir

ສຸດທ້າຍ, ການມອບຫມາຍຫນຽວກັບໄດເລກະທໍລີ:

chmod +t dir

ເມື່ອເບິ່ງຜົນຜະລິດຈາກ ls, ທ່ານສາມາດກໍານົດການອະນຸຍາດພິເສດ. ນີ້ແມ່ນບາງຕົວຢ່າງ. ກ່ອນອື່ນ ໝົດ, ໂປແກຼມທີ່ຕັ້ງໄວ້ແມ່ນ:

-rwsr-xr-x

ໄດເຣັກທໍຣີທີ່ມີຄຸນລັກສະນະ setgid:

drwxrwsrx

ໄດເລກະທໍລີທີ່ມີຊຸດບິດຫນຽວ:

drwxrwxrwt


OS Cloud Computing ຍອດນິຍົມຢູ່ OnWorks: