w3pop.com :: ÍøÂçѧԺ :: Linux :: Ubuntu LinuxÖ®¼ÓÃÜÎļþϵͳ
±¾ÎĽ«Ïêϸ½éÉÜÀûÓÃdm-cryptÀ´´´½¨¼ÓÃÜÎļþϵͳµÄ·½·¨¡£ÓëÆäËü´´½¨¼ÓÃÜÎļþϵͳµÄ·½·¨Ïà±È£¬dm -cryptϵͳÓÐ×ÅÎ޿ɱÈÄâµÄÓÅÔ½ÐÔ£ºËüµÄËٶȸü¿ì£¬Ò×ÓÃÐÔ¸üÇ¿¡£³ý´ËÖ®Í⣬ËüµÄÊÊÓÃÃæÒ²ºÜ¹ã£¬Äܹ»ÔËÐÐÔÚ¸÷ÖÖ¿éÉ豸ÉÏ£¬¼´Ê¹ÕâЩÉ豸ʹÓÃÁËRAIDºÍ LVMÒ²ºÁÎÞÕϰ¡£
µ±Ubuntu LinuxʹÓüÓÃÜÎļþϵͳºó£¬Êý¾ÝµÄ°²È«Äܵõ½ºÜºÃµÄ±£»¤¡£ÔÚÕâÖÖÇé¿öÏ£¬¼´Ê¹°ÑÎÒÃǵĻúÆ÷Ë͸øºÚ¿Í£¬Ö»ÒªËûÃÇûÓÐÃÜÔ¿£¬ºÚ¿Í¿´µ½µÄÊý¾ÝÖ»»áÊÇÒ»¶ÑÂÒÂ룬ºÁÎÞÀûÓüÛÖµ¿ÉÑÔ¡£
±¾ ÎĽ«Ïêϸ½éÉÜÀûÓÃdm-cryptÀ´´´½¨¼ÓÃÜÎļþϵͳµÄ·½·¨¡£ÓëÆäËü´´½¨¼ÓÃÜÎļþϵͳµÄ·½·¨Ïà±È£¬dm-cryptϵͳÓÐ×ÅÎ޿ɱÈÄâµÄÓÅÔ½ÐÔ£ºËüµÄËٶȸü ¿ì£¬Ò×ÓÃÐÔ¸üÇ¿¡£³ý´ËÖ®Í⣬ËüµÄÊÊÓÃÃæÒ²ºÜ¹ã£¬Äܹ»ÔËÐÐÔÚ¸÷ÖÖ¿éÉ豸ÉÏ£¬¼´Ê¹ÕâЩÉ豸ʹÓÃÁËRAIDºÍ LVMÒ²ºÁÎÞÕϰ¡£dm-cryptϵͳ֮ËùÒÔ¾ßÓÐÕâЩÓŵ㣬Ö÷ÒªµÃÒæÓڸü¼ÊõÊǽ¨Á¢ÔÚ2.6°æ±¾Äں˵Ädevice-mapperÌØÐÔÖ®Éϵġ£ device-mapperÊÇÉè¼ÆÓÃÀ´ÎªÔÚʵ¼ÊµÄ¿éÉ豸֮ÉÏÌí¼ÓÐéÄâ²ãÌṩһÖÖͨÓÃÁé»îµÄ·½·¨£¬ÒÔ·½±ã¿ª·¢ÈËԱʵÏÖ¾µÏñ¡¢¿ìÕÕ¡¢¼¶ÁªºÍ¼ÓÃܵȴ¦Àí¡£´ËÍ⣬ dm-cryptʹÓÃÁËÄÚºËÃÜÂëÓ¦Óñà³Ì½Ó¿ÚʵÏÖÁË͸Ã÷µÄ¼ÓÃÜ£¬²¢ÇÒ¼æÈÝcryptloopϵͳ¡£
dm -cryptÀûÓÃÄں˵ÄÃÜÂëÓ¦Óñà³Ì½Ó¿ÚÀ´Íê³ÉÃÜÂë²Ù×÷¡£Ò»°ã˵À´£¬ÄÚºËͨ³£½«¸÷ÖÖ¼ÓÃܳÌÐòÒÔÄ£¿éµÄÐÎʽ¼ÓÔØ¡£¶ÔÓÚ256-bit AESÀ´Ëµ£¬Æä°²È«Ç¿¶ÈÒѾ·Ç³£Ö®¸ß£¬¼´±ãÓÃÀ´±£»¤¾øÃܼ¶µÄÊý¾ÝÒ²×ã¹»ÁË¡£Òò´Ë±¾ÎÄÖÐÎÒÃÇʹÓÃ256-bit AESÃÜÂ룬ΪÁ˱£Ö¤ÄúµÄÄÚºËÒѾ¼ÓÔØAESÃÜÂëÄ£¿é£¬ÇëÀûÓÃÏÂÁÐÃüÁî½øÐмì²é£º
| $ cat /proc/crypto |
Èç¹û¿´µ½ÀàËÆÏÂÃæµÄÊä³öµÄ»°£¬ËµÃ÷AESÄ£¿éÒѾ¼ÓÔØ£º
| name : aes module : aes type : cipher blocksize : 16 min keysize : 16 max keysize : 32 |
·ñÔò£¬ÎÒÃÇ¿ÉÒÔÀûÓÃmodprobeÀ´ÊÖ¹¤¼ÓÔØAESÄ£¿é£¬ÃüÁîÈçÏÂËùʾ£º
| $ sudo modprobe aes |
½ÓÏÂÀ´°²×°dmsetupÈí¼þ°ü£¬¸ÃÈí¼þ°üº¬ÓÐÅäÖÃdevice-mapperËùÐèµÄ¹¤¾ß£º
| $ sudo apt-get install dmsetup cryptsetup |
| $ ls -l /dev/mapper/control |
| $ sudo modprobe dm-crypt |
| $ sudo dmsetup targets |
| crypt v1.1.0 striped v1.0.2 linear v1.0.1 error v1.0.1 |
Òª´´½¨×÷Ϊ¼ÓÃÜÉè±¸×°ÔØµÄÎļþϵͳ£¬ÓÐÁ½ÖÖÑ¡Ôñ£ºÒ»Êǽ¨Á¢Ò»¸ö´ÅÅÌÓ³Ïñ£¬È»ºó×÷Ϊ»ØËÍÉ豸¼ÓÔØ£»¶þÊÇʹÓÃÎïÀíÉ豸¡£ÎÞÂÛÄÇÖÖÇé¿ö£¬³ýÁËÔÚ½¨Á¢ºÍÀ¦°ó»ØËÍÉ豸Í⣬ÆäËü²Ù×÷¹ý³Ì¶¼ÊÇÏàËÆµÄ¡£
1.½¨Á¢»ØËÍ´ÅÅÌÓ³Ïó
Èç¹ûÄãûÓÐÓÃÀ´¼ÓÃܵÄÎïÀíÉ豸£¨±ÈÈç´æ´¢°ô»òÁíÍâµÄ´ÅÅÌ·ÖÇø£©£¬×÷ÎªÌæ»»£¬Äã¿ÉÒÔÀûÓÃÃüÁîddÀ´½¨Á¢Ò»¸ö¿Õ´ÅÅÌÓ³Ïó£¬È»ºó½«¸ÃÓ³Ïó×÷Ϊ»ØËÍÉ豸À´×°ÔØ£¬ÕÕÑùÄÜÓá£ÏÂÃæÎÒÃÇÒÔʵÀýÀ´¼ÓÒÔ½éÉÜ£º
| $ dd if=/dev/zero of=~/secret.img bs=1M count=100 |
ÕâÀïÎÒÃÇн¨ÁËÒ»¸ö´óСΪ100 MBµÄ´ÅÅÌÓ³Ï󣬸ÃÓ³ÏóÃû×ÖΪsecret.img¡£ÒªÏë¸Ä±äÆä´óС£¬¿ÉÒԸıäcountµÄÖµ¡£
½ÓÏÂÀ´£¬ÎÒÃÇÀûÓÃlosetupÃüÁ¸ÃÓ³ÏóºÍÒ»¸ö»ØËÍÉ豸ÁªÏµÆðÀ´£º
| $ sudo losetup /dev/loop/0 ~/secret.img |
ÏÖÔÚ£¬ÎÒÃÇÒѾµÃµ½ÁËÒ»¸öÐéÄâµÄ¿éÉ豸£¬ÆäλÓÚ/dev/loop/0£¬²¢ÇÒÎÒÃÇÄܹ»ÈçͬʹÓÃÆäËüÉ豸ÄÇÑùÀ´Ê¹ÓÃËü¡£
2.ÉèÖÿéÉ豸
×¼±¸ºÃÁËÎïÀí¿éÉ豸£¨ÀýÈç/dev/sda1£©£¬»òÕßÊÇÐéÄâ¿éÉ豸£¨ÏñÇ°ÃæÄÇÑù½¨Á¢ÁË»ØËÍÓ³Ï󣬲¢ÀûÓÃdevice-mapper½«Æä×÷Ϊ¼ÓÃܵÄÂß¼¾í¼ÓÔØ£©£¬ÎÒÃǾͿÉÒÔ½øÐпéÉ豸ÅäÖÃÁË¡£
ÏÂÃæÎÒÃÇʹÓÃcryptsetupÀ´½¨Á¢Âß¼¾í£¬²¢½«ÆäÓë¿éÉ豸À¦°ó£º
| $ sudo cryptsetup -y create myEncryptedFilesystem /dev/DEVICENAME |
| $ sudo cryptsetup -y create myEncryptedFilesystem /dev/loop/0 |
| $ sudo dmsetup ls |
| myEncryptedFilesystem (221, 0) |
| $ sudo mkfs.ext3 /dev/mapper/myEncryptedFilesystem |
| $ sudo mkdir /mnt/myEncryptedFilesystem $ sudo mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem |
| $ df -h /mnt/myEncryptedFilesystem Filesystem Size Used Avail Use% Mounted on /dev/mapper/myEncryptedFilesystem 97M 2.1M 90M 2% /mnt/myEncryptedFilesystem |
ÒªÐ¶ÔØ¼ÓÃÜÎļþϵͳ£¬ºÍƽ³£µÄ·½·¨Ã»Ê²Ã´Á½Ñù£º
| $ sudo umount /mnt/myEncryptedFilesystem |
¼´ ±ãÒÑ¾Ð¶ÔØÁË¿éÉ豸£¬ÔÚdm-cryptÖÐÈÔÈ»ÊÓΪһ¸öÐéÄâÉ豸¡£ÈçÈô²»ÐÅ£¬Äã¿ÉÒÔÔÙ´ÎÔËÐÐÃüÁîsudo dmsetup lsÀ´Ñé֤һϣ¬Äã»á¿´µ½¸ÃÉ豸ÒÀÈ»»á±»Áгö¡£ÒòΪdm-crypt»º´æÁË¿ÚÁËùÒÔ»úÆ÷ÉÏµÄÆäËüÓû§²»ÐèÒªÖªµÀ¿ÚÁî¾ÍÄÜÖØÐÂ×°ÔØ¸ÃÉ豸¡£ÎªÁ˱ÜÃâÕâÖÖÇé ¿ö·¢Éú£¬Äã±ØÐëÔÚÐ¶ÔØÉ豸ºó´Ódm-cryptÖÐÏÔʽµÄɾ³ý¸ÃÉ豸¡£ÃüÁî¾ßÌåÈçÏÂËùʾ£º
| $ sudo cryptsetup remove myEncryptedFilesystem |
´Ëºó£¬Ëü½«³¹µ×Çå³ý£¬ÒªÏëÔÙ´Î×°ÔØµÄ»°£¬Äã±ØÐëÔÙ´ÎÊäÈë¿ÚÁΪÁ˼ò»¯¸Ã¹ý³Ì£¬ÎÒÃÇ¿ÉÒÔÀûÓÃÒ»¸ö¼òµ¥µÄ½Å±¾À´Íê³ÉÐ¶ÔØºÍÇå³ý¹¤×÷£º
| #!/bin/sh umount /mnt/myEncryptedFilesystem cryptsetup remove myEncryptedFilesystem |
ÔÚÐ¶ÔØ¼ÓÃÜÉ豸ºó£¬ÎÒÃǺܿÉÄÜ»¹Ðè×÷ΪÆÕͨÓû§À´×°ÔØËüÃÇ¡£ÎªÁ˼ò»¯¸Ã¹¤×÷£¬ÎÒÃÇÐèÒªÔÚ/etc/fstabÎļþÖÐÌí¼ÓÏÂÁÐÄÚÈÝ£º
| /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem ext3 noauto,noatime 0 0 |
| #!/bin/sh cryptsetup create myEncryptedFilesystem /dev/DEVICENAME mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem |
| #!/bin/sh losetup /dev/loop/0 ~/secret.img cryptsetup create myEncryptedFilesystem /dev/loop/0 mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem |
Èç¹ûÅäÖÃÁËPAM£¨Pluggable Authentication Modules£¬¼´¿É²åÈëʽ¼ø±ðÄ£¿é£©×ÓϵͳÔÚÄúµÇÂ¼Ê±×°ÔØÖ÷Ŀ¼µÄ»°£¬ÄãÉõÖÁ»¹ÄܼÓÃÜÕû¸öÖ÷Ŀ¼¡£ÒòΪlibpam-mountÄ£¿éÔÊÐíPAMÔÚÓû§µÇ ¼ʱ×Ô¶¯×°ÔØÈÎÒâÉ豸£¬ËùÒÔÎÒÃÇÒªÁ¬Í¬opensslÒ»ÆðÀ´°²×°¸ÃÄ£¿é¡£ÃüÁîÈçÏÂËùʾ£º
| $ sudo apt-get install libpam-mount openssl |
½ÓÏÂÀ´£¬±à¼Îļþ/etc/pam.d/common-auth£¬ÔÚÆäĩβÌí¼ÓÏÂÁÐÒ»ÐУº
| auth optional pam_mount.so use_first_pass |
È»ºóÔÚÎļþ/etc/pam.d/common-sessionĩβÌí¼ÓÏÂÁÐÒ»ÐÐÄÚÈÝ£º
| session optional pam_mount.so |
ÏÖÔÚ£¬ÎÒÃÇÀ´ÉèÖÃPAM£¬¸æËßËüÐèÒª×°ÔØÄÄЩ¾í¡¢ÒÔ¼°×°ÔØÎ»Ö᣶Ա¾Àý¶øÑÔ£¬¼ÙÉèÓû§ÃûÊÇIan£¬ÒªÓõ½µÄÉ豸ÊÇ/dev/sda1£¬ÒªÌí¼Óµ½/etc/security/pam_mount.confÎļþÖеÄÄÚÈÝÈçÏÂËùʾ£º
| volume Ian crypt - /dev/sda1 /home/Ian cipher=aes aes-256-ecb /home/Ian.key |
Èç ¹ûÏëʹÓôÅÅÌÓ³Ïó£¬ÄãÐèÒªÔڴ˹涨»ØËÍÉ豸£¨±ÈÈç/dev/loop/0£©£¬²¢È·±£ÔÚIanµÇ¼֮ǰϵͳÒѾÔËÐÐlosetup¡£Îª´Ë£¬Äã¿ÉÒÔ½« losetup /dev/loop/0 /home/secret.img·ÅÈë/etc/rc.localÎļþÖС£ÒòΪ¸Ã¾í±»¼ÓÃÜ£¬ËùÒÔPAMÐèÒªÃÜÔ¿À´×°ÔØ¾í¡£×îºóµÄ²ÎÊýÓÃÀ´¸æËßPAMÃÜÔ¿ÔÚ /home/Ian.keyÎļþÖУ¬Îª´Ë£¬Í¨¹ýʹÓÃOpenSSLÀ´¼ÓÃÜÄãµÄ¿ÚÁîÀ´½¨Á¢ÃÜÔ¿Îļþ£º
| $ sudo sh -c "echo ' YOUR PASSPHRASE ' | openssl aes-256-ecb > /home/Ian.key" |
Õâʱ£¬ÌáʾÄãÊäÈëÃÜÂë¡£×¢Ò⣬ÕâÀïµÄ¿ÚÁî±ØÐèºÍÏëÒªµÄÓû§µÇ¼ÃÜÂëÒ»Ö¡£ÔÒòÊǵ±ÄãµÇ¼ʱ£¬PAMÐèÒªÄãÌṩÕâ¸öÃÜÂ룬ÓÃÒÔ¼ÓÃÜÄãµÄÃÜÔ¿Îļþ£¬È»ºó¸ù¾Ý°üº¬ÔÚÃÜÔ¿ÎļþÖеĿÚÁîÓÃdm-crypt×°ÔØÄãµÄÖ÷Ŀ¼¡£
Ðè ҪעÒâµÄÊÇ£¬ÕâÑù×ö»á°ÑÄãµÄ¿ÚÁîÒÔÃ÷ÎĵÄÐÎʽ±©Â¶ÔÚ.historyÎļþÖУ¬ËùÒÔÒª¼°Ê±ÀûÓÃÃüÁîhistory -cÇå³þÄãµÄÀúÊ·¼Ç¼¡£´ËÍ⣬ҪÏë±ÜÃâ°Ñ¿ÚÁî´æ·ÅÔÚ¼ÓÃܵÄÃÜÔ¿ÎļþÖеϰ£¬¿ÉÒÔÈô´½¨¼ÓÃÜÎļþϵͳµÄ¿ÚÁîºÍµÇ¼¿ÚÁîÍêȫһÖ¡£ÕâÑù£¬ÔÚÉí·ÝÈÏ֤ʱ£¬PAM Ö»Òª°ÑÄãµÄÃÜÂë´«¸ødm-crypt¾Í¿ÉÒÔÁË£¬¶ø²»±Ø´ÓÃÜÔ¿ÎļþÖгéÈ¡ÃÜÂ롣Ϊ´Ë£¬Äã¿ÉÒÔÔÚ/etc/security/pam_mount.confÎÄ ¼þÖÐʹÓÃÏÂÃæµÄÃüÁîÐУº
| volume Ian crypt - /dev/sda1 /home/Ian cipher=aes - - |
×îºó£¬ÎªÁ˱£Ö¤ÔÚÍ˳öϵͳʱ×Ô¶¯Ð¶ÔؼÓÃÜÖ÷Ŀ¼£¬Çë±à¼/etc/login.defsÎļþʹµÃCLOSE_SESSIONSÏîÅäÖÃÈçÏ£º
| CLOSE_SESSIONS yes |
Êý¾Ý¼ÓÃÜÊÇÒ»ÖÖÇ¿¶øÓÐÁ¦µÄ°²È«ÊֶΣ¬ËüÄÜÔÚ¸÷ÖÖ»·¾³Ïºܺõı£»¤Êý¾ÝµÄ»úÃÜÐÔ¡£¶ø±¾ÎĽéÉܵÄUbuntu Linux ϵļÓÃÜÎļþϵͳ¾ÍÊÇÒ»Öַdz£ÓÐÓõÄÊý¾Ý¼ÓÃܱ£»¤·½Ê½£¬ÏàÐÅËüÄܹ»ÔÚ±£»¤Êý¾Ý»úÃÜÐÔÏà·½Ãæ¶ÔÄúÓÐËù°ïÖú¡£
ÆÀÂÛ (0)
All