这是一篇短纪录(为另外一篇文章打个底),目录结构是Let’s Encrypt自己的获取工具certbot建立的,默认的设置有点奇怪,但还是能用,为了不麻烦就不改了。
$ ls /etc/letsencrypt -lah
total 56K
drwxr-xr-x 9 root root 4.0K Mar 6 00:14 .
drwxr-xr-x 107 root root 4.0K Mar 1 22:42 ..
drwx------ 5 root root 4.0K Mar 1 19:11 archive
drwx------ 5 root root 4.0K Mar 1 19:11 live
...
其他的都不重要,重要的是live
和 archive
。这两个文件夹都是 700
的,用文件夹权限来进行权限控制。
live
是一般在配置里指定的证书路径,实际上 live
里面装的是指向 archive
的软链接。所以拷出证书的时候不能直接复制 live 里面的东西,会复制到软链接的。可以用 cat
或者 cp -L
。
/etc/letsencrypt/live
├── download.ioover.net
│ ├── cert.pem -> ../../archive/download.ioover.net/cert1.pem
│ ├── chain.pem -> ../../archive/download.ioover.net/chain1.pem
│ ├── fullchain.pem -> ../../archive/download.ioover.net/fullchain1.pem
│ ├── privkey.pem -> ../../archive/download.ioover.net/privkey1.pem
│ └── README
archive
里是实际的证书文件。
-rw-r--r-- 1 root root 1.9K Mar 1 00:38 cert1.pem
-rw-r--r-- 1 root root 1.7K Mar 1 00:38 chain1.pem
-rw-r--r-- 1 root root 3.5K Mar 1 00:38 fullchain1.pem
-rw-r--r-- 1 root root 1.7K Mar 1 00:38 privkey1.pem
注意访问权限是目录权限控制的,本身里面的证书文件是所有人都有读权限的,包括私钥。小心隐含的安全问题,如果我把证书文件硬链接到外部,所有人都可以访问这个证书文件。
archive
最新申请的证书是文件名中编号最大的,每次续签的时候就是申请新证书然后把符号链接指过去。