ວິທີການ ຈຳ ກັດຜູ້ໃຊ້ SFTP ເຂົ້າໃນບັນດາລາຍການເຮືອນໂດຍໃຊ້ chroot Jail


ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບວິທີການ ຈຳ ກັດຜູ້ ນຳ ໃຊ້ SFTP ເຂົ້າໃນບັນດາລາຍການເຮືອນຫຼືລາຍການສະເພາະ. ມັນຫມາຍຄວາມວ່າຜູ້ໃຊ້ສາມາດເຂົ້າເຖິງໄດເລກະທໍລີຢູ່ເຮືອນຂອງຕົນເທົ່ານັ້ນ, ບໍ່ແມ່ນລະບົບແຟ້ມທັງ ໝົດ.

ການ ຈຳ ກັດການ ນຳ ໃຊ້ເວັບໄຊທ໌້ຜູ້ໃຊ້ແມ່ນມີຄວາມ ສຳ ຄັນ, ໂດຍສະເພາະໃນສະພາບແວດລ້ອມເຊີຟເວີທີ່ໃຊ້ຮ່ວມກັນ, ເພື່ອໃຫ້ຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຈະບໍ່ເຂົ້າໄປເບິ່ງແຟ້ມແລະແຟ້ມຂອງຜູ້ໃຊ້ຄົນອື່ນ.

ສິ່ງທີ່ ສຳ ຄັນ: ກະລຸນາຮັບຊາບວ່າຈຸດປະສົງຂອງບົດຄວາມນີ້ແມ່ນເພື່ອໃຫ້ການເຂົ້າເຖິງ SFTP ເທົ່ານັ້ນ, ບໍ່ແມ່ນການເຂົ້າສູ່ລະບົບ SSH ເທົ່ານັ້ນ, ໂດຍປະຕິບັດຕາມບົດຄວາມນີ້ຈະມີສິດອະນຸຍາດໃຫ້ ດຳ ເນີນການໂອນຍ້າຍເອກະສານ, ແຕ່ບໍ່ອະນຸຍາດໃຫ້ເຮັດ SSH ໄລຍະໄກ.

ວິທີທີ່ງ່າຍທີ່ສຸດໃນການເຮັດສິ່ງນີ້, ແມ່ນການສ້າງສະພາບແວດລ້ອມໃນຄຸກ ສຳ ລັບການເຂົ້າເຖິງ SFTP. ວິທີການນີ້ແມ່ນຄືກັນກັບທຸກໆລະບົບປະຕິບັດການຂອງ Unix/Linux. ການ ນຳ ໃຊ້ສະພາບແວດລ້ອມທີ່ບໍ່ຖືກຕ້ອງ, ພວກເຮົາສາມາດ ຈຳ ກັດຜູ້ຊົມໃຊ້ບໍ່ວ່າຈະຢູ່ໃນລະບົບເຮືອນຂອງພວກເຂົາຫລືຢູ່ໃນລະບົບສະເພາະໃດ ໜຶ່ງ

ຈຳ ກັດຜູ້ຊົມໃຊ້ເຂົ້າໃນບັນດາລາຍການເຮືອນ

ໃນພາກນີ້, ພວກເຮົາຈະສ້າງກຸ່ມ ໃໝ່ ທີ່ມີຊື່ວ່າ sftpgroup ແລະມອບສິດເປັນເຈົ້າຂອງແລະສິດອະນຸຍາດໃຫ້ບັນຊີຜູ້ໃຊ້. ມີສອງທາງເລືອກໃນການ ຈຳ ກັດຜູ້ໃຊ້ເຂົ້າໃນເຮືອນຫລືລາຍການສະເພາະ, ພວກເຮົາຈະເຫັນທັງສອງທາງໃນບົດຄວາມນີ້.

ຂໍໃຫ້ພວກເຮົາ ຈຳ ກັດຜູ້ໃຊ້ທີ່ມີຢູ່, ຍົກຕົວຢ່າງ tecmint , ໃສ່ໃນລະບົບທີ່ຢູ່ເຮືອນຂອງລາວຊື່ວ່າ /home/tecmint . ສຳ ລັບສິ່ງນີ້, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງກຸ່ມ sftpgroup ໃໝ່ ໂດຍໃຊ້ ຄຳ ສັ່ງ groupadd ດັ່ງທີ່ສະແດງ:

