如何对使用同一服务器的其他用户隐藏/加密我的文件

如何对使用同一服务器的其他用户隐藏/加密我的文件

我正在通过 .连接到机构提供的服务器ssh。它是一个乌班图服务器。

Home文件夹包含许多用户。每个用户都有一个密码。但我不确定是否有任何用户可以进入我的文件夹。

我想隐藏或加密我的文件夹。我需要在终端上执行什么?

答案1

正如其他人指出的那样,您无法阻止系统管理员(任何具有 sudo 访问权限的人)访问您的文件。即使您对它们进行了加密,如果您需要访问服务器上的内容,那么管理员也可以在您这样做时窥探您。在大多数/所有操作系统中都是如此。

通常默认情况下,所有其他用户都可以读取您的主目录。在评论中,您说您的主目录具有所有用户的读取权限。

通常你需要做的就是阻止其他人常规的用户正在更改您的主目录的权限;

chmod 700 ~

这将阻止所有用户除了root(管理员)从您的主目录。

如果您出于法律或商业原因需要加密数据,那么这通常是不够的,除非您已被告知驱动器已加密。

答案2

阅读标题“隐藏/加密我的文件“……

加密文件(在下面的示例中,用 F 表示);

(例如使用 openssl,

使用 AES 和 CBC 作为操作模式)

AES - 高级加密标准

CBC - 密码块链接

openssl aes-256-cbc -base64 -pbkdf2 -in F

笔记:pbkdf2 和 -iter 是不是低于以下版本的支持OpenSSL 1.1.1

人们可以使用 -iter<integer>来添加额外的安全层。

这使得尝试暴力破解(猜测)密码变得更加困难(通过使其变慢),但是如果使用大量迭代,则将花费很长时间 - 尽管这是对称加密,而且大多数时候速度都很快,只是想到了这一点。

笔记:use >= 10000 iterations

openssl aes-256-cbc -base64 -pbkdf2 -iter 10000 -in F

解密

表示加密文件“file.enc”:

cat file.enc | openssl aes-256-cbc -base64 -pbkdf2 -d

加密多个文件

(具有相同的扩展名)而不是加密每个文件:

例如,

加密所有以以下结尾的文件.odt,在文件夹中odt文件使用唯一的密码(交互式地要求输入)并将加密文件输出到<originalfilename>.enc:

find odtFiles/ -name "*.odt" -type f -exec openssl aes-256-cbc -base64 -pbkdf2 -in {} -out {}.enc \; 

参考:

相关 OpenSSL 1.1.1b 警告:使用 -iter 或 -pbkdf2..

OpenSSL 手册

相关内容