zol*_*oto 5 permissions expect encfs
如果我执行脚本
#!/usr/bin/expect
set pass [lindex $argv 0]
spawn encfs -v {CRIPT_DIR} {MNT_DIR} -o nonempty
expect "*EncFS Password:*"
send "$pass\r"
expect eof
Run Code Online (Sandbox Code Playgroud)
期望脚本输出:
zz@zz-com:/media/truecrypt5/mmm$./e.sh 1
spawn encfs -v /media/truecrypt5/mmm/cr /media/truecrypt5/mmm/mn -o nonempty
10:25:11 (main.cpp:523) Root directory: /media/truecrypt5/mmm/cr/
10:25:11 (main.cpp:524) Fuse arguments: (daemon) (threaded) (keyCheck) encfs /media/truecrypt5/mmm/mn -o nonempty -s -o use_ino -o default_permissions
10:25:11 (FileUtils.cpp:177) version = 20
10:25:11 (FileUtils.cpp:181) found new serialization format
10:25:11 (FileUtils.cpp:199) subVersion = 20100713
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:11 (FileUtils.cpp:1620) useStdin: 0
EncFS Password:
10:25:11 (Interface.cpp:165) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
10:25:11 (SSL_Cipher.cpp:370) allocated cipher ssl/aes, keySize 24, ivlength 16
10:25:12 (FileUtils.cpp:1628) cipher key size = 44
10:25:12 (Interface.cpp:165) checking if nameio/block(3:0:1) implements nameio/block(3:0:0)
Run Code Online (Sandbox Code Playgroud)
ls 命令:
zz@zz-com:/media/truecrypt5/mmm$sudo ls -la
[sudo] password for zz:
ls: cannot access mn: Permission denied
total 24
drwx------ 4 zz zz 4096 2012-08-31 14:40 .
drwx------ 10 zz zz 4096 1970-01-01 03:00 ..
drwx------ 2 zz zz 4096 2012-08-30 18:56 cr
-rwx------ 1 zz zz 73 2012-08-30 18:54 e2.sh
-rwx------ 1 zz zz 178 2012-08-30 19:10 e.sh
d????????? ? ? ? ? ? mn
-rwx------ 1 zz zz 40 2012-08-30 18:52 u.sh
Run Code Online (Sandbox Code Playgroud)
我无权访问 {MNT_DIR}。Sodo 用户无权访问。但是命令或 shell scipt
#!/bin/sh
encfs -v {CRIPT_DIR} {MNT_DIR} -o nonempty
Run Code Online (Sandbox Code Playgroud)
工作正确。
操作系统:Ubuntu 11.10
我的期望脚本有什么问题?
您的预期脚本没有任何问题。但看起来您使用普通用户来挂载加密目录,然后您尝试使用 root 使用 sudo 查看挂载的文件。那是行不通的,而这正是 encfs 的全部意义所在。
在您的示例中,目录cr是encfs. 这里面的内容不是什么大秘密,都是加密数据。您正在将这些数据装载到 上mn,以便您可以以人类可读的方式查看其内容,作为 下的文件mn。
只有安装的用户cr才能读取里面的内容mn。连root都不能。如果您想root查看内容,那么您应该将./e.sh 1示例中的 更改为sudo ./e.sh 1。
| 归档时间: |
|
| 查看次数: |
1960 次 |
| 最近记录: |