吴川   2021-1-15
 华南区技术负责人

概要
Linux中软件、硬件资源都是文件(一切皆文件),文件在多用户环境中是可共享的。文件锁是用于解决资源共享的一种机制:当多个用户需要共享一个文件时,Linux通常采用的方法是给文件上锁,来避免共享资源产生竞争的状态。下面将为你分析Linux文件锁定方法。


什么是Linux?

Linux是一套免费使用和自由传播的类Unix操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。

linuxes

为什么要加锁文件?

在Linux中为文件加锁的原因主要有2种:一种是避免多个程序对同一个文件操作导致数据丢失,另外一种是为了保护私人文件不被别人读写。

对于第一种原因,这里稍微多解释一下:在多任务操作系统环境中,如果一个进程尝试对正在被其他进程读取的文件进行操作,可能会导致正在进行操作的进程读取到一些被破坏或者不完整的数据;如果两个进程同时对同一个文件进行操作,可能会导致该文件遭到破坏。因此,为了避免发生这种问题,必须要采用某种机制来解决多个进程同时访问同一个文件时所面临的问题,由此,就产生了加锁文件的相关技术。

在当您使用Windows系统时,推荐使用加密软件(都叫兽™安全加密盘都叫兽™文件加密)进行文件加密。
热点推荐 - ADs都叫兽™ 防泄密组合 - 批量加密隐私文件、防止未经授权的数据拷贝 都叫兽™ 防泄密组合 - 批量加密隐私文件、防止未经授权的数据拷贝

快速加密 使用虚拟加密盘技术,加密文件1秒完成,文件随时改随时保存。

操作简单 界面简洁,简单易用,程序隐秘,随时可关闭隐匿。

数据拷贝控制 可禁用USB端口(可设置白名单),完全禁用网络,禁用光驱,禁用打印机等,禁用指定程序,用密码防止未授权的数据拷贝。

保密性好 采用AES256加密算法,格式不公开,保密性好,支持加密各类型文件。

全面的数据加密方案 可保护USB设备/隐藏文件/伪装文件/密码钱包,另外还支持对USB设备操作进行记录。

快速加密 1秒完成文件加密。

操作简单 界面简洁易用。

禁用指定端口或设备可禁用USB端口,完全禁用网络。

了解更多

在Linux系统上如何锁定文件

【锁定】命令行下-Linux chattr锁定关键系统文件的8种模式

Chattr是Linux系统上的执行命令之一,chattr命令可用于改变文件属性,也可改变存放到ext2系统上的文件或目录属性。
这些属性主要有以下8种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
语法:
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
参数:
• -R 递归处理,将指定目录下的所有文件及子目录一并处理。
• -v<版本编号> 设置文件或目录版本。
• -V 显示指令执行过程。
• +<属性> 开启文件或目录的该项属性。
• -<属性> 关闭文件或目录的该项属性。
• =<属性> 指定文件或目录的该项属性。
命令示例:
• [root@w zdw]# chattr +a test.sh
• [root@w zdw]# rm -f test.sh
• rm: cannot remove `test.sh’: Operation not permitted
• [root@w zdw]# echo 11 >>test.sh
• [root@w zdw]# echo 11 >>test.sh
• [root@w zdw]# echo 11 >test.sh
• -bash: test.sh: Operation not permitted
• [root@w zdw]# lsattr test.sh
• —–a——-e- test.sh
锁定关键的系统文件可以增加系统的安全性,使用chattr命令来锁定,下面是几个需要锁定的文件:
• chattr +i /etc/passwd 用户文件
• chattr +i /etc/shadow 用户密码文件
• chattr +i /etc/group 用户组文件
• chattr +i /etc/gshadow 主密码文件
• chattr +i /etc/inittab 开机启动的重要文件

【锁定】图形界面-使用Nautilus锁定文件

Nautilus是Linux系统上的一个命令。在Linux命令行界面上(也称终端上),输入nautilus,会以root权限打开一个窗口,窗口内容是终端上的位置,从而可以使用root权限,之后可对当前目录中的文件内容进行管理,增删改等操作。
下面为您分析使用Nautilus锁定文件的步骤:
1、右键单击要加密的文件,选择格式压缩,并提供保存位置,之后设置密码加密。
设置密码加密
2、注意消息-成功创建加密的确认框。
设置密码加密
有许多用户会有困扰,那加密之后要如何解密呢?下面将为您分析。
1、打开文件所在的位置,点击文件旁的“锁图标”,之后会弹出一个输入密码框,输入密码。
输入密码
2、输入密码正确之后,文件就可以成功解密了。
解锁密码

【加密】命令行-使用ccrypt加密文件

Ccrypt是一种用于加密和解密文件的工具。它基于Rijndael分组密码,其版本也用于高级加密标准(AES),该密码被认为提供了非常大的安全性。加密和解密取决于用户提供的关键字(或者关键词语)。默认情况下,系统会提示用户从终端输入关键字,安全性能极高。
Ccrypt加密工具

【加密】命令行-使用openssl加密文件

在计算机网络上,openssl是一个命令行加密工具,可用于加密消息以及文件。还可以使用该工具来进行安全通信,避免窃听,同时确认另一端的连线者身份。Openssl被广泛应用于互联网的网页服务器上。
openssl

Linux密码管理-关于加密方法

密码的算法都是公开的,保密应该依赖于密钥的保密,而不是算法的保密。
对称加密,密钥可同时用于解密,一般密钥会直接出现在加密代码中,破解的可能性相当大,而且系统管理员很可能知道密钥,进而算出密码原文。所以密钥需要保密,因此需要事先秘密约定,或者用另外的安全通道来传输。
非对称加密,密码的安全性等同于私钥的安全性。密码明文经过公钥加密,如果要还原密码原文,必须要相应的私钥才可以。因此只要保证私钥的安全,密码明文就安全。

小结

上面已详细分析了Linux文件锁定的方法,相信用户也有一定的了解。但也有许多用户是使用Windows系统,如果Windows用户想要进行文件加密,推荐用户使用加密软件(都叫兽™安全加密盘和都叫兽™文件加密)加密文件。