# groupadd sftpgroup

ຕໍ່ໄປ, ໃຫ້ຜູ້ໃຊ້ 'tecmint' ເຂົ້າໄປໃນກຸ່ມ sftpgroup.

# usermod -G sftpgroup tecmint

ທ່ານຍັງສາມາດສ້າງຜູ້ໃຊ້ ໃໝ່ ໂດຍໃຊ້ ຄຳ ສັ່ງ Useradd, ຍົກຕົວຢ່າງ senthil ແລະ ກຳ ນົດໃຫ້ຜູ້ໃຊ້ເຂົ້າໃນກຸ່ມ sftpusers.

# adduser senthil -g sftpgroup -s /sbin/nologin
# passwd tecmint

ເປີດແລະເພີ່ມສາຍຕໍ່ໄປນີ້ /etc/ssh/sshd_config ແຟ້ມການຕັ້ງຄ່າ.

Subsystem sftp internal-sftp
 
   Match Group sftpgroup
   ChrootDirectory /home
   ForceCommand internal-sftp
   X11Forwarding no
   AllowTcpForwarding no

ບັນທຶກແລະອອກຈາກແຟ້ມ, ເລີ່ມການບໍລິການ sshd ເພື່ອໃຫ້ມີການປ່ຽນແປງ ໃໝ່.

# systemctl restart sshd
OR
# service sshd restart

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

# chmod 700 /home/tecmint

ດຽວນີ້, ມັນເຖິງເວລາແລ້ວທີ່ຈະກວດສອບການເຂົ້າສູ່ລະບົບຈາກລະບົບທ້ອງຖິ່ນ. ພະຍາຍາມ ssh ລະບົບຫ່າງໄກສອກຫຼີກຂອງທ່ານຈາກລະບົບທ້ອງຖິ່ນຂອງທ່ານ.

# ssh [email 

ທີ່ນີ້,

