umaskに奇妙な問題があります。私の現在の設定は次のとおりです
$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
ただし、これはディレクトリではなくファイルにのみ機能します。
$ touch abc
$ ll abc
0 -rw-rw-rw- 1 user1 group1 0 Dec 12 11:39 abc
$ mkdir def
$ ll -d def
8.0K drwxrwxrwx+ 2 user1 group1 4.0K Dec 12 2012 def
このディレクトリでumaskが機能しない理由を提案できる人はいますか?助けてくれてありがとう!
これは新しいCentos Linuxシステムです。
編集:あなたのコメントに感謝します。一部の人が指摘したように、これはファイルでも機能しません。
追加情報:この問題は、ローカルディレクトリではなくNFSを介してマウントされたホームディレクトリでのみ発生するようです。 NFSはどのように問題を引き起こす可能性がありますか?
答え1
あなたの問題は、ここでもアクセス制御リストを適用することです。ディレクトリに注意してください、def?後ろには「+」があり、これはACL
ここでも権限が適用されることを意味します。ディレクトリレベルgetfacl
でコマンドを実行できますか?$HOME
これにより、私たちは何が起こっているのかをより深く理解することができます。
たとえば、
% getfacl .
# file: .
# owner: saml
# group: saml
user::rwx
group::rwx
other::r-x
答え2
明示的に無効にしない限り、ディレクトリには実行権限があります。必要に応じてumask 0033を試してください。
答え3
これはumask
まったく機能しません。
ファイルの場合、コマンドはisとマスクをtouch
使用して生成されます。-rw-rw-rw-
最終許可になります。したがって、ファイルでも機能しません。umask
0022
0666 & ~ 0022
0644 (-rw-r--r--)
ディレクトリの場合、コマンドはisとマスクをmkdir
使用して生成されます。rwxrwxrwx
最終許可になります。umask
0022
0777 & ~ 0022
0755 (rwxr-xr-x)
しかし、なぜ動作しないのかわかりません。 SHELLに問題がある可能性があります。