1. 程式人生 > 實用技巧 >vue-element-template 登入認證授權改造

vue-element-template 登入認證授權改造

https://www.junmajinlong.com/virtual/namespace/mount_namespace/

root@cloud:~# ls -1 /proc/$$/mount*
/proc/3374/mountinfo
/proc/3374/mounts
/proc/3374/mountstats
root@cloud:~# mkdir iso
root@cloud:~# cd iso/
root@cloud:~/iso# ls
root@cloud:~/iso# mkdir -p iso1/dir
root@cloud:~/iso# mkdir -p iso2/dir2 
root@cloud:~/iso# ls
iso1  iso2
root@cloud:
~/iso# ls iso1 dir

root@cloud:~/iso# mkisofs -o 1.iso iso1
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 2152
Path table size(bytes): 22
Max brk space used 0
175 extents written (0 MB)
root@cloud:
~/iso# ls 1.iso iso1 iso2 root@cloud:~/iso# mkisofs -o 2.iso iso2 I: -input-charset not specified, using utf-8 (detected in locale settings) Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 2154 Path table size(bytes): 22 Max brk space used 0 175 extents written (0
MB) root@cloud:~/iso# ls 1.iso 2.iso iso1 iso2 root@cloud:~/iso#

root@cloud:~/iso# ls -1 /proc/$$/mount*
/proc/3374/mountinfo
/proc/3374/mounts
/proc/3374/mountstats
root@cloud:~/iso# ls -l /proc/$$/ns/mnt
lrwxrwxrwx 1 root root 0 Dec  4 10:27 /proc/3374/ns/mnt -> 'mnt:[4026531840]'
root@cloud:~/iso# 

root@cloud:~/iso# ls -1 /proc/$$/mount*
/proc/3374/mountinfo
/proc/3374/mounts
/proc/3374/mountstats
root@cloud:~/iso# ls -l /proc/$$/ns/mnt
lrwxrwxrwx 1 root root 0 Dec  4 10:27 /proc/3374/ns/mnt -> 'mnt:[4026531840]'
root@cloud:~/iso# mount 1.iso /mnt/iso1 
mount: /mnt/iso1: WARNING: device write-protected, mounted read-only.
root@cloud:~/iso# mount | grep iso1
/root/iso/1.iso on /mnt/iso1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
root@cloud:~/iso# unshare -m -u /bin/bash
root@cloud:~/iso# ls -l /proc/$$/ns
total 0
lrwxrwxrwx 1 root root 0 Dec  4 10:29 cgroup -> 'cgroup:[4026531835]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 ipc -> 'ipc:[4026531839]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 mnt -> 'mnt:[4026533784]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 net -> 'net:[4026531896]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 pid -> 'pid:[4026531836]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 pid_for_children -> 'pid:[4026531836]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 user -> 'user:[4026531837]'
lrwxrwxrwx 1 root root 0 Dec  4 10:29 uts -> 'uts:[4026533786]'
root@cloud:~/iso# 

root@cloud:~/iso# mount 2.iso /mnt/iso2/
mount: /mnt/iso2: WARNING: device write-protected, mounted read-only.
root@cloud:~/iso# mount | grep 'iso[12]'
/root/iso/1.iso on /mnt/iso1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/root/iso/2.iso on /mnt/iso2 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
root@cloud:~/iso# 

root@cloud:~/iso# ls /mnt/iso1/
dir
root@cloud:~/iso# ls /mnt/iso2/
dir2
root@cloud:~/iso# 

重新開啟一個shell

root@cloud:~# mount | grep 'iso[12]'
/root/iso/1.iso on /mnt/iso1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
root@cloud:~# 

root@cloud:~/iso# ls /mnt/iso1/
dir
root@cloud:~/iso# ls /mnt/iso2/
dir2
root@cloud:~/iso# umount /mnt/iso1/
root@cloud:~/iso# mount | grep 'iso[12]'
/root/iso/2.iso on /mnt/iso2 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
root@cloud:~/iso# ls /mnt/iso1/
root@cloud:~/iso# ls /mnt/iso2/
dir2
root@cloud:~/iso# 

重新開啟一個shell

root@cloud:~# mount | grep 'iso[12]'
/root/iso/1.iso on /mnt/iso1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
root@cloud:~# ls /mnt/iso1/
dir
root@cloud:~# 

mnt namespace: shared subtrees

root@cloud:~/iso# ls
1.iso  2.iso  iso1  iso2
root@cloud:~/iso# mount --bind  iso1 iso2
root@cloud:~/iso# ls iso2/
dir
root@cloud:~/iso# mount --make-shared  iso2
root@cloud:~/iso# unshare -m -u --propagation unchanged /bin/bash
root@cloud:~/iso# grep 'iso1' /proc/self/mountinfo
563 513 7:0 / /mnt/iso1 ro,relatime shared:228 - iso9660 /dev/loop0 ro,nojoliet,check=s,map=n,blocksize=2048
564 513 8:34 /root/iso/iso1 /root/iso/iso2 rw,relatime shared:1 - ext4 /dev/sdc2 rw,errors=remount-ro,stripe=64
root@cloud:~/iso# mkdir sub
root@cloud:~/iso# ls
1.iso  2.iso  iso1  iso2  sub
root@cloud:~/iso# mount --bind sub  iso2/subfoo
mount: iso2/subfoo: mount point does not exist.
root@cloud:~/iso# mkdir -p iso2/subfoo
root@cloud:~/iso# mount --bind sub  iso2/subfoo

root@cloud:~/iso# tree iso2
iso2
├── dir
└── subfoo

2 directories, 0 files
root@cloud:~/iso# tree iso1
iso1
├── dir
└── subfoo

2 directories, 0 files
root@cloud:~/iso# 

root@cloud:~/iso# tree iso2
iso2
├── dir
└── subfoo

2 directories, 0 files
root@cloud:~/iso# tree iso1
iso1
├── dir
└── subfoo

2 directories, 0 files
root@cloud:~/iso#