<

  • tecmint - ຊື່ຜູ້ໃຊ້ຂອງລະບົບຫ່າງໄກສອກຫຼີກ.
  • 192.168.1.150 - ທີ່ຢູ່ IP ຂອງລະບົບຫ່າງໄກສອກຫຼີກ.
  • [email 's password: 
    Could not chdir to home directory /home/tecmint: No such file or directory
    This service allows sftp connections only.
    Connection to 192.168.1.150 closed.
    

    ຈາກນັ້ນ, ເຂົ້າໃຊ້ລະບົບຫ່າງໄກສອກຫຼີກໂດຍໃຊ້ SFTP.

    # sftp [email 
    
    [email 's password: 
    Connected to 192.168.1.150.
    sftp>
    

    ໃຫ້ພວກເຮົາກວດເບິ່ງໄດເລກະທໍລີເຮັດວຽກໃນປະຈຸບັນ:

    sftp&gt pwd
    Remote working directory: /
    
    sftp&gt ls
    tecmint  
    

    ບ່ອນນີ້, tecmint ແມ່ນບ່ອນເກັບມ້ຽນທີ່ຢູ່ເຮືອນ. Cd ກັບ tecmint directory ແລະສ້າງແຟ້ມຫຼືແຟ້ມທີ່ທ່ານເລືອກ.

    sftp&gt cd tecmint
    Remote working directory: /
    
    sftp&gt mkdir test
    tecmint  
    

    ຈຳ ກັດຜູ້ຊົມໃຊ້ເຂົ້າໃນລາຍຊື່ສະເພາະ

    ໃນຕົວຢ່າງທີ່ຜ່ານມາຂອງພວກເຮົາ, ພວກເຮົາ ຈຳ ກັດຜູ້ໃຊ້ທີ່ມີຢູ່ໃນລະບົບທີ່ຢູ່ເຮືອນ. ໃນປັດຈຸບັນ, ພວກເຮົາຈະເຫັນວິທີການ ຈຳ ກັດຜູ້ໃຊ້ຄົນ ໃໝ່ ໃຫ້ກັບໄດເລກະທໍລີທີ່ ກຳ ນົດເອງ.

    ສ້າງກຸ່ມ ໃໝ່ sftpgroup .

    # groupadd sftpgroup
    

    ຕໍ່ໄປ, ສ້າງໄດເລກະທໍລີ ສຳ ລັບກຸ່ມ SFTP ແລະ ກຳ ນົດສິດອະນຸຍາດ ສຳ ລັບຜູ້ໃຊ້ຮາກ.

    # mkdir -p /sftpusers/chroot
    # chown root:root /sftpusers/chroot/
    

    ຕໍ່ໄປ, ສ້າງທິດທາງ ໃໝ່ ສຳ ລັບຜູ້ໃຊ້ແຕ່ລະຄົນ, ເຊິ່ງພວກເຂົາຈະມີການເຂົ້າເຖິງຢ່າງເຕັມທີ່. ຕົວຢ່າງ, ພວກເຮົາຈະສ້າງຜູ້ໃຊ້ tecmint ແລະມັນແມ່ນໄດເລກະທໍລີບ້ານ ໃໝ່ ໂດຍມີການອະນຸຍາດເປັນກຸ່ມທີ່ຖືກຕ້ອງໂດຍໃຊ້ຊຸດ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # adduser tecmint -g sftpgroup -s /sbin/nologin
    # passwd tecmint
    # mkdir /sftpusers/chroot/tecmint
    # chown tecmint:sftpgroup /sftpusers/chroot/tecmint/
    # chmod 700 /sftpusers/chroot/tecmint/
    

    ແກ້ໄຂຫລືເພີ່ມສາຍຕໍ່ໄປນີ້ທີ່ຢູ່ໃນຕອນທ້າຍຂອງເອກະສານ:

    #Subsystem  	sftp	/usr/libexec/openssh/sftp-server
    Subsystem sftp  internal-sftp
     
    Match Group sftpgroup
       ChrootDirectory /sftpusers/chroot/
       ForceCommand internal-sftp
       X11Forwarding no
       AllowTcpForwarding no
    

    ບັນທຶກແລະອອກຈາກແຟ້ມ. ເລີ່ມບໍລິການ sshd ເພື່ອມີຜົນຕໍ່ການປ່ຽນແປງທີ່ບັນທຶກໄວ້.

    # systemctl restart sshd
    OR
    # service sshd restart
    

    ນັ້ນແມ່ນມັນ, ທ່ານສາມາດກວດເບິ່ງໂດຍການເຂົ້າສູ່ລະບົບເຊີຟເວີ SSH ແລະ SFTP ທີ່ຢູ່ຫ່າງໄກຂອງທ່ານໂດຍໃຊ້ຂັ້ນຕອນທີ່ລະບຸໄວ້ຂ້າງເທິງນີ້ໃນການເຂົ້າລະບົບການຢັ້ງຢືນ SSH ແລະ SFTP.

    ຈົ່ງຈື່ໄວ້ວ່າວິທີການນີ້ຈະເຮັດໃຫ້ການເຂົ້າເຖິງຫອຍເຂົ້າໃຊ້ໄດ້, ເຊັ່ນວ່າທ່ານບໍ່ສາມາດເຂົ້າເຖິງລະບົບຫອຍຂອງລະບົບຫ່າງໄກສອກຫຼີກໂດຍໃຊ້ SSH. ທ່ານພຽງແຕ່ສາມາດເຂົ້າເຖິງລະບົບຫ່າງໄກສອກຫຼີກຜ່ານ SFTP ແລະເຮັດການໂອນໄຟລ໌ໄປຫາແລະຈາກລະບົບທ້ອງຖິ່ນແລະຫ່າງໄກສອກຫຼີກ.

    ສະຫຼຸບ

    ໃນປັດຈຸບັນທ່ານຮູ້ວິທີທີ່ຈະ ຈຳ ກັດລາຍການເຮືອນຂອງຜູ້ໃຊ້ໂດຍໃຊ້ສະພາບແວດລ້ອມ Chroot ໃນ Linux. ຖ້າທ່ານເຫັນວ່າສິ່ງນີ້ມີປະໂຫຍດ, ໃຫ້ແບ່ງປັນບົດຄວາມນີ້ໃນເຄືອຂ່າຍສັງຄົມຂອງທ່ານແລະແຈ້ງໃຫ້ພວກເຮົາຮູ້ໃນພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ຖ້າມີວິທີອື່ນໃດທີ່ຈະ ຈຳ ກັດລາຍການເຮືອນຂອງຜູ້ໃຊ້.