3.4.2. ເຄື່ອງມື
3.4.2.1. ຄໍາສັ່ງ chmod
ຜົນສະທ້ອນປົກກະຕິຂອງການນໍາໃຊ້ການອະນຸຍາດໄຟລ໌ທີ່ເຄັ່ງຄັດ, ແລະບາງຄັ້ງກໍ່ເປັນສິ່ງລົບກວນ, ແມ່ນວ່າສິດທິໃນການເຂົ້າເຖິງຈະຕ້ອງມີການປ່ຽນແປງສໍາລັບທຸກປະເພດຂອງເຫດຜົນ. ພວກເຮົາໃຊ້ chmod ຄໍາສັ່ງໃຫ້ເຮັດສິ່ງນີ້, ແລະໃນທີ່ສຸດ ເຖິງ chmod ໄດ້ກາຍເປັນພາສາອັງກິດທີ່ຍອມຮັບໄດ້ເກືອບ, ຊຶ່ງຫມາຍຄວາມວ່າການປ່ຽນແປງຂອງຮູບແບບການເຂົ້າເຖິງຂອງໄຟລ໌. ໄດ້ chmod ຄໍາສັ່ງສາມາດຖືກນໍາໃຊ້ກັບຕົວເລືອກຕົວເລກແລະຕົວເລກ, ໃດກໍ່ຕາມທີ່ທ່ານຕ້ອງການທີ່ດີທີ່ສຸດ.
ຕົວຢ່າງຂ້າງລຸ່ມນີ້ໃຊ້ທາງເລືອກທີ່ເປັນຕົວອັກສອນແລະຕົວເລກເພື່ອແກ້ໄຂບັນຫາທີ່ມັກເກີດຂື້ນກັບຜູ້ໃຊ້ໃຫມ່:
asim:~> ./ສະບາຍດີ
bash: ./hello: bad interpreter: Permission denied
asim:~> cat ສະບາຍດີ
#! / bin / bash
ສຽງສະທ້ອນ "ສະບາຍດີ, ໂລກ"
asim:~> ls -l ສະບາຍດີ
-rw-rw-r-- 1 asim asim 32 ມັງກອນ 15 16:29 ສະບາຍດີ asim:~> chmod u+x ສະບາຍດີ
asim:~> ./ສະບາຍດີ
ສະບາຍດີຊາວໂລກ
asim:~> ls -l ສະບາຍດີ
-rwxrw-r-- 1 asim asim 32 ມັງກອນ 15 16:29 ສະບາຍດີ*
asim:~> ./ສະບາຍດີ
bash: ./hello: bad interpreter: Permission denied
asim:~> cat ສະບາຍດີ
#! / bin / bash
ສຽງສະທ້ອນ "ສະບາຍດີ, ໂລກ"
asim:~> ls -l ສະບາຍດີ
-rw-rw-r-- 1 asim asim 32 ມັງກອນ 15 16:29 ສະບາຍດີ asim:~> chmod u+x ສະບາຍດີ
asim:~> ./ສະບາຍດີ
ສະບາຍດີຊາວໂລກ
asim:~> ls -l ສະບາຍດີ
-rwxrw-r-- 1 asim asim 32 ມັງກອນ 15 16:29 ສະບາຍດີ*
ໄດ້ + ແລະ - ຜູ້ປະກອບການແມ່ນໃຊ້ເພື່ອມອບ ຫຼືປະຕິເສດສິດທີ່ໃຫ້ໃຫ້ກັບກຸ່ມໃດໜຶ່ງ. ການປະສົມທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດແມ່ນອະນຸຍາດ. ຂໍ້ມູນ ແລະໜ້າຜູ້ຊາຍມີຕົວຢ່າງທີ່ເປັນປະໂຫຍດ. ນີ້ແມ່ນອີກອັນຫນຶ່ງ, ເຊິ່ງເຮັດໃຫ້ໄຟລ໌ຈາກຕົວຢ່າງທີ່ຜ່ານມາເປັນໄຟລ໌ສ່ວນຕົວກັບຜູ້ໃຊ້ asim:

