Questions tagged «readonly»

3
为什么rm可以删除只读文件?
如果我创建了一个文件,然后将其权限更改为444(只读),怎么rm能删除它? 如果我这样做: echo test > test.txt chmod 444 test.txt rm test.txt ... rm将询问我是否要删除写保护的文件test.txt。我本以为rm无法删除这样的文件,所以我必须先做chmod +w test.txt。如果我这样做rm -f test.txt,然后rm将删除文件,甚至没有要求,即使它是只读的。 谁能澄清?我正在使用Ubuntu 12.04 / bash。


3
为什么不挂载尊重绑定挂载的只读选项?
在我的Arch Linux系统(Linux Kernel 3.14.2)上,绑定安装不遵守只读选项 # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo 创建文件/mnt/foo。中的相关条目/proc/mounts是 /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 安装选项不符合我要求的选择,但这样做同时匹配绑定的读/写性能和安装使用的选项最初安装/dev/sda2上/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 但是,如果我重新安装了安装座,那么它将遵循只读选项 # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar touch: cannot touch ‘/mnt/bar’: Read-only file system 和中的相关条目 …

3
如何使文件不可修改?
登录后,我可以执行以下操作: mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 然后,我可以打开vim(而不是root),进行编辑bar,使用强制写入w!,然后修改文件。 如何使操作系统不允许任何文件修改? 更新2017年3月2日 chmod 500 foo是一个红色鲱鱼:目录的写权限与修改文件内容的能力无关,而与创建和删除文件的能力无关。 chmod 400 foo/bar实际上确实阻止了文件内容的更改。但是,它并不能阻止改变文件的权限-文件的所有者可以随时更改自己的文件的权限(假设他们可以访问该文件即对所有祖先目录的执行权限)。实际上,strace(1)揭示了vim(7.4.576 Debian Jessie)所做的工作-vim调用chmod(2)来临时添加文件所有者的写许可权,修改文件,然后调用chmod( 2)再次删除写权限。这就是使用chattr +iWorks的原因-只有root可以调用chattr -i。从理论上讲,如果以root身份运行,vim(或任何程序)对chattr的作用与对不可变文件的chmod的作用相同。

1
只读根文件系统
不知何故,我的Debian只能在根文件系统中进行读取。我不知道这怎么可能发生。 例如,当我在/root文件夹中并键入command nano,然后按Tab列出该文件夹中可能的文件时,我得到消息: root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system cd当我键入cd /home并按下Tab以列出路径时,该命令也是如此: root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system 我也有像apt其他软件一样的问题。甚至无法获得更新。我有很多这样的错误: Err http ://ftp.de.debian.org wheezy-updates/main Sources 406 Not Acceptable W: Not using locking for read only lock file /var/lib/apt/lists/lock W: …

