setguid
ここには2つの部隊が働いています。1つ目は、フォルダーで有効になっているsetgidビットですfolder
。
drwxr-s---. user group folder
これs
は、この行の先頭の文字のパックにあります。これらはこうしてグループ化されています:
d - directory
rwx - read/write/execute bits for user
r-s - read/execute/setuid bits for group
--- - nothing for other users
r-s
任意のファイルやディレクトリがこのフォルダ内に作成されたことを意味し、自動的にグループに設定されたグループを持つことになりますgroup
。
これがファイルの原因でfoo.txt
ありbar.txt
、次のように作成されます。
-rw-r--r--. user group foo.txt
-rw-rw-r--. user group bar.txt
権限とumask
表示されている権限は別の問題です。これらは、の設定によって管理されますumask
。umask
次のコマンドを使用して、自分の設定を確認できますumask
。
$ umask
0002
注:これらのビットは「モード」ビットとも呼ばれます。
これはマスクなので、有効になっている許可に関連するビットは無効になります。この例では、他のユーザーの書き込み許可のみが必要です。
0 - skipping for this conversation
0 - value of user bits
0 - value of group bits
2 - value of other bits
このコマンドの「ビット」の表現は10進数形式です。したがって、2はバイナリ形式の010(書き込みビット)に相当します。4(100)は、読み取りを無効にすることを意味します。7(111)は、読み取り/書き込み/実行をすべて無効にすることを意味します。ここから構築します:
$ umask 007
他のユーザーの読み取り/書き込み/実行ビットを無効にします。
それでは、あなたのファイルはどうですか?
まあ、umask
新しいファイルが作成されたときに設定されるアクセス許可を管理します。したがって、次のumask
セットがある場合:
$ umask 007
そして、新しいファイルに触れ始めたので、次のように作成されます。
$ touch newfile1.txt newfile2.txt
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile2.txt
他の何かに変更した場合は、次のように言ってください:
$ umask 037
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
ただし、すでに作成したファイルには影響しません。こちらをご覧ください:
$ umask
0037
$ touch newfile1.txt newfile2.txt
$ ls -l | grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
それでは、ファイルブラウザで何が起こっているのでしょうか?
これumask
が、私が「ソフト」設定と呼んでいたものです。これは絶対的なものではなく、Unixではさまざまな方法で簡単にバイパスできます。多くのツールは、操作の一部として許可を指定できるスイッチを使用します。
テイクmkdir
例えば:
$ umask
0037
$ mkdir -m 777 somedir1
$
$ ls -ld somedir1
drwxrwxrwx 2 saml saml 4096 Nov 3 22:44 somedir1
-m
スイッチ我々は上書きすることができますumask
。touch
あなたは創造的な取得する必要があるので、コマンドがこの機能を持っていません。このU&Lに関するQ&Aタイトルを参照してください。コマンドラインで設定されたアクセス許可でファイルを作成できますか まさにそのような方法のために。
他の方法?単にオーバーライドしますumask
。ほとんどの場合、ファイルブラウザはこれを実行するかumask
、ファイルを完全に無視し、実行するように設定されている権限を使用してファイルを配置します。