-bash: /dev/null: 権限が拒否されました。

-bash: /dev/null: 権限が拒否されました。

Centos 6システムで新しいユーザーを作成しようとしています。

まず、私は

useradd kevin

その後、そのユーザーとしてコマンドを実行してみました。

su - kevin

ただし、次のエラー メッセージが表示されます。

-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
[kevin@gazelle ~]$

私はそのユーザーのように多くのことをすることはできません。

その権限は/dev/null次のとおりです。

-rwxr-xr-x  1 root root           9 Jul 25 17:07 null

私のMacとほぼ同じです。

crw-rw-rw-   1 root   wheel         3,   2 Jul 25 14:08 null

それ可能しかし、実際にはその可能性はほとんどありません。開発者に連絡しました。

kevinrootユーザーとしてグループに追加しようとしていますroot

usermod -a -G root kevin

しかし、まだ/dev/null許可拒否エラーが発生します。

新しいユーザーはなぜ文章を書くことができないのですか/dev/null
新しいユーザーはどのグループに属すべきですか?
私がユーザーを正しく詐称しているのではありませんか?
Linuxのユーザー/権限設定に関する初心者ガイドはありますか?

答え1

明らかに、誰かが通常のファイルを/ dev / nullに移動しました。再起動すると、再生成または実行されます。

rm -f /dev/null; mknod -m 666 /dev/null c 1 3

@Flowがコメントで指摘したように、これを行う必要がありrootます。

1以下は、3Linuxベースのオペレーティングシステムのデバイスメジャーとマイナー番号です(ドライバが処理する3番目のデバイス、mem参照/proc/devices)。オペレーティングシステムによって異なります。たとえば、cat /sys/devices/virtual/mem/null/devreadlink /sys/dev/char/1:322 OpenBSDからそしてAIX、特定のオペレーティングシステムでは常に同じではないかもしれません。一部のオペレーティングシステムでは、再生成に役立つmakedev/MAKEDEVコマンドを提供できます。

答え2

これはトリックを実行する必要があります(ルートとして):

rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null

このコマンドが実行するアクションは次のとおりです。

  • rm期待されるファイルが欠落して生成された偽のファイルを削除する
  • mknod/dev/nullLinuxカーネルに適したメジャー番号とマイナー番号の名前付き文字デバイスの作成
  • chmodすべてのユーザーに読み取りおよび書き込み権限を設定します/dev/null

答え3

Markが提案したソリューションはOpenBSDでは動作しません。しかし、

mknod -m 666 /dev/null c 2 2

効果がありました。 OpenBSD 5.6でこれをテストしました。許可された回答が実行されると、その/dev/null回答から読み取られたコードは非常に深刻にブロックされ、中断されます。

OpenBSD(付属)からすべての標準デバイスを再生成するには、rootとしてnull次のものを使用する必要があります。

cd /dev
./MAKEDEV std

答え4

IBM AIXサーバーの場合も同じことが行われましたが、操作中です。

# rm /dev/null;mknod /dev/null c 2 2;chown root:system /dev/null;chmod 0666 /dev/null

# ls -l /dev/null
crw-rw-rw-    1 root     system        2,  2 Jul 10 22:18 /dev/null

関連情報