タグ付けされた質問 「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カーネル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 および関連エントリ /proc/mounts/ /dev/sda2 …

3
ファイルを変更不可にするにはどうすればよいですか?
ログイン中に、次のことができます。 mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 次にroot、(ではなく)vimを開き、編集し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。理論的には、vim(または任意のプログラム)は、rootとして実行された場合、不変ファイルでchmodを使用するのと同じことをchattrで実行できます。

1
読み取り専用ルートファイルシステム
どういうわけか、私のDebianはルートファイルシステムでのみ読み取りを行いました。私はこれがどのように起こったのか分かりません。 たとえば、私が/rootフォルダにいてコマンドを入力し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他のソフトウェアなどにも問題があります。apt-get updateもできません。このようなエラーがたくさんあります: 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: …



2
ビジーディスクを読み取り専用モードに再マウントします
ディスクパーティションを強制的に読み取り専用モードにし、30分以上読み取り専用にしたい。 私が試したもの: mount -o remount,ro (partition-identifier) (mount-point) -t (filesystem) 問題:一部のプロセスがパーティションを使用しているため、デバイスビジーエラーが発生しました。ディスクを使用しているプロセスを強制終了したくありません。プロセスがまだ使用しているときに、突然読み取り専用になるディスクをシミュレートしたいと思います。 以下のようなマジックsysrqキーを使用しました echo u > /proc/sysrq-trigger 問題:これにより、すべてのディスクパーティションが読み取り専用になります(ただし、デバイスはビジー状態になります)。しかし、20〜30分後、マシンは自動的に再起動します。一部のマシンは、このコマンドが実行されるとすぐに再起動します。このリブートの原因はまだわかりません。マシンを自動的に再起動させたくないので、ディスクを30分以上読み取り専用モードに維持する必要があります。 質問:単一のディスクパーティションを強制的に読み取り専用にし、その状態で30分維持し、プロセスを再起動せずに読み取り/書き込みモードに戻すより良い方法はありますか?

4
Linux、一時的にクラッシュした後にHDDの状態をReadOnlyから変更する方法は?
現時点では、この問題に対する回答はありません。 通常、ブロックデバイスへの読み取りまたは書き込みに関するいくつかの問題の後、カーネルは、WHOLE DEVICEのフラグを読み取り専用に切り替えることを決定します。この後、このデバイスにあるパーティション/ファイルシステムへの書き込みは、書き込みが不可能であるため、デバイス状態とともに読み取り専用に切り替えます。 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] …
17 linux  readonly  mount 

2
組み込みのセットアップでは、読み取り専用のルートファイルシステムを使用することをお勧めしますか?
Linuxを組み込みデバイス上のオペレーティングシステムとして実行するという任務を負っています。 ターゲットにはx86プロセッサがあり、ストレージ用に8 GBのコンパクトフラッシュデバイスがあります。 buildrootを使用して、カーネルイメージとクロスコンパイルツールを作成することができました。CFデバイスをカーネルイメージが存在する小さなFATパーティションsyslinuxと、ブート構成とext3buildrootによって生成されたルートファイルシステムを解凍したファイルシステムにパーティション分割しました。 syslinuxbuildrootファイルシステムが存在するCF ext3パーティションにルートディレクトリを設定することにより、システムが正常に起動します。 私の質問は、停電後にデバイスが正常に起動することが重要であるため、即時(および頻繁な)電力損失に直面した場合の堅牢性の必要性に集中しています。ルートファイルシステムを読み取り専用としてマウントすることは、データの整合性を確保する方法であることを読みました。これは私が進むべき賢明な方法ですか? ルートファイルシステムを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スクリプトを使用する必要がありました(/server/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 すべては順調です。 しかし、その後ルートがやって来ます: # [ -w somefile ] &amp;&amp; echo rw || echo ro rw 一体何ですか?確かに、rootは読み取り専用ファイルに書き込むことができますが、それを習慣にするべきではありません。ベストプラクティスでは、書き込み許可ビットをテストできるように指示する傾向があり、そうでない場合は設定されています。理由のためにその方法。 私は両方を理解したいと思い、なぜこれが起こっている、そしてどのように私は得ることができます偽の書き込みビットがセットされていないファイルをテストするときにリターンコードを?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.