asim:~> chmod u+rwx,go-rwx ສະບາຍດີ
asim:~> LS -L | ສະບາຍດີ | ||
-rwx-------- | 1 asim | asim | 32 ມັງກອນ 15 16:29 ສະບາຍດີ* |
ປະເພດຂອງບັນຫາທີ່ເຮັດໃຫ້ເກີດຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດທີ່ບອກວ່າການອະນຸຍາດຖືກປະຕິເສດຢູ່ບ່ອນໃດບ່ອນຫນຶ່ງໂດຍປົກກະຕິແມ່ນບັນຫາກ່ຽວກັບສິດການເຂົ້າເຖິງໃນກໍລະນີຫຼາຍທີ່ສຸດ. ນອກຈາກນີ້, ຄໍາເຫັນເຊັ່ນ, "ມັນເຮັດວຽກມື້ວານນີ້," ແລະ "ເມື່ອຂ້ອຍດໍາເນີນການນີ້ເປັນຮາກມັນເຮັດວຽກ," ສ່ວນຫຼາຍແມ່ນເກີດມາຈາກການອະນຸຍາດໄຟລ໌ທີ່ບໍ່ຖືກຕ້ອງ.
ເມື່ອນໍາໃຊ້ chmod ດ້ວຍການໂຕ້ຖຽງຕົວເລກ, ຄ່າຂອງແຕ່ລະສິດທີ່ໄດ້ຮັບການເຂົ້າເຖິງຕ້ອງຖືກນັບເຂົ້າກັນຕໍ່ກຸ່ມ. ດັ່ງນັ້ນພວກເຮົາຈຶ່ງໄດ້ຮັບຕົວເລກ 3 ຕົວເລກ, ເຊິ່ງເປັນຄ່າສັນຍາລັກສໍາລັບການຕັ້ງຄ່າ chmod ມີເພື່ອເຮັດໃຫ້. ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ການປະສົມທົ່ວໄປທີ່ສຸດ:
ຕາຕະລາງ 3-9. ການປົກປ້ອງໄຟລ໌ດ້ວຍ chmod
ຄໍາສັ່ງ | ຊຶ່ງຫມາຍຄວາມວ່າ |
chmod 400 ເອກະສານ | ເພື່ອປົກປ້ອງໄຟລ໌ຈາກການຂຽນທັບໂດຍບັງເອີນ. |
chmod 500 ລະບົບ | ເພື່ອປ້ອງກັນຕົນເອງຈາກການລຶບ, ປ່ຽນຊື່ ຫຼືຍ້າຍໄຟລ໌ຈາກໄດເລກະທໍລີນີ້ໂດຍບັງເອີນ. |
chmod 600 ເອກະສານ | ໄຟລ໌ສ່ວນຕົວສາມາດປ່ຽນແປງໄດ້ໂດຍຜູ້ໃຊ້ທີ່ໃສ່ຄໍາສັ່ງນີ້ເທົ່ານັ້ນ. |
chmod 644 ເອກະສານ | ໄຟລ໌ທີ່ສາມາດອ່ານໄດ້ສາທາລະນະທີ່ສາມາດປ່ຽນແປງໄດ້ໂດຍຜູ້ໃຊ້ທີ່ອອກໃຫ້ເທົ່ານັ້ນ. |
chmod 660 ເອກະສານ | ຜູ້ໃຊ້ທີ່ຢູ່ໃນກຸ່ມຂອງທ່ານສາມາດປ່ຽນໄຟລ໌ນີ້ໄດ້, ຄົນອື່ນບໍ່ມີການເຂົ້າເຖິງມັນເລີຍ. |
chmod 700 ເອກະສານ | ປົກປ້ອງໄຟລ໌ຕໍ່ກັບການເຂົ້າເຖິງຈາກຜູ້ໃຊ້ອື່ນ, ໃນຂະນະທີ່ຜູ້ໃຊ້ທີ່ອອກຍັງສາມາດເຂົ້າເຖິງໄດ້ຢ່າງເຕັມທີ່. |
chmod 755 ລະບົບ | ສໍາລັບໄຟລ໌ທີ່ຄວນຈະສາມາດອ່ານໄດ້ແລະສາມາດປະຕິບັດໄດ້ໂດຍຜູ້ອື່ນ, ແຕ່ພຽງແຕ່ມີການປ່ຽນແປງໂດຍຜູ້ໃຊ້ອອກ. |
chmod 775 ເອກະສານ | ຮູບແບບການແບ່ງປັນໄຟລ໌ມາດຕະຖານສໍາລັບກຸ່ມ. |
chmod 777 ເອກະສານ | ທຸກຄົນສາມາດເຮັດທຸກຢ່າງໃຫ້ກັບໄຟລ໌ນີ້ໄດ້. |
ຖ້າທ່ານໃສ່ຕົວເລກທີ່ມີຕົວເລກຫນ້ອຍກວ່າສາມຕົວເປັນການໂຕ້ຖຽງ chmod, ຕົວອັກສອນທີ່ລະເວັ້ນຈະຖືກແທນທີ່ດ້ວຍສູນເລີ່ມຕົ້ນຈາກຊ້າຍ. ຕົວຈິງແລ້ວມີຕົວເລກທີ່ສີ່ຢູ່ໃນລະບົບ Linux, ເຊິ່ງກ່ອນສາມຕົວທໍາອິດແລະກໍານົດຮູບແບບການເຂົ້າເຖິງພິເສດ. ທຸກຢ່າງກ່ຽວກັບສິ່ງເຫຼົ່ານີ້ ແລະອີກຫຼາຍໆອັນແມ່ນຢູ່ໃນໜ້າຂໍ້ມູນ.
![]()
3.4.2.2. ເຂົ້າສູ່ລະບົບໄປຫາກຸ່ມອື່ນ
ໃນເວລາທີ່ທ່ານພິມ id ໃນເສັ້ນຄໍາສັ່ງ, ທ່ານໄດ້ຮັບບັນຊີລາຍຊື່ຂອງກຸ່ມທັງຫມົດທີ່ເຈົ້າສາມາດຂຶ້ນກັບ, ກ່ອນຫນ້າດ້ວຍຊື່ຜູ້ໃຊ້ແລະ ID ຂອງທ່ານແລະຊື່ກຸ່ມແລະ ID ທີ່ທ່ານກໍາລັງເຊື່ອມຕໍ່ໃນປັດຈຸບັນ. ຢ່າງໃດກໍຕາມ, ໃນລະບົບ Linux ຫຼາຍທ່ານສາມາດເຂົ້າສູ່ລະບົບຢ່າງຫ້າວຫັນໃນກຸ່ມດຽວໃນເວລານັ້ນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຄື່ອນໄຫວນີ້ຫຼື ກຸ່ມປະຖົມ ແມ່ນຫນຶ່ງທີ່ທ່ານໄດ້ຮັບມອບຫມາຍຈາກ / etc / passwd ໄຟລ໌. ຊ່ອງຂໍ້ມູນທີສີ່ຂອງໄຟລ໌ນີ້ຖື ID ກຸ່ມຫຼັກຂອງຜູ້ໃຊ້, ເຊິ່ງຖືກເບິ່ງຢູ່ໃນ / etc / ກຸ່ມ ໄຟລ໌. ຕົວຢ່າງ:
asim:~> id
uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)
asim:~> grep asim / etc / passwd
asim:x:501:501:Asim El Baraka:/home/asim:/bin/bash
asim:~> grep 501 / etc / ກຸ່ມ
asim:x:501:
asim:~> id
uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)
asim:~> grep asim / etc / passwd
asim:x:501:501:Asim El Baraka:/home/asim:/bin/bash
asim:~> grep 501 / etc / ກຸ່ມ
asim:x:501:
ພາກສະຫນາມທີ່ສີ່ໃນເສັ້ນຈາກ / etc / passwd ມີຄ່າ "501", ເຊິ່ງເປັນຕົວແທນຂອງກຸ່ມ asim ໃນຕົວຢ່າງຂ້າງເທິງ. ຈາກ / etc / ກຸ່ມ ພວກເຮົາສາມາດເອົາຊື່ທີ່ກົງກັບ ID ກຸ່ມນີ້. ໃນເວລາທີ່ເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ກັບລະບົບ, ນີ້ແມ່ນກຸ່ມທີ່ asim ຈະຂຶ້ນກັບ.
ໂຄງການກຸ່ມສ່ວນຕົວຂອງຜູ້ໃຊ້
ເພື່ອໃຫ້ມີຄວາມຍືດຫຍຸ່ນຫຼາຍຂຶ້ນ, ລະບົບ Linux ສ່ວນໃຫຍ່ປະຕິບັດຕາມອັນທີ່ເອີ້ນວ່າ ໂຄງການກຸ່ມສ່ວນຕົວຂອງຜູ້ໃຊ້, ທີ່ມອບຫມາຍຜູ້ໃຊ້ແຕ່ລະຄົນຕົ້ນຕໍໃຫ້ກັບກຸ່ມຂອງຕົນເອງ. ກຸ່ມນີ້ແມ່ນກຸ່ມທີ່ມີພຽງແຕ່ຜູ້ໃຊ້ສະເພາະນີ້, ເພາະສະນັ້ນຈຶ່ງເອີ້ນວ່າ "ກຸ່ມເອກະຊົນ". ໂດຍປົກກະຕິແລ້ວກຸ່ມນີ້ມີຊື່ດຽວກັນກັບຊື່ເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້, ເຊິ່ງສາມາດສັບສົນເລັກນ້ອຍ.
ນອກເຫນືອຈາກກຸ່ມສ່ວນຕົວຂອງລາວ, ຜູ້ໃຊ້ asim ຍັງສາມາດຢູ່ໃນກຸ່ມ ຜູ້ຊົມໃຊ້ ແລະ ເວັບໄຊຕ໌. ເນື່ອງຈາກວ່າເຫຼົ່ານີ້ແມ່ນກຸ່ມຮອງສໍາລັບຜູ້ໃຊ້ນີ້, ລາວຈະຕ້ອງໃຊ້ grp ໃnew່ ເພື່ອເຂົ້າສູ່ລະບົບກຸ່ມເຫຼົ່ານີ້ (ໃຊ້ gpasswd ສໍາລັບການຕັ້ງລະຫັດຜ່ານກຸ່ມທໍາອິດ). ໃນຕົວຢ່າງ, asim ຕ້ອງການສ້າງໄຟລ໌ທີ່ເປັນເຈົ້າຂອງໂດຍກຸ່ມ ເວັບໄຊຕ໌.
asim:/var/www/html> grp ໃnew່ ເວັບໄຊຕ໌
asim:/var/www/html> id
uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)
asim:/var/www/html> grp ໃnew່ ເວັບໄຊຕ໌
asim:/var/www/html> id
uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)
ເມື່ອໃດ asim ສ້າງໄຟລ໌ໃຫມ່ໃນປັດຈຸບັນ, ພວກເຂົາຈະຢູ່ໃນຄວາມເປັນເຈົ້າຂອງກຸ່ມຂອງກຸ່ມ ເວັບໄຊຕ໌ ແທນທີ່ຈະເປັນເຈົ້າຂອງໂດຍກຸ່ມ asim:
![]()
asim:/var/www/html> ການທົດສອບສໍາພັດ
asim:/var/www/html> ls -l ການທົດສອບ
-rw-rw-r-- 1 asim web 0 ມິຖຸນາ 10 15:38 ທົດສອບ.
asim:/var/www/html> ການທົດສອບສໍາພັດ
asim:/var/www/html> ls -l ການທົດສອບ
-rw-rw-r-- 1 asim web 0 ມິຖຸນາ 10 15:38 ທົດສອບ.
ການເຂົ້າສູ່ລະບົບໄປຫາກຸ່ມໃຫມ່ປ້ອງກັນທ່ານຈາກການນໍາໃຊ້ chown (ເບິ່ງພາກທີ 3.4.2.4) ຫຼືໂທຫາຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານເພື່ອປ່ຽນຄວາມເປັນເຈົ້າຂອງສໍາລັບທ່ານ.
ເບິ່ງ manpage ສໍາລັບ grp ໃnew່ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
![]()
3.4.2.3. ຫນ້າກາກໄຟລ໌
ເມື່ອໄຟລ໌ໃຫມ່ຖືກບັນທຶກຢູ່ບ່ອນໃດບ່ອນຫນຶ່ງ, ມັນທໍາອິດແມ່ນຢູ່ພາຍໃຕ້ຂັ້ນຕອນຄວາມປອດໄພມາດຕະຖານ. ໄຟລ໌ທີ່ບໍ່ມີການອະນຸຍາດບໍ່ມີຢູ່ໃນ Linux. ການອະນຸຍາດໄຟລ໌ມາດຕະຖານຖືກກໍານົດໂດຍ ຫນ້າກາກ ສໍາລັບການສ້າງໄຟລ໌ໃຫມ່. ມູນຄ່າຂອງຫນ້າກາກນີ້ສາມາດສະແດງໄດ້ໂດຍໃຊ້ ໜ້າ ກາກ ຄໍາສັ່ງ:
ເບີ:~> ໜ້າ ກາກ
0002
ເບີ:~> ໜ້າ ກາກ
0002
ແທນທີ່ຈະເພີ່ມຄຸນຄ່າສັນຍາລັກໃຫ້ກັນແລະກັນ, ເຊັ່ນດຽວກັນກັບ chmod, ສໍາລັບການຄິດໄລ່ການອະນຸຍາດໃນໄຟລ໌ໃຫມ່ເຂົາເຈົ້າຈໍາເປັນຕ້ອງໄດ້ຫັກອອກຈາກສິດທິການເຂົ້າເຖິງທີ່ເປັນໄປໄດ້ທັງຫມົດ. ໃນຕົວຢ່າງຂ້າງເທິງ, ຢ່າງໃດກໍຕາມ, ພວກເຮົາເຫັນ 4 ຄ່າທີ່ສະແດງ, ແຕ່ວ່າມີພຽງແຕ່ 3 ປະເພດການອະນຸຍາດ: ຜູ້ໃຊ້, ກຸ່ມ ແລະ ອື່ນໆ. ສູນທໍາອິດແມ່ນສ່ວນຫນຶ່ງຂອງການຕັ້ງຄ່າຄຸນລັກສະນະໄຟລ໌ພິເສດ, ເຊິ່ງພວກເຮົາຈະປຶກສາຫາລືໃນພາກ 3.4.2.4 ແລະພາກ 4.1.6. ມັນອາດຈະເຊັ່ນດຽວກັນວ່າສູນທໍາອິດນີ້ບໍ່ໄດ້ສະແດງຢູ່ໃນລະບົບຂອງທ່ານໃນເວລາທີ່ເຂົ້າໄປໃນ ໜ້າ ກາກ ຄໍາສັ່ງ, ແລະວ່າທ່ານພຽງແຕ່ເຫັນ 3 ຕົວເລກທີ່ເປັນຕົວແທນຂອງຫນ້າກາກການສ້າງໄຟລ໌ເລີ່ມຕົ້ນ.
ແຕ່ລະລະບົບທີ່ຄ້າຍຄື UNIX ມີຫນ້າທີ່ລະບົບສໍາລັບການສ້າງໄຟລ໌ໃຫມ່, ເຊິ່ງເອີ້ນວ່າແຕ່ລະຄັ້ງທີ່ຜູ້ໃຊ້ໃຊ້ໂປແກຼມທີ່ສ້າງໄຟລ໌ໃຫມ່, ຕົວຢ່າງເຊັ່ນ, ເມື່ອດາວໂຫລດໄຟລ໌ຈາກອິນເຕີເນັດ, ເມື່ອບັນທຶກເອກະສານຂໍ້ຄວາມໃຫມ່ແລະອື່ນໆ. ຟັງຊັນນີ້ສ້າງທັງໄຟລ໌ໃຫມ່ແລະໄດເລກະທໍລີໃຫມ່. ການອະນຸຍາດອ່ານ, ຂຽນ ແລະປະຕິບັດຢ່າງເຕັມທີ່ແມ່ນໃຫ້ທຸກຄົນເມື່ອສ້າງໄດເລກະທໍລີໃໝ່. ເມື່ອສ້າງໄຟລ໌ໃຫມ່, ຟັງຊັນນີ້ຈະໃຫ້ສິດການອ່ານແລະຂຽນສໍາລັບທຸກຄົນ, ແຕ່ກໍານົດການອະນຸຍາດເພື່ອບໍ່ມີສໍາລັບທຸກປະເພດຜູ້ໃຊ້. ນີ້, ກ່ອນທີ່ຈະນໍາໃຊ້ຫນ້າກາກ, ໄດເລກະທໍລີມີການອະນຸຍາດ 777 or rwxrwxrwx, ເປັນໄຟລ໌ທໍາມະດາ 666 or rw-rw-rw-.

