ຄວາມແຕກຕ່າງລະຫວ່າງ su ແລະ sudo ແລະວິທີການຕັ້ງຄ່າ sudo ໃນ Linux
Linux System ແມ່ນມີຄວາມປອດໄພຫຼາຍກ່ວາຄູ່ຮ່ວມງານຂອງມັນ. ວິທີ ໜຶ່ງ ໃນການປະຕິບັດຄວາມປອດໄພໃນ Linux ແມ່ນນະໂຍບາຍການຄຸ້ມຄອງຜູ້ໃຊ້ແລະການອະນຸຍາດຂອງຜູ້ໃຊ້ແລະຜູ້ຊົມໃຊ້ປົກກະຕິບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ ດຳ ເນີນການໃດໆໃນລະບົບ.
ຖ້າຜູ້ໃຊ້ທົ່ວໄປ ຈຳ ເປັນຕ້ອງ ດຳ ເນີນການປ່ຽນແປງໃນລະບົບໃດກໍ່ຕາມລາວ ຈຳ ເປັນຕ້ອງໃຊ້ ຄຳ ສັ່ງ 'su' ຫຼື 'sudo'.
ໝາຍ ເຫດ - ບົດຂຽນນີ້ສາມາດ ນຳ ໃຊ້ໄດ້ກັບການແຈກຢາຍທີ່ອີງໃສ່ Ubuntu ຫຼາຍຂື້ນ, ແຕ່ຍັງໃຊ້ກັບການແຈກຢາຍ Linux ທີ່ນິຍົມໃຊ້ຫຼາຍທີ່ສຸດ.
‘su’ ບັງຄັບໃຫ້ທ່ານແບ່ງປັນ ລະຫັດຜ່ານຮາກ ໃຫ້ກັບຜູ້ໃຊ້ອື່ນໆໃນຂະນະທີ່ ‘sudo’ ເຮັດໃຫ້ມັນສາມາດປະຕິບັດ ຄຳ ສັ່ງຂອງລະບົບໄດ້ໂດຍບໍ່ຕ້ອງມີລະຫັດ ຮາກ . 'sudo' ຊ່ວຍໃຫ້ທ່ານໃຊ້ລະຫັດຜ່ານຂອງທ່ານເອງເພື່ອປະຕິບັດ ຄຳ ສັ່ງຂອງລະບົບ i.
'sudo' ແມ່ນລະບົບຮາກຖານ ຕັ້ງຄ່າ , ເຊິ່ງປະຕິບັດ ຄຳ ສັ່ງຮາກໃນນາມຂອງຜູ້ໃຊ້ທີ່ໄດ້ຮັບອະນຸຍາດແລະຜູ້ໃຊ້ຕ້ອງໃສ່ລະຫັດຜ່ານຂອງຕົນເອງເພື່ອປະຕິບັດ ຄຳ ສັ່ງຂອງລະບົບຕາມດ້ວຍ 'sudo'.
ພວກເຮົາສາມາດ ດຳ ເນີນການ '/ usr/sbin/visudo' ເພື່ອເພີ່ມ/ລຶບລາຍຊື່ຜູ້ໃຊ້ທີ່ສາມາດປະຕິບັດ 'sudo'.
$ sudo /usr/sbin/visudo
ພາບ ໜ້າ ຈໍຂອງເອກະສານ ‘/ usr/sbin/visudo’, ມີລັກສະນະຄືດັ່ງນີ້:
ບັນຊີລາຍຊື່ sudo ມີລັກສະນະຄືກັບຊ່ອຍແນ່ດ້ານລຸ່ມ, ໂດຍຄ່າເລີ່ມຕົ້ນ:
root ALL=(ALL) ALL
ໝາຍ ເຫດ: ເຈົ້າຕ້ອງເປັນ ຮາກ ເພື່ອດັດແກ້ເອກະສານ/usr/sbin/visudo.
ໃນຫລາຍໆສະຖານະການ, ຜູ້ເບິ່ງແຍງລະບົບ, ໂດຍສະເພາະຄົນ ໃໝ່ ໃນພາກສະ ໜາມ ພົບວ່າ“ ຮາກທັງ ໝົດ = (ALL) ທັງ ໝົດ” ເປັນແມ່ແບບແລະໃຫ້ການເຂົ້າເຖິງຜູ້ອື່ນແບບບໍ່ ຈຳ ກັດເຊິ່ງອາດເປັນອັນຕະລາຍຫຼາຍ.
ການດັດແກ້ເອກະສານ ‘/ usr/sbin/visudo’ ກັບບາງສິ່ງບາງຢ່າງທີ່ຄ້າຍຄືກັບຮູບແບບຂ້າງລຸ່ມນີ້ອາດຈະເປັນອັນຕະລາຍຫຼາຍ, ເວັ້ນເສຍແຕ່ວ່າທ່ານເຊື່ອວ່າຜູ້ໃຊ້ທັງ ໝົດ ທີ່ມີລາຍຊື່ ໝົດ.
root ALL=(ALL) ALL adam ALL=(ALL) ALL tom ALL=(ALL) ALL mark ALL=(ALL) ALL
'sudo' ທີ່ຖືກ ກຳ ນົດຢ່າງຖືກຕ້ອງແມ່ນມີຄວາມຍືດຫຍຸ່ນຫຼາຍແລະ ຈຳ ນວນ ຄຳ ສັ່ງທີ່ຕ້ອງການ ດຳ ເນີນການອາດຈະມີການ ກຳ ນົດຢ່າງຖືກຕ້ອງ.
Syntax ຂອງເສັ້ນ 'sudo' ທີ່ຖືກຕັ້ງຄ່າແມ່ນ:
User_name Machine_name=(Effective_user) command
Syntax ຂ້າງເທິງນີ້ສາມາດແບ່ງອອກເປັນ 4 ພາກສ່ວນຄື:
<
ບາງສະຖານະການ, ແລະສາຍ 'sudo' ທີ່ສອດຄ້ອງກັນ:
Q1. ທ່ານມີເຄື່ອງ ໝາຍ ຜູ້ໃຊ້ເຊິ່ງເປັນຜູ້ບໍລິຫານຖານຂໍ້ມູນ. ທ່ານຄວນຈະສະ ໜອງ ການເຂົ້າເຖິງລາວທັງ ໝົດ ໃນ Database Server (beta.database_server.com) ເທົ່ານັ້ນ, ແລະບໍ່ແມ່ນຢູ່ໃນໂຮດໃດໆ.
ສຳ ລັບສະຖານະການຂ້າງເທິງນັ້ນ, ສາມາດຂຽນເສັ້ນ 'sudo' ເປັນ:
mark beta.database_server.com=(ALL) ALL
Q2. ທ່ານມີຜູ້ໃຊ້ 'tom' ເຊິ່ງຄາດວ່າຈະ ດຳ ເນີນການ ຄຳ ສັ່ງຂອງລະບົບຄືກັບຜູ້ໃຊ້ອື່ນນອກ ເໜືອ ຈາກຮາກໃນຖານຂໍ້ມູນ Server ດຽວກັນ, ຂ້າງເທິງໄດ້ອະທິບາຍ.
ສຳ ລັບສະຖານະການຂ້າງເທິງນັ້ນ, ສາມາດຂຽນເສັ້ນ 'sudo' ເປັນ:
mark beta.database_server.com=(tom) ALL
Q3. ທ່ານມີຜູ້ໃຊ້ sudo 'cat' ເຊິ່ງຄາດວ່າຈະ ດຳ ເນີນການ ຄຳ ສັ່ງ 'ໝາ' ເທົ່ານັ້ນ.
ເພື່ອປະຕິບັດສະຖານະການຂ້າງເທິງນີ້, ພວກເຮົາສາມາດຂຽນ 'sudo' ເປັນ:
mark beta.database_server.com=(cat) dog
Q4. ຈະເປັນແນວໃດຖ້າຜູ້ໃຊ້ຕ້ອງໄດ້ຮັບອະນຸຍາດຫລາຍໆ ຄຳ ສັ່ງ?
ຖ້າ ຈຳ ນວນ ຄຳ ສັ່ງ, ຜູ້ໃຊ້ຄາດວ່າຈະ ດຳ ເນີນການແມ່ນຕ່ ຳ ກວ່າ 10 ປີ, ພວກເຮົາສາມາດວາງ ຄຳ ສັ່ງທັງ ໝົດ ພ້ອມກັນ, ມີພື້ນທີ່ສີຂາວຢູ່ລະຫວ່າງພວກມັນ, ດັ່ງທີ່ສະແດງຢູ່ດ້ານລຸ່ມ:
mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...
ຖ້າບັນຊີ ຄຳ ສັ່ງນີ້ແຕກຕ່າງກັນໄປຕາມຂອບເຂດ, ບ່ອນທີ່ມັນບໍ່ສາມາດພິມ ຄຳ ສັ່ງແຕ່ລະຢ່າງດ້ວຍຕົນເອງໄດ້, ພວກເຮົາ ຈຳ ເປັນຕ້ອງໃຊ້ ນາມແຝງ . ນາມແຝງ! ແມ່ນແລ້ວ, ສິ່ງປະໂຫຍດຂອງ Linux ບ່ອນທີ່ມີ ຄຳ ສັ່ງຍາວຫລືບັນຊີລາຍຊື່ຂອງ ຄຳ ສັ່ງສາມາດຖືກເອີ້ນວ່າເປັນ ຄຳ ທີ່ນ້ອຍແລະງ່າຍດາຍ.
ບາງຕົວຢ່າງ ນາມແຝງ , ເຊິ່ງສາມາດ ນຳ ໃຊ້ເຂົ້າໃນເອກະສານການຕັ້ງຄ່າ 'sudo'.
User_Alias ADMINS=tom,jerry,adam user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top
ມັນເປັນໄປໄດ້ທີ່ຈະລະບຸກຸ່ມລະບົບ, ແທນທີ່ຜູ້ໃຊ້, ເຊິ່ງເປັນຂອງກຸ່ມນັ້ນພຽງແຕ່ມີ 'ພຽງແຕ່'% 'ດັ່ງລຸ່ມນີ້:
%apacheadmin WEBSERVERS=(www) APACHE
Q5. ເຮັດແນວໃດກ່ຽວກັບການປະຕິບັດ ຄຳ ສັ່ງ 'sudo' ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານ?
ພວກເຮົາສາມາດປະຕິບັດ ຄຳ ສັ່ງ 'sudo' ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານໂດຍການໃຊ້ 'NOPASSWD' ທຸງ.
adam ALL=(ALL) NOPASSWD: PROCS
ທີ່ນີ້ຜູ້ໃຊ້“ adam ’ສາມາດປະຕິບັດ ຄຳ ສັ່ງທັງ ໝົດ ທີ່ຢູ່ພາຍໃຕ້“ PROCS”, ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານ.
"sudo" ໃຫ້ທ່ານມີສະພາບແວດລ້ອມທີ່ເຂັ້ມແຂງແລະປອດໄພພ້ອມດ້ວຍຄວາມຍືດຍຸ່ນຫຼາຍເມື່ອທຽບໃສ່ກັບ 'su'. ຍິ່ງໄປກວ່ານັ້ນການຕັ້ງຄ່າ“ sudo” ແມ່ນງ່າຍດາຍ. ບາງການແຈກຈ່າຍ Linux ມີ "sudo" ເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນໃນຂະນະທີ່ສ່ວນໃຫຍ່ຂອງການລົບກວນໃນມື້ນີ້ຕ້ອງການໃຫ້ທ່ານສາມາດເປີດໃຊ້ມັນເປັນມາດຕະການຄວາມປອດໄພ.
ເພື່ອເພີ່ມຜູ້ໃຊ້ (bob) ໃຫ້ sudo ພຽງແຕ່ ດຳ ເນີນ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ເປັນຮາກ.
adduser bob sudo
ດຽວນີ້ ໝົດ ແລ້ວ. ຂ້ອຍຈະຢູ່ທີ່ນີ້ອີກເທື່ອ ໜຶ່ງ ດ້ວຍບົດຂຽນທີ່ ໜ້າ ສົນໃຈອີກ. ຈົນກ່ວາຫຼັງຈາກນັ້ນຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ Tecmint. ຢ່າລືມໃຫ້ ຄຳ ຕິຊົມທີ່ມີຄຸນຄ່າຂອງພວກເຮົາໃນພາກ ຄຳ ເຫັນຂອງພວກເຮົາ.