ネットワークを介して一部のファイルを移動すると問題が発生し、ファイルの権限が原因であるようです。
現在、私はこの権限drwxrwxrwxを持つフォルダを持っています。権限をdrwx --- r-x +に変更するbashスクリプトを実行する必要があります
ACLが存在する必要があります。
CHMODコマンドを使用して同じ権限をどのようにして実現できるのかよくわかりません。私はこれまでに試しました:
chmod -R ugo = rx "ファイル"
しかし、これはdr-xr-xr-xに変更されるようです。これは十分ではありません...
したがって、問題は、drwx --- r-x +を実現するためにどのコマンドを実行する必要があるかです。
前もって感謝します。
PS。このコマンドはMACOSX Maveriksで実行する必要があるため、「setfacl」コマンドは役に立ちません。
許可drwx---r-x+
は次のように分類されます。
d
はもちろんディレクトリです。rwx
は、 serによって読み取り、書き込み、およびアクセスできることを意味します。これらの3つのビットは、8進数7
で表すことができます。---
は、ディレクトリに割り当てられたg roupに対して前述の3つのビットが設定されていないことを意味します。ビットが設定されていないため、8進数は0
です。r-x
は、最初の2つのカテゴリ(つまり、他の全員、または "o ther")に一致しないユーザーは、ディレクトリの内容を読み取りおよびアクセスできますが、書き込みはできないことを意味しますそれに。ここのビットは1の列と4の列にあるので、この権限を表す8進数は5
です。+
は、このディレクトリに関連付けられた「拡張セキュリティ情報」があり、標準のls
"長形式"では表示されないことを示します。たとえば、アクセス制御リスト。このディレクトリの基本的な権限を設定するには、8進数の省略形を使用できます。
$ chmod 705 directoryname
または、「シンボリック」表現を使用できます。
$ chmod u+rwx,g-rwx,o+rx-w directoryname
明らかに、略記は...より短いです。
+
で示される拡張セキュリティ情報については、それを複製するために何が設定されているかを調べる必要があります。 ls
コマンドには、拡張セキュリティ設定を表示する-e
オプションがあります。
コマンドラインから実際にACLをsetするには、chmod'a =a
、-a
、および+a
オプションを使用します。これに関するドキュメントは、OSXでman chmod
から入手できます。そのmanページから:
Examples
# ls -le
-rw-r--r--+ 1 juser wheel 0 Apr 28 14:06 file1
owner: juser
1: admin allow delete
# chmod =a# 1 "admin allow write,chown"
# ls -le
-rw-r--r--+ 1 juser wheel 0 Apr 28 14:06 file1
owner: juser
1: admin allow write,chown