ໄດ້ ໜ້າ ກາກ ຄ່າຖືກຫັກອອກຈາກສິດເລີ່ມຕົ້ນເຫຼົ່ານີ້ຫຼັງຈາກຟັງຊັນໄດ້ສ້າງໄຟລ໌ ຫຼືໄດເລກະທໍລີໃໝ່. ດັ່ງນັ້ນ, ໄດເລກະທໍລີຈະມີສິດອະນຸຍາດ 775 ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄຟລ໌ 664, ຖ້າມູນຄ່າຫນ້າກາກແມ່ນ (0) 002. ນີ້ແມ່ນສະແດງໃຫ້ເຫັນໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້:
ເບີ:~> mkdir newdir
ເບີ:~> ls -ld newdir
drwxrwxr-x 2 bert bert
4096 Feb 28 13:45 newdir/.
ເບີ:~> mkdir newdir
ເບີ:~> ls -ld newdir
drwxrwxr-x 2 bert bert
ເບີ:~> ແຕະໄຟລ໌ໃຫມ່
ເບີ:~> ls -l ໄຟລ໌ໃຫມ່
-rw-rw-r-- 1 bert bert
0 Feb 28 13:52 newfile
ເບີ:~> ແຕະໄຟລ໌ໃຫມ່
ເບີ:~> ls -l ໄຟລ໌ໃຫມ່
-rw-rw-r-- 1 bert bert
ໄຟລ໌ທຽບກັບໄດເລກະທໍລີ
ໄດເລກະທໍລີໄດ້ຮັບການອະນຸຍາດຫຼາຍຂຶ້ນໂດຍຄ່າເລີ່ມຕົ້ນ: ມັນສະເຫມີມີ ປະຕິບັດ ການອະນຸຍາດ. ຖ້າມັນບໍ່ມີມັນ, ມັນຈະບໍ່ສາມາດເຂົ້າເຖິງໄດ້. ລອງໃຊ້ອັນນີ້ໂດຍ chmoding a directory 644!
ຖ້າທ່ານເຂົ້າສູ່ລະບົບໄປຫາກຸ່ມອື່ນໂດຍໃຊ້ grp ໃnew່ ຄໍາສັ່ງ, ຫນ້າກາກຍັງບໍ່ປ່ຽນແປງ. ດັ່ງນັ້ນ, ຖ້າມັນຖືກກໍານົດເປັນ 002, ໄຟລ໌ ແລະໄດເລກະທໍລີທີ່ທ່ານສ້າງໃນຂະນະທີ່ຢູ່ໃນກຸ່ມໃຫມ່ຈະສາມາດເຂົ້າເຖິງສະມາຊິກອື່ນໆຂອງກຸ່ມນັ້ນໄດ້; ທ່ານບໍ່ຈໍາເປັນຕ້ອງໃຊ້ chmod.
ໄດ້ ຮາກ ຜູ້ໃຊ້ປົກກະຕິແລ້ວມີການອະນຸຍາດການສ້າງໄຟລ໌ເລີ່ມຕົ້ນທີ່ເຂັ້ມງວດກວ່າ:
[root@estoban root]# umask 022
[root@estoban root]# umask 022
ຄ່າເລີ່ມຕົ້ນເຫຼົ່ານີ້ແມ່ນຖືກຕັ້ງໃຫ້ທົ່ວລະບົບໃນໄຟລ໌ການຕັ້ງຄ່າຊັບພະຍາກອນຂອງ shell, ຕົວຢ່າງ /etc/bashrc or
/etc/profile. ທ່ານສາມາດປ່ຽນພວກມັນໄດ້ໃນໄຟລ໌ການຕັ້ງຄ່າແກະຂອງເຈົ້າເອງ, ເບິ່ງບົດທີ 7 ກ່ຽວກັບການປັບແຕ່ງສະພາບແວດລ້ອມແກະຂອງເຈົ້າ.
![]()
3.4.2.4. ການປ່ຽນແປງຄວາມເປັນເຈົ້າຂອງຜູ້ໃຊ້ແລະກຸ່ມ
ໃນເວລາທີ່ໄຟລ໌ເປັນເຈົ້າຂອງໂດຍຜູ້ໃຊ້ຫຼືກຸ່ມທີ່ຜິດພາດ, ຄວາມຜິດພາດສາມາດໄດ້ຮັບການສ້ອມແປງໄດ້ chown (ປ່ຽນເຈົ້າຂອງ) ແລະ chgrp (ປ່ຽນກຸ່ມ) ຄໍາສັ່ງ. ການປ່ຽນແປງການເປັນເຈົ້າຂອງໄຟລ໌ແມ່ນເປັນວຽກບໍລິຫານລະບົບເລື້ອຍໆໃນສະພາບແວດລ້ອມທີ່ໄຟລ໌ຕ້ອງຖືກແບ່ງປັນໃນກຸ່ມ. ທັງສອງຄໍາສັ່ງແມ່ນມີຄວາມຍືດຫຍຸ່ນຫຼາຍ, ຕາມທີ່ເຈົ້າສາມາດຊອກຫາໄດ້ໂດຍການໃຊ້ - ຊ່ວຍ ທາງເລືອກ.
ໄດ້ chown ຄໍາສັ່ງສາມາດຖືກນໍາໃຊ້ເພື່ອປ່ຽນການເປັນເຈົ້າຂອງທັງຜູ້ໃຊ້ແລະກຸ່ມຂອງໄຟລ໌, ໃນຂະນະທີ່ chgrp ພຽງແຕ່ມີການປ່ຽນແປງຄວາມເປັນເຈົ້າຂອງກຸ່ມ. ແນ່ນອນລະບົບຈະກວດເບິ່ງວ່າຜູ້ໃຊ້ທີ່ອອກຄໍາສັ່ງເຫຼົ່ານີ້ມີສິດພຽງພໍໃນໄຟລ໌ທີ່ນາງຕ້ອງການປ່ຽນ.
ເພື່ອປ່ຽນສິດຄວາມເປັນເຈົ້າຂອງໄຟລ໌ຂອງຜູ້ໃຊ້ເທົ່ານັ້ນ, ໃຫ້ໃຊ້ syntax ນີ້:
chown ຜູ້ໃຊ້ໃຫມ່ ເອກະສານ
ຖ້າທ່ານໃຊ້ຈໍ້າສອງເມັດຫຼັງຈາກຊື່ຜູ້ໃຊ້ (ເບິ່ງຫນ້າຂໍ້ມູນ), ຄວາມເປັນເຈົ້າຂອງກຸ່ມຈະຖືກປ່ຽນເຊັ່ນດຽວກັນ, ກັບກຸ່ມຜູ້ໃຊ້ຕົ້ນຕໍທີ່ອອກຄໍາສັ່ງ. ໃນລະບົບ Linux, ຜູ້ໃຊ້ແຕ່ລະຄົນມີກຸ່ມຂອງຕົນເອງ, ດັ່ງນັ້ນແບບຟອມນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເຮັດໃຫ້ໄຟລ໌ສ່ວນຕົວ:
jacky:~> id
uid=1304(jacky) gid=(1304) groups=1304(jacky),2034(ໂຄງການ)
jacky:~> ls -l my_report
-rw-rw-r-- 1 ໂຄງການ jacky 29387 Jan 15 09:34 my_report jacky:~> chown jacky: my_report
jacky:~> chmod ຫຼື my_report
jacky:~> ls -l my_report
-rw-rw---- 1 jacky jacky 29387 ມັງກອນ 15 09:34 my_report
jacky:~> id
uid=1304(jacky) gid=(1304) groups=1304(jacky),2034(ໂຄງການ)
jacky:~> ls -l my_report
-rw-rw-r-- 1 ໂຄງການ jacky 29387 Jan 15 09:34 my_report jacky:~> chown jacky: my_report
jacky:~> chmod ຫຼື my_report
jacky:~> ls -l my_report
-rw-rw---- 1 jacky jacky 29387 ມັງກອນ 15 09:34 my_report
If jacky ຕ້ອງການແບ່ງປັນໄຟລ໌ນີ້, ໂດຍບໍ່ຈໍາເປັນຕ້ອງໃຫ້ທຸກຄົນອະນຸຍາດໃຫ້ຂຽນມັນ, ລາວສາມາດນໍາໃຊ້ໄດ້
ຄໍາສັ່ງ chgrp:
jacky:~> ls -l report-20020115.xls
-rw-rw---- 1 jacky jacky 45635 ມັງກອນ 15 09:35 report-20020115.xls jacky:~> chgrp project report-20020115.xls
jacky:~> chmod o=ລາຍງານ-20020115.xls
jacky:~> ls -l report-20020115.xls
-rw-rw---- 1 jacky project 45635 Jan 15 09:35 report-20020115.xls
jacky:~> ls -l report-20020115.xls
-rw-rw---- 1 jacky jacky 45635 ມັງກອນ 15 09:35 report-20020115.xls jacky:~> chgrp project report-20020115.xls
jacky:~> chmod o=ລາຍງານ-20020115.xls
jacky:~> ls -l report-20020115.xls
-rw-rw---- 1 jacky project 45635 Jan 15 09:35 report-20020115.xls
ດ້ວຍວິທີນີ້, ຜູ້ໃຊ້ໃນກຸ່ມ ໂຄງການ ຈະສາມາດເຮັດວຽກໃນໄຟລ໌ນີ້. ຜູ້ໃຊ້ທີ່ບໍ່ຢູ່ໃນກຸ່ມນີ້ບໍ່ມີທຸລະກິດກັບມັນເລີຍ.
ທັງສອງ chown ແລະ chgrp ສາມາດໃຊ້ເພື່ອປ່ຽນແປງການເປັນເຈົ້າຂອງແບບ recursively, ການນໍາໃຊ້ -R ທາງເລືອກ. ໃນກໍລະນີດັ່ງກ່າວ, ໄຟລ໌ທັງຫມົດທີ່ຕິດພັນແລະ subdirectories ຂອງລະບົບທີ່ໃຫ້ຈະເປັນຂອງຜູ້ໃຊ້ແລະ / ຫຼືກຸ່ມທີ່ໄດ້ຮັບ.
ມີຂໍ້ຈໍາກັດ
ໃນລະບົບສ່ວນໃຫຍ່, ການນໍາໃຊ້ chown ແລະ chgrp ຄໍາສັ່ງຖືກຈໍາກັດສໍາລັບຜູ້ໃຊ້ທີ່ບໍ່ມີສິດທິພິເສດ. ຖ້າທ່ານບໍ່ແມ່ນຜູ້ເບິ່ງແຍງລະບົບ, ທ່ານບໍ່ສາມາດປ່ຽນຄວາມເປັນເຈົ້າຂອງຜູ້ໃຊ້ຫຼືກຸ່ມສໍາລັບເຫດຜົນດ້ານຄວາມປອດໄພ. ຖ້າການນໍາໃຊ້ຄໍາສັ່ງເຫຼົ່ານີ້ຈະບໍ່ຖືກຈໍາກັດ, ຜູ້ໃຊ້ທີ່ເປັນອັນຕະລາຍສາມາດມອບສິດຄວາມເປັນເຈົ້າຂອງໄຟລ໌ໃຫ້ກັບຜູ້ໃຊ້ອື່ນແລະ / ຫຼືກຸ່ມແລະປ່ຽນພຶດຕິກໍາຂອງສະພາບແວດລ້ອມຂອງຜູ້ໃຊ້ເຫຼົ່ານັ້ນແລະແມ້ກະທັ້ງສ້າງຄວາມເສຍຫາຍຕໍ່ໄຟລ໌ຂອງຜູ້ໃຊ້ອື່ນໆ.
![]()
3.4.2.5. ໂໝດພິເສດ
ສໍາລັບຜູ້ເບິ່ງແຍງລະບົບທີ່ຈະບໍ່ເບື່ອຫນ່າຍໃນການແກ້ໄຂບັນຫາການອະນຸຍາດຕະຫຼອດເວລາ, ສິດທິພິເສດສາມາດຖືກມອບໃຫ້ກັບໄດເລກະທໍລີທັງຫມົດ, ຫຼືແຍກໂປຼແກຼມຕ່າງໆ. ມີສາມໂຫມດພິເສດ:
• ໂໝດ Sticky bit: ຫຼັງຈາກປະຕິບັດວຽກໃດໜຶ່ງແລ້ວ, ຄຳສັ່ງຈະຖືກເກັບໄວ້ໃນໜ່ວຍຄວາມຈຳຂອງລະບົບ. ໃນເບື້ອງຕົ້ນນີ້ແມ່ນຄຸນສົມບັດທີ່ໃຊ້ຫຼາຍເພື່ອຊ່ວຍປະຢັດຫນ່ວຍຄວາມຈໍາ: ວຽກໃຫຍ່ຈະຖືກໂຫລດເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາພຽງແຕ່ຄັ້ງດຽວ. ແຕ່ມື້ນີ້ຄວາມຊົງຈໍາມີລາຄາຖືກແລະມີເຕັກນິກທີ່ດີກວ່າໃນການຈັດການມັນ, ດັ່ງນັ້ນມັນບໍ່ໄດ້ຖືກນໍາໃຊ້ອີກຕໍ່ໄປສໍາລັບຄວາມສາມາດເພີ່ມປະສິດທິພາບຂອງມັນຢູ່ໃນໄຟລ໌ດຽວ. ເມື່ອນໍາໃຊ້ກັບໄດເລກະທໍລີທັງຫມົດ, ແນວໃດກໍ່ຕາມ, ບິດຫນຽວມີຄວາມຫມາຍແຕກຕ່າງກັນ. ໃນກໍລະນີດັ່ງກ່າວ, ຜູ້ໃຊ້ສາມາດປ່ຽນໄຟລ໌ໃນໄດເລກະທໍລີນີ້ພຽງແຕ່ເມື່ອນາງເປັນເຈົ້າຂອງຜູ້ໃຊ້ຂອງໄຟລ໌ຫຼືເມື່ອໄຟລ໌ມີການອະນຸຍາດທີ່ເຫມາະສົມ. ຄຸນນະສົມບັດນີ້ຖືກນໍາໃຊ້ໃນໄດເລກະທໍລີເຊັ່ນ
![]()
/ var / tmp, ທີ່ຈະຕ້ອງສາມາດເຂົ້າເຖິງໄດ້ສໍາລັບທຸກຄົນ, ແຕ່ບ່ອນທີ່ມັນບໍ່ເຫມາະສົມສໍາລັບຜູ້ໃຊ້ທີ່ຈະປ່ຽນຫຼືລຶບຂໍ້ມູນຂອງແຕ່ລະຄົນ. ໜຽວແມ່ນຊີ້ບອກໂດຍ ກ t ໃນຕອນທ້າຍຂອງຊ່ອງການອະນຸຍາດໄຟລ໌:
ໝາຍ:~> ls -ld /var/tmp
drwxrwxrwt 19 ຮາກຮາກ
8192 ມັງກອນ 16 10:37 /var/tmp/
ໝາຍ:~> ls -ld /var/tmp
drwxrwxrwt 19 ຮາກຮາກ
ບິດຫນຽວແມ່ນຖືກກໍານົດໂດຍໃຊ້ຄໍາສັ່ງ chmod o+t ລະບົບ. ຕົ້ນກໍາເນີດປະຫວັດສາດຂອງ "t" ແມ່ນຢູ່ໃນ UNIX' ບັນທຶກການເຂົ້າເຖິງຂໍ້ຄວາມ ຄຸນນະສົມບັດ.
• SUID (ຕັ້ງ ID ຜູ້ໃຊ້) ແລະ SGID (ຕັ້ງ ID ກຸ່ມ): ເປັນຕົວແທນໂດຍຕົວອັກສອນ s ຢູ່ໃນຊ່ອງສິດຜູ້ໃຊ້ ຫຼືກຸ່ມ. ເມື່ອໂຫມດນີ້ຖືກຕັ້ງຢູ່ໃນໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້, ມັນຈະດໍາເນີນການກັບຜູ້ໃຊ້ແລະກຸ່ມການອະນຸຍາດໃນໄຟລ໌ແທນທີ່ຈະກັບຜູ້ໃຊ້ທີ່ອອກຄໍາສັ່ງ, ດັ່ງນັ້ນຈຶ່ງໃຫ້ການເຂົ້າເຖິງຊັບພະຍາກອນຂອງລະບົບ. ພວກເຮົາຈະພິຈາລະນາເລື່ອງນີ້ຕື່ມອີກໃນບົດທີ 4.

