Iの場合ls -la
、多くの属性が出力されます。このようなもの:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
残念なことに、私は各属性の正確な意味がわからないことを告白しなければなりません。たとえばS
、文字列でのbigの意味は何-rwSrwSr--
ですか?次は1
何ですか?私は大体他の人を知っています。
Iの場合ls -la
、多くの属性が出力されます。このようなもの:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
残念なことに、私は各属性の正確な意味がわからないことを告白しなければなりません。たとえばS
、文字列でのbigの意味は何-rwSrwSr--
ですか?次は1
何ですか?私は大体他の人を知っています。
回答:
ls
コマンドのドキュメントはこれらの質問に答えます。ほとんどのUNIXバリアントで、ls
manページ(man ls
またはオンライン)を検索します。Linuxでは、Infoドキュメント(info ls
)またはオンラインを参照してください。
この文字s
は、setuid(または列によってはsetgid)ビットが設定されていることを示します。実行可能ファイルがsetuidの場合、プログラムを呼び出したユーザーの代わりに、実行可能ファイルを所有するユーザーとして実行されます。手紙s
は手紙を置き換えx
ます。ファイルをsetuidすることはできますが、実行可能にすることはできません。これはで示されます。ファイルが実行可能でない場合、setuidビットは(ほとんどの場合)役に立たないので、この設定はおそらく間違っていることをS
大文字でS
警告します。
ときにディレクトリが(またはsetgid)のアクセス権setuidをしており、そのディレクトリ内に作成されたファイルは、ディレクトリの所有者(またはグループ)に一致するユーザー(またはグループ)によって所有されます。
許可の後の数字は、ハードリンクカウントです。ハードリンクは、ファイルへのパス(つまり、名前)です。ほとんどのファイルには単一のパスがありますが、ln
コマンドでさらに作成できます。(これはシンボリックリンクとは異なります。シンボリックリンクは「ああ、実際、このファイルは別の場所にあり、<場所>に移動します。」)ディレクトリにはN + 2個のハードリンクがあります。親から、自身から(.
エントリを介して)、各サブディレクトリから(..
エントリを介して)。
$ ls /Users
返しますdrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe
x
)許可を意味します。
(願わくばより単純な)用語で、これは意味します。ディレクトリはsetgidです。そこに作成されたファイルはすべて、そのフォルダの所有者のグループによって所有されます。
ただし、フォルダはグループによって実行可能ではないため、大文字のSで表示されます。これは通常、ディレクトリが作成されており、ディレクトリがsetgidになっている場合です。
うーん、それが実際に上記の平易な英語のように聞こえたかどうかはわかりません。
実行可能ファイルがないためです
s-> 'x'は有効になっていますS-> 'x'は無効になっています。
以下の例を参照してください
$ ls -l
total 0
-rwsrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca
$ chmod u-x ca
$ ls -l
total 0
-rwSrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca
$