0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux文件“哲学”是否与Windows相同呢?

AGk5_ZLG_zhiyua 来源:互联网 作者:佚名 2018-06-28 09:43 次阅读

本文导读

“一切皆是文件”是Unix/Linux的基本哲学之一,目录、字符设备、块设备、套接字等在Unix/Linux都是以文件的形式存在。面对众多的文件,如何理解和管理他们的读、写、执行权限呢?

在Windows下,可以通过鼠标右击文件,在属性栏查看文件的权限。Linux下的文件“哲学”是否与Windows相同呢?我们从以下几点分析。

一、文件权限设定的作用

文件权限的设定是为了保护系统及用户数据的安全性。对于用户来说,最重要的事情就是数据、文件的私密性及安全性。从系统管理员到普通用户,从文件属性到文件特殊加密 ,无不围绕着一个主题:权限管理。若一个关键文件被意外写入,轻则数据丢失,重则系统崩溃。

以根目录下的/proc目录文件为例,该文件是linux内核提供的一种虚拟文件系统,可访问内核内部数据结构、改变内核设置的机制。其中swaps 为交换空间的使用情况,tty 保存tty设备信息,version Linux内核版本和gcc版本。我们可以发现,这些与系统紧密关联的文件全部为只读,即使对于root用户。

图1 /proc下的部分文件

二、文件权限的划分

Linux下的权限管理从访问者方面来看大致可分为三块,分别是用户、用户组、管理员。如图2,打开当前用户目录下的文件列表细节。大部分时候我们使用此命令仅仅是关注右半部分的信息,比如文件名、日期、大小等。左半部分展现的就是对应文件的权限信息了。

图2 文件属性细节

Linux系统对用户的权限有着严格的管理。如图3,可将一个文件的权限分为三部分:对文件所有者权限、对所有者所在用户组权限、对其他用户权限。其中,用户组(group)就是具有相同特征的用户的集合体。

图3 文件权限

用户和用户组的信息分别在/etc目录下的passwd、group文件内,可以使用cat命令直接读取。

图4 用户/用户组信息

三、文件权限更改方法

Linux提供chmod命令用于改变或者设置文件的权限。命令格式如图5,将hello 文件的其它用户权限可执行属性去掉:vmuser@Linux-host: hello$ chmod o-x hello。如果同时设置 u/g/o,可用 a 表示,例如为 hello 增加全部用户可执行权限:vmuser@Linux-host: ~$ chmoda+x hello。

图5 文件权限更改(一)

前面我们说到,linux的文件权限管理是一种“哲学美”,chmod命令还提供更间接的使用方式。如图6,分别将r、w、x对应为数字4、2、1,用数字之和代表该组权限值,比如rwx可用 7 表示, r-x 可用 5 表示。若想将hello文件设置为最宽松的权限,可直接使用命令chmod 777 hello。

图6 文件权限更改(二)

那么除了先创建文件再修改权限,是否可直接创建特定权限的文件呢?答案是肯定的,我们可以通过修改umask的值管理对应用户默认权限。可以直接输入umask获取当前用户的权限默认值,当然也可以使用umask=xxx去修改它。此外,若想永久设置umask的值,可以修改~/.bashrc或者./bash_profile。Umask的值与文件的权限并不是一一对应的,感兴趣到的读者可以查阅相关资料

图7 用户默认权限更改

四、如何保护重要文件

文件的保护可以从量方面入手:文件的权限管理、文件及时备份。

权限管理方面,在更改文件权限时不可随意,比如直接chmod 777 filename。以系统或APP的工作日志文件为例,它对绝大部分可登录用户仅可读,若对其覆盖写入将永久丢失日志信息。在复杂的多用户协同系统中,要严格管理单用户权限、组用户权限,慎用root用户权限。

图8 只读日志文件

对于标准的rootfs,不建议普通用户直接去更改它,在uboot挂载该文件系统时直接赋予它只读权限。将bootargs的最后一项赋值为“ro”即为readonly。若需临时修改为读写模式,可使用mount -o remount,rw /,用于临时修改为可读写模式,尽量避免修改uboot代码。

图9 文件系统权限更改

文件备份时保护重要文件的另一种手段,在严格的权限管理机制也不能保证万无一失。重要文件可使用脚本自动化、定时备份,必要时还可以将文件保存到其他物理存储介质或云盘中。在涉及到扣费、计费时,数据及文件的安全性显得尤为重要。ZLG致远电子“公共交通的移动支付—公交POS”方案中使用的ARM9核心板采用双备份文件系统及UPS掉电保护设计来保证扣费数据的可靠。

