UNIXモード文字列の最初の文字は何を示していますか?


29

私はLinuxファイルのパーミッションと特別なパーマ(スティッキービット、SUID、GUID)に非常に精通しています

しかし、私は何のc略か分からないのですか?それは許可なのでしょうか、それとも何か他のものですか?私はいくつかのグーグルを行ったが、それを理解することはできません。

これを含むデバイスファイルを次に示します。

steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null

すべてが/dev特別な許可を持っているようです。
セス


1
それは許可ではありません。ファイルの種類です。
ジル 'SO-悪であるのをやめる'

回答:


34

これは、ファイルがキャラクタースペシャルファイルであることを意味します。基本的には、シリアルアクセスを提供するデバイスファイルです(ディスクドライブなどのブロックスペシャルデバイスとは対照的です)。たとえば、端末とシリアルデバイスは、キャラクタスペシャルファイル(/dev/tty1など/dev/ttyS0)を介してインターフェースされます。

デバイスファイルの簡単な紹介については、Linux / UNIX:デバイスファイル [cyberciti.biz]を参照してください。より詳細な議論については、このstackexchangeの回答/ devとそのサブディレクトリとファイルについてを参照してください。基礎となるデータ構造の詳細については、The Linux Kernel Module Programming Guide:Character Device Files [tldp.org]の第4章を参照してください。


3
良いことですが、答えをもう少し広げて、いくつかの便利なリンクを提供する方が良いでしょう。:)
Saurav Kumar

3
私は適切なレベルで何かを見つけることができませんでした(どちらかの追加なし、または右に潜っ- @SauravKumar一部を追加するにはお気軽にstruct char_deviceCコードカーネルプログラミング)
steeldriver

@steeldriver これらはあなたにスタートを与えるかもしれません:)
セス

20

キャラクターデバイスはc、モード文字列の最初の文字としてでマークされます。同様に、ブロックデバイスにはb

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 21 21:50 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 21 21:50 /dev/sda

これらの特別なデバイス(すべてがLinuxのファイルであるという意味でのファイル)がさらにあります。

d : directory
s : socket
p : pipe
D : Door
l : symbolic link etc.

詳細については、このウィキペディアのページをご覧ください。


それを猫にする方法はありますか?
エディク・ムコヤン

5

ls -l一般に許可文字列として知られる情報の10シンボルUNIX文字列を出力します。例えば

-rw-rw-r--  1 userName groupName   13200650 Dec 13 21:23 fileName

ファイル記述子と呼ばれる許可文字列またはモード文字の最初の文字は、ファイルタイプを示し、3つのグループに分けられた残りの9つは、関連するファイルの許可を示します。

  • 3文字の最初のグループ(10文字のうち最初の文字の後)は所有者の許可を示し、
  • 3つの2番目のグループは、グループの権限を指定します。
  • 最後の3つのグループは、他(または世界)の許可を指定します。

ここで、上記の例では、最初の文字/記号「-」は通常のファイルを示しています。

次の例では、

crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
crw-rw-rw- 1 root root 1, 5 Jan 13 20:56 /dev/zero

許可文字列の最初の文字は「c」であり、上記のように、文字デバイスを示すファイルタイプのインジケータです。

以外に-cいくつかの他のファイル記述子があります:

  • d ->ディレクトリ
  • l ->シンボリックリンク
  • s -> Unixソケット
  • b ->ブロックデバイス
  • p ->パイプライン
  • D ->ドア

参照:


2

最初の列の最初の文字、つまり上記のcrw-rw-rw-の「c」は、通知されたユーザーにファイルのタイプ(この場合はキャラクターデバイス)を伝えます。

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