3
rm无法删除文件
chmod 777 -R /mnt rm -rf /mnt/* rm: cannot remove 'omitted': Read-only file system rm: cannot remove 'omitted': Read-only file system 请告诉我我该怎么做?
22 rm  readonly 


2
将忙碌的磁盘重新安装为只读模式
我想强制磁盘分区为只读模式,并将其保持只读状态超过30分钟。 我尝试过的 mount -o remount,ro (partition-identifier) (mount-point) -t (filesystem) 问题:由于某些进程正在使用该分区,这给设备带来了繁忙错误。我不想杀死使用磁盘的进程。我想模拟磁盘在进程仍在使用时突然变为只读状态。 使用了魔术sysrq密钥,如下所示 echo u > /proc/sysrq-trigger 问题:这将使所有磁盘分区为只读(尽管设备正忙)。但是20到30分钟后,机器将自行重启。一旦执行此命令,某些计算机将立即重新引导。不知道是什么原因导致此重新启动。我不希望计算机自行重启,需要将磁盘保持在只读模式30分钟以上。 问题:是否有更好的方法可以强制单个磁盘分区为只读并在该状态下维持半小时,然后将其恢复为读写模式,而不会导致进程重新启动?

4
Linux,暂时崩溃后如何从ReadOnly更改HDD状态?
目前,您对此问题一无所获。 通常,在对块设备进行读取或写入问题后,内核决定将“整个设备”的标志切换为只读。此后,对此设备上任何分区/文件系统的任何写入都会导致将其与设备状态一起切换为只读状态,因为无法进行任何写入。 dmesg的示例,这是碎片整理获取来宾设备映像时使用VirtualBox在Windows8上对来宾linux进行的仿真: [11903.002030] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen [11903.003179] ata3.00: failed command: READ FPDMA QUEUED [11903.003364] ata3.00: cmd 60/08:00:a8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in [11903.003385] res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) [11903.004074] ata3.00: status: { DRDY } [11903.004248] ata3: hard resetting link [11903.325703] ata3: …
17 linux  readonly  mount 

2
使用只读根文件系统是嵌入式安装的一个好主意吗?
我的任务是在嵌入式设备上将Linux作为操作系统运行。 该目标具有x86处理器和8 GB CompactFlash设备用于存储。 我设法使用buildroot来创建内核映像和交叉编译工具。我将CF设备划分为一个小的FAT分区,该分区中包含内核映像以及syslinux引导配置和一个ext3文件系统,在其中我将buildroot生成的根文件系统解压缩到该文件系统中。 该系统已成功地引导使用syslinux由根目录设置为CF ext3分区在我的buildroot的文件系统所在。 我的问题集中在面对即时(且频繁)断电的鲁棒性需求上,因为断电后设备能否成功启动至关重要。我已经读过,将根文件系统安装为只读是确保数据完整性的一种方法。这是我进行下去的明智方式吗? 我还阅读了将根文件系统加载到RAM中以实现相同功能的可能性,但目前尚不知道如何实现。 有没有实现该目标的首选方法,如果是,那么我进行下去的最佳方法是什么?

4
软件包升级后无法重新安装/恢复为只读
我正在使用Debian Stretch。我的根分区已安装read-only。仅当我安装或升级软件包时,才/重新安装到read-write(通过使用apt钩子),然后重新安装回ro。 有时在软件包升级后,我无法重新安装/回只读状态: mount -o remount,ro / mount: / is busy 在较旧的Debian版本(Wheezy)上,我可以列出已与取消链接的打开文件lsof: lsof +L1 或者,更具体地说,是防止阻止/重新安装到ro的文件: { lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)' 但是,在Debian Stretch上,lsof +L1不会列出任何文件。 我没有看到任何改变+|-L在man lsof这可以解释为什么它停止工作。 为什么lsof + L1不再列出已取消链接的打开文件? 如何列出阻止/重新挂载为只读的文件? 更新 我已经停止了所有可以停止的进程,只有它们可以运行,init并且getty仍在运行,但是仍然无法重新安装/到ro。
13 debian  files  apt  readonly  lsof 

2
授予对特定文件夹的只读访问权限?
我想授予用户只读访问权限,但我希望他/她仅查看我授予访问权限的确切文件夹。例如,他/她不应该在所有服务器上移动并浏览所有用户的文件夹等。即使他/她只是向上,向上,向上,我也希望他/她仅浏览我允许的这些特定文件夹。因此,首先我该如何让特定用户访问特定文件夹,然后将符号链接放在其主文件夹中会有所帮助?这样它们可以直接转到必要的文件夹,但不能向上或向下移动吗?

3
bash:在只读根分区上使用read <<<“ $ VARIABLE”时出现一些问题。任何已知的解决方法?
碰巧的是,我不得不使用我的ATA-ID-to-device-name脚本(在这里找到:https : //serverfault.com/questions/244944/linux-ata-errors-translating-to-a-device-name/ 426561#426561)在只读 /分区上。如果您感到好奇,它是一个Ubuntu恢复控制台,可让您访问/分区,但默认情况下会将其挂载为只读。我对此感到高兴,因为否则我可能永远都不会发现我的脚本由于以下特定行而在R / O系统上的行为异常: IFS=: read HostMain HostMid HostSub &lt;&lt;&lt; "$HostFull" 这并不会在没有写权限的工作。我不会以为它会失败。但是显然,&lt;&lt;&lt;操作员确实需要将一些临时文件写入某个位置。 但是,有什么方法可以避免创建临时文件,或者有什么方法可以指定将文件写入的位置?在Ubuntu恢复控制台中,对/run目录有-非常好-的写权限,如果我能以某种方式“说” read将临时文件写到比平常其他地方的位置,则可以这样做。

1
使只读/ etc可写
我正在处理运行Linux的嵌入式设备。该设备的制造商对其进行了设置,以便将根文件系统加载为只读。 在/ etc / mtab中: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 这意味着我无法修改/ etc中的任何文件,例如添加新用户。 我试过重新挂载根目录: mount -o remount,rw -t squashfs /dev/root / 但是我得到一个错误 mount: cannot remount block device /dev/root read-write, is write-protected 我查了这个错误,有人说要使用blockdev。该系统未安装blockdev,因此我对其进行了交叉编译并进行了复制。然后我跑了 blockdev --setrw rootfs 但是我又得到一个错误: blockdev: cannot open rootfs: No such file or …

3
为什么看到具有400个权限的文件可由root写入但由用户只读?
如果我以非特权用户身份创建文件,然后将权限模式更改为400,则该用户将其正确地视为只读: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] &amp;&amp; echo rw || echo ro ro 一切都很好。 但是随后出现了root: # [ -w somefile ] &amp;&amp; echo rw || echo ro rw 有没有搞错?当然,root可以写入只读文件,但不应养成它的习惯:最佳实践将倾向于指示我应该能够测试写入许可位,如果没有,则设置它这种方式是有原因的。 我想我既想了解为什么会这样,又要在测试未设置写位的文件时如何得到错误的返回码?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.