`
wengshanjin
  • 浏览: 23951 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

见证超级用户的超级权限

阅读更多

    今天,某同事向我反应,我写的程序有问题。出问题的大致功能是这样的,我需要在不修改原文件的情况下,备份一个新的文件出来(新文件最后一小部分内容还保存在内存)。实现方法的方法很简单,读取旧文件,然后将内容写到新文件,读取完旧文件后,再将内存部分内容写到新文件。现在问题出来了,备份的新文件比旧文件小很多,只看到一小部分内容(我猜是原先保存在内存的那部分)。在同事的电脑上测试,每次都可以重现,但我在我的电脑上测试总是无法重现。没办法,只能在单元测试工具上添加一个unit test case来跟踪测试。重现了,可以重现了,仔细跟踪,原因是这样的...
    首先,为了不让其他线程修改新文件,我以mode为0的模式打开新文件(假设名叫file1,如果文件不存在,就创建一个),然后往里面写内容,直到写完内容(还有一小部分保存在内存)。当需要备份file2文件打开file1时,打开文件失败(因为mode为0,无可读不可写),导致无法备份file1文件里的内容,只保存了内存部分。那为什么同事电脑上每次都可以重现,而我的电脑上却不能重现呢。这就是超级用户的超级权限,我的电脑上使用的是root用户测试,而同事使用的是普通用户。看个例子就知道了(使用普通用户和root用户分别创建一个文件,改mode为0,再读取该文件,结果root可以读,而普通用户不可以读)
//测试普通用户

[welkin@dev91 ~]$ cd /tmp/
[welkin@dev91 /tmp]$ touch welkin
[welkin@dev91 /tmp]$ chmod 000 welkin
[welkin@dev91 /tmp]$ cat welkin 
cat: welkin: 权限不够
[welkin@dev91 /tmp]$ 

 

//测试root用户

[root@dev91 tmp]# touch root
[root@dev91 tmp]# chmod 000 root
[root@dev91 tmp]# cat root 
[root@dev91 tmp]# 

 
看两个文件的mode全部是0

[welkin@dev91 /tmp]$ ll root welkin 
----------  1 root   root   0  4月 22 19:03 root
----------  1 welkin welkin 0  4月 22 19:02 welkin
[welkin@dev91 /tmp]$ 

 

这就是超级用户的超级权限,通过这个例子看出,即使改mode为0,当用root运行程序,其他线程也可以读的。如果不想让其他线程读,应该对文件加个线程锁,而不是把mode改为0。
总之,把文件的mode改为0是不安全的,可能会出现想让其他进程读的却读不了,而不想让其他线程读的,却可以读取到了

0
0
分享到:
评论

相关推荐

    知家DTC-汽车行业超级用户运营白皮书.pdf

    汽车行业超级用户运营白皮书寄语入局新媒体行业十年,一直在亲历和见证着营销行业的变革,很多企业喊了几十年的“以客户为中心”、“以用户为中心”,从这个特殊的节骨眼上才真正开始践行。知家正在服务和接触的汽车...

    DOS版本的超级玛丽,mario 1994绝版

    这款游戏不仅代表了一个时代的结束,也见证了游戏行业的发展历程,对后来的许多游戏产生了深远的影响。 压缩包内的文件“mario.exe”正是这个游戏的执行程序,它包含了游戏的所有代码和资源,只需双击即可启动那个...

    超级解霸5.5.rar

    7. **软件历史**:《超级解霸》系列见证了中国个人计算机用户从VCD到DVD再到数字媒体的时代变迁,其发展史也是中国互联网和多媒体技术发展的一个缩影。 8. **怀旧与收藏价值**:对于软件爱好者和复古电脑玩家来说,...

    超级解霸3500全功能完美版

    在数字化时代,多媒体播放软件成为了人们日常生活中不可或缺的一部分,尤其是在21世纪初,一款名为《超级...对于那些经历过那个时代的用户来说,超级解霸不仅仅是一款软件,它更是他们数字娱乐生活的美好回忆和见证者。

    平安银行电商见证宝(2 0)API接口说明标准接口版_电商_电商见证宝_银行_adviced5y_见证宝_

    平安银行的电商见证宝(2.0)是针对电商平台推出的一种金融服务解决方案,旨在提供安全、便捷的支付和资金管理服务。...通过深入理解和有效利用这些接口,电商平台能够提升用户体验,同时增强自身的金融服务能力。

    超级玛利带完全游戏说明.rar

    总结来说,《超级玛利带完全游戏说明.rar》不仅是一个游戏文件,更是一个时代的见证,它将我们带回了黑莓手机盛行的时代,让我们有机会重温那些简单却充满乐趣的移动游戏。无论你是黑莓的老用户,还是对经典游戏有...

    超级模块6.1内测版!官方版本!无毒无后门

    超级模块6.1内测版的问世,便是在这一理念指导下,旨在为用户提供一个技术先进、安全可靠、性能卓越的软件解决方案。官方版本的发布,不仅代表了对产品性能的自信,也体现出对用户责任感的高度体现。作为一款备受...

    I0501_见证取样送检见证人授权书.zip

    很抱歉,根据您提供的信息,"I0501_见证取样送检见证人授权书.zip" 和其内部的 "I0501_见证取样送检见证人授权书.xls" 文件似乎与IT行业专业知识并无直接关联。这个文件名更倾向于建筑工程或质量检测领域,通常涉及...

    平安银⾏-橙e见证宝服务平台介绍-20180601.pdf

    平安银行橙e见证宝服务平台是针对电商平台和电子商务交易提供...它不仅为电商平台提供资金结算服务,确保交易的安全性和合规性,还通过技术手段提升电商平台的支付效率和用户体验,增强了平台的竞争力和品牌的公信力。

    平安银行电商见证宝(2.0)API接口文档v1.93(全量版).docx

    ### 平安银行电商见证宝(2.0)API接口文档v1.93(全量版) #### 版本管理 此文档为平安银行电商见证宝2.0 API接口的详细指南,版本号v1.93。文档中包含了接口的各项功能说明以及使用方法,适用于对接平安银行电商...

    建设工程质量检测见证取样员手册.pdf

    《建设工程质量检测见证取样员手册》是指导建筑工程质量检测的重要文档,主要涉及见证取样送样制度及其操作流程,以及常见建筑材料的质量检验标准。以下是手册中的关键知识点: 1. 见证取样送样制度: - 取样:...

    影碟片播放软件超级解霸3500

    【超级解霸3500】是一款经典的多媒体播放软件,...尽管随着技术的发展,新的播放软件不断涌现,但超级解霸3500在很多人心中仍保留着不可替代的地位,见证了多媒体播放软件从简单到复杂,从单一功能到多功能的演变历程。

    平安银行电商见证宝2.0接口入文档.doc

    平安银行电商见证宝,资金账户,合规钱包接入文档

    sql server双机热备 无见证服务器

    这些用户的创建和权限的配置是确保数据安全和防止非授权访问的关键步骤。 此外,备份证书是实现主备服务器身份互换的基础,即在主机发生故障需要备机接管时,备机能够利用这些证书来验证自己的身份并继续数据同步。...

    平安银行电商见证宝2.0接口文档.doc

    全量版平安银行电商见证宝系统的API接口文档v1.93:银行为每个会员提供的资金明细账户,属于下挂在资金汇总账户下的虚拟账户,记录每位会员在银行端的资金情况。一个会员只允许有一个子账户账号。

    见证取样和送检制度

    ### 见证取样和送检制度详解 #### 一、引言 见证取样和送检制度是在建筑工程领域确保原材料质量的一项重要措施。通过这一制度,可以有效地控制建筑材料的质量,确保工程项目的安全性和可靠性。本文将详细介绍见证...

    北京市建设工程见证取样和送检管理规定.pdf

    为了进一步规范建设工程质量控制,确保工程结构安全,北京市颁布了《北京市建设工程见证取样和送检管理规定》,对见证取样和送检活动做出了明确的规范和要求。这项规定不仅加强了对建材质量的把关,也为工程质量监督...

    豪杰超级解霸3500

    尽管随着技术的发展,如今的播放器如PotPlayer、VLC等在功能和性能上可能更为强大,但【豪杰超级解霸3500】在很多老用户心中仍占据着不可替代的地位,它是见证中国个人电脑时代发展的一个重要软件。

    现场见证取样记录

    现场见证取样记录表,可以什么都不是,要个积分而已

    2022年超级计算机现状和发展趋势完整.ppt

    从其诞生至今,超级计算机走过了不平凡的道路,它们不仅见证了人类对知识的不懈追求,也昭示了未来科技发展的无限可能。随着技术的不断发展和完善,超级计算机将继续在各个领域发挥其巨大潜力,为人类社会的发展作出...

Global site tag (gtag.js) - Google Analytics