• SGID (ຕັ້ງ ID ກຸ່ມ) ໃນໄດເລກະທໍລີ: ໃນກໍລະນີພິເສດນີ້ທຸກໆໄຟລ໌ທີ່ສ້າງຢູ່ໃນໄດເລກະທໍລີຈະມີເຈົ້າຂອງກຸ່ມດຽວກັນກັບໄດເລກະທໍລີຂອງມັນເອງ (ໃນຂະນະທີ່ພຶດຕິກໍາປົກກະຕິແມ່ນໄຟລ໌ໃຫມ່ແມ່ນເປັນເຈົ້າຂອງໂດຍຜູ້ໃຊ້ສ້າງມັນ). ດ້ວຍວິທີນີ້, ຜູ້ໃຊ້ບໍ່ຈໍາເປັນຕ້ອງກັງວົນກ່ຽວກັບການເປັນເຈົ້າຂອງໄຟລ໌ໃນເວລາທີ່ແບ່ງປັນໄດເລກະທໍລີ:
ມິມີ:~> ls -ld /opt/docs
drwxrws--- 4 ຜູ້ໃຊ້ຮາກ
4096 25 ກໍລະກົດ 2001 docs/
ມິມີ:~> ls -ld /opt/docs
drwxrws--- 4 ຜູ້ໃຊ້ຮາກ
ມິມີ:~> ls -l /opt/docs
-rw-rw---- 1 ຜູ້ໃຊ້ mimi
345672 Aug 30 2001-Council.doc
ມິມີ:~> ls -l /opt/docs
-rw-rw---- 1 ຜູ້ໃຊ້ mimi
ນີ້ແມ່ນວິທີມາດຕະຖານຂອງການແບ່ງປັນໄຟລ໌ໃນ UNIX.
ໄຟລ໌ທີ່ມີຢູ່ແລ້ວຖືກປະໄວ້ບໍ່ປ່ຽນແປງ!
ໄຟລ໌ທີ່ຖືກຍ້າຍໄປຢູ່ໃນໄດເລກະທໍລີ SGID ແຕ່ຖືກສ້າງຂື້ນຢູ່ບ່ອນອື່ນຮັກສາຜູ້ໃຊ້ຕົ້ນສະບັບແລະເຈົ້າຂອງກຸ່ມຂອງພວກເຂົາ. ນີ້ອາດຈະສັບສົນ.
![]()
ເອກະສານ