介绍
“一切皆文件”是Unix/Linux的基本哲学之一。目录、字符设备、块设备、套接字等在Unix/Linux中都是以文件的形式存在的。面对如此众多的文件,如何理解和管理它们的读、写、执行权限呢?
在Linux中,可以右键点击文件,在属性栏中查看文件权限。Linux中的文件“哲学”和Linux中的一样吗?我们从以下几点来分析一下。
1.文件权限设置的作用
设置文件权限的目的是为了保护系统和用户数据的安全。对于用户来说,最重要的是数据和文件的隐私和安全。从系统管理员到普通用户,从文件属性到特殊文件加密,一切都围绕着一个主题:权限管理。如果一个关键文件被意外写入,轻则造成数据丢失,重则系统崩溃。
以根目录下的 /proc 目录文件为例,该文件是 Linux 内核提供的虚拟文件系统,可以访问内核内部的数据结构,更改内核的设置。其中 swaps 是交换空间的使用情况,tty 存储了 tty 设备信息、Linux 内核版本和 gcc 版本等。我们可以发现,这些和系统密切相关的文件都是只读的,即使对于 root 用户也是如此。
图1 /proc下的一些文件
2.文件权限划分
从访问者的角度来看,Linux 下的权限管理大致可以分为三个部分,分别是用户、用户组和管理员。如图二所示,打开当前用户目录下的文件列表详情。很多时候我们使用该命令只关注右半部分的信息,比如文件名、日期、大小等。左半部分显示的是对应文件的权限信息。
图2 文件属性详情
Linux系统对用户的权限管理十分严格,如图3所示,文件的权限可以分为三部分:文件所有者的权限、所有者所在用户组的权限、其他用户的权限。其中,用户组是具有相同特征的用户的集合。
图3 文件权限
用户和用户组信息在/etc目录下的group文件中,可以使用cat命令直接读取。
图4 用户/用户组信息
3.如何更改文件权限
Linux提供了chmod命令来改变或设置文件权限,命令格式如图5所示。删除hello文件的其他用户权限和可执行属性:@Linux-host:hello$ chmod ox hello。如果同时设置了u/g/o,可以用a来表示。例如给hello增加所有用户可执行权限:@Linux-host:~$ +x hello。
图5 文件权限变化(一)
前面我们提到过,Linux 文件权限管理是一种“哲学之美”。chmod 命令还提供了更间接的使用方式。如图 6 所示,r、w、x 分别对应数字 4、2、1,数字之和代表所属组的权限值。例如 rwx 可以用 7 表示,rx 可以用 5 表示。如果想将 hello 文件设置为最宽松的权限,可以直接使用命令 chmod 777 hello。
图 6 文件权限变化(第 2 部分)
那么,除了先创建文件再修改权限之外,我们是否能直接创建具有特定权限的文件呢?答案是可以的,我们可以通过修改 umask 值来管理对应的用户默认权限。可以直接输入 umask 来获取当前用户的默认权限,当然也可以使用 umask=xxx 来修改。另外,如果想永久设置 umask 值,可以修改 ~/. 或者 ./。umask 的值并不与文件权限一一对应,有兴趣的读者可以查阅相关资料。
图7 用户默认权限变化
4. 如何保护重要文件
文件保护可以从量化的角度入手:文件权限管理和及时的文件备份。
权限管理方面,不能任意更改文件权限,比如直接 chmod 777。以系统或APP的工作日志文件为例,只有大多数登录用户才可以读取,如果被覆盖,日志信息将永久丢失。在复杂的多用户协作系统中,单用户权限和组用户权限必须严格管理,root用户权限需谨慎使用。
图 8 只读日志文件
对于标准,不建议普通用户直接更改。uboot挂载文件系统时,直接赋予只读权限。最后一项赋值为“ro”,表示只读。如果需要临时改为读写模式,可以使用 mount -o ,rw / 临时改为读写模式。尽量避免修改uboot代码。
图9 文件系统权限变化
文件备份是保护重要文件的另一种手段,但即使是严格的权限管理机制也无法保证万无一失。重要文件可以通过脚本定期自动备份,必要时也可以保存到其他物理存储介质或云盘中。在扣费计费方面,数据和文件的安全尤为重要。ZLG致远电子“公交移动支付-公交POS”解决方案采用的ARM9核心板采用双备份文件系统和UPS断电保护设计,确保扣费数据的可靠性。
图10 文件系统双备份
互动时刻
珠海市立机械有限公司
1. 您是否遇到 Linux 权限处理问题?
2. 你们采用什么方法来保证系统的安全?
欢迎在底部给我们留言。
关于致远电子
广州致远电子有限公司成立于2001年,是国家高新技术认证企业、广东省高端工业控制与测量仪器工程技术研发中心。
愿景:成为产业互联网生态领军企业
采用“芯片+软件平台”设计高附加值的模块、板卡及高端测量仪器,通过有线、无线接口连接ZWS物联网云端,实现大数据处理,形成工业互联网生态系统。
使命:以领先技术推动中国工业互联网发展
价值观:专业、专注,成就梦想
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。