图10 文件系统双备份


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11092

    浏览量

    207630
  • 致远电子
    +关注

    关注

    13

    文章

    401

    浏览量

    31187

原文标题:浅析linux权限管理

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LinuxWindows文件系统的不同之处

    Linux文件系统与 Windows 文件系统有很多不同之处。您不会找到任何驱动器号或反斜杠,但您会发现一个看起来很陌生的布局,其中 文件
    的头像 发表于03-15 10:23 1681次阅读

    基于linux的ise和基于windows的ise之间的区别

    ISE14.7)。 相同的设计, 相同的约束 文件相同的一切。窗口ISE工具没有生成任何错误消息,并且制作了FPGA。但是,在放入硬件时,设计不起作用。通过
    发表于11-06 11:41

    linuxwindows的传输文件

    本文介绍一种可以在 linuxwindows之间传输 文件很方便的一个辅助程序
    发表于07-23 08:39

    Windowslinux权限管理问题解析

    Windows下,可以通过鼠标右击 文件,在属性栏查看 文件的权限。 Linux下的 文件哲学
    的头像 发表于06-27 17:24 6660次阅读
    <b class='flag-5'>Windows</b>下<b class='flag-5'>linux</b>权限管理问题解析

    怎么样在LinuxWindows之间共享文件?应该使用什么样的工具

    用一些来自 Linux社区的工具,在 LinuxWindows之间共享 文件是超容易的。让我们看看可以做这件事的两种不同方法。
    的头像 发表于07-09 10:57 5035次阅读

    Linux里面如何理解和管理他们的读、写、执行权限?

    、执行权限 ? 在 Windows下,可以通过鼠标右击 文件,在属性栏查看 文件的权限。 Linux下的 文件
    发表于09-22 00:55 551次阅读

    Linux中如何判断文件是否存在并新建文件

    本文档的主要内容详细介绍的是 Linux中如何判断 文件是否存在并新建 文件夹vi 文件免费下载。
    发表于01-17 08:00 8次下载
    <b class='flag-5'>Linux</b>中如何判断<b class='flag-5'>文件</b>夹<b class='flag-5'>是否</b>存在并新建<b class='flag-5'>文件</b>夹

    如何区别Linux文件系统?

    虚拟 文件系统是一种神奇的抽象,它使得 “一切皆 文件哲学Linux中成为了可能。
    的头像 发表于08-09 18:00 3556次阅读

    判断Linux文件编译时是否运用-g选项的方法

    判断 Linux文件编译时 是否运用-g选项的方法
    的头像 发表于06-22 08:40 3256次阅读
    判断<b class='flag-5'>Linux</b>库<b class='flag-5'>文件</b>编译时<b class='flag-5'>是否</b>运用-g选项的方法

    WindowsLinux之间相互传输文件的方法

    WindowsLinux之间相互传输 文件,最常用的工具是使用winscp,它的原理是使用ssh协议传输 文件,即通过ssh的端口传输,支持相向传输,即支持
    的头像 发表于02-11 16:25 4771次阅读

    Linux文件哲学是否Windows相同

    若需临时修改为读写模式,可使用mount -o remount,rw /,用于临时修改为可读写模式,尽量避免修改uboot代码。
    的头像 发表于07-11 15:37 1678次阅读
    <b class='flag-5'>Linux</b>下<b class='flag-5'>文件</b>“<b class='flag-5'>哲学</b>”<b class='flag-5'>是否</b>与<b class='flag-5'>Windows</b><b class='flag-5'>相同</b>?

    如何从Windows上载数据至Linux

    早前《何从 Linux下载数据至 Windows?》指引已说明如何下载数据至 Windows, 但 Linux系统真的发生故障时, 是怎样将 Windows
    的头像 发表于08-28 11:44 2010次阅读
    如何从<b class='flag-5'>Windows</b>上载数据至<b class='flag-5'>Linux</b>

    linux误删文件后的恢复方法

    对于 linux下误删的 文件,我们 是否真的无法通过软件进行恢复 ?
    的头像 发表于02-09 09:51 2223次阅读

    WindowsLinux为什么可以彼此ping的通

    为什么 VMware 会给我多创建了两个网络 WindowsLinux为什么可以彼此 ping 的通
    的头像 发表于07-07 09:39 1180次阅读
    <b class='flag-5'>Windows</b>和<b class='flag-5'>Linux</b>为什么可以彼此ping的通<b class='flag-5'>呢</b>?

    Linux系统文件比较工具集合

    Linux系统中, 文件比较是一种常见的任务,用于比较两个 文件之间的差异。 文件比较可以帮助我们找出两个 文件的不同之处,或者确定它们
    的头像 发表于01-02 13:53 558次阅读