나는 이 모든 옵션에 대해 혼란스럽습니다. 이는 -perm /a+x
파일이 모든 사용자에 대해 실행 권한을 가져야 한다는 것을 의미하고 -perm -a+x
파일이 모든 사용자에 대해 실행 권한을 가져야 한다는 것을 의미하지만 a+x
차이점은 무엇입니까 a=x
?
[user@j6727961 ~]$ find -name 'perm*' -perm /a+x
./perm
./perm1
[user@j6727961 ~]$ find -name 'perm*' -perm /a=x
./perm
./perm1
[user@j6727961 ~]$ ll
total 57280
drwxrwxr-x. 2 user user 54 Dec 9 20:06 exercises
-rwxrwxrwx. 1 user user 0 Dec 10 21:08 perm
----rwxrwx. 1 user user 0 Dec 10 21:09 perm1
[user@j6727961 ~]$ find -name 'perm*' -perm -a=x
./perm
[user@j6727961 ~]$ find -name 'perm*' -perm -a+x
./perm
답변1
find와 함께 사용하기 위해서는 비트가 변경되지 않으며 a=x
and 의 의미는 a+x
동일합니다.
그러나 일반적으로 세 가지 옵션은 다음과 같습니다(+mode는 더 이상 사용되지 않음).
mode # exactly
-mode # ALL bits SET
/mode # ANY bit SET
이는 mode 760
권한이 있는 파일이 검색된다는 의미입니다.정확히 760
.
A -mode 220
(바이너리 010 010 000 또는 -w--w----)는 소유자와 그룹(모두) 쓰기 비트가 설정되고 다른 비트가 설정된 모든 파일을 검색합니다. 이는 중요하지 않습니다.
예: 630 ( 110 011 000 또는 rw- -rx ---).
a는 /mode 220
모든 비트 설정과 일치합니다.
실제로는 220,230,360,270과 같습니다.
모든(바이너리) x1x x1x xxx. 여기서 x는 "상관 없음"을 의미합니다.
비트 세트를 표현하는 또 다른 방법은 다음과 같습니다.
a (for all)
u (for user)
g (for group) and
o (for others)
An은 a+r
파일이 가질 수 있는 권한(추가 또는 이진 OR) r-- r-- r--을 설정하는 것과 동일함을 의미합니다. 또는 a+x는 --x--x--x 또는 001001001 또는 111을 의미(추가)합니다.
따라서 두 가지를 혼합하십시오.
- perm a+x ===> perm 111 ===> 권한 111만 있는 파일
- perm -a+x ===> perm -111 ===> u(ser) g(roup)에 의해 실행됨그리고기타)
- perm /a+x ===> perm /111 ===> u(ser) g(roup)에 의해 실행됨또는 기타)
a=x
또는 이 명령에만 a+x
특정한 의미가 있습니다 chmod
. 사용자에 대한 실행 비트를 변경(설정)합니다. 즉,
.: . 하지만 사용자의 나머지 두 비트는 지워지고 실행 비트만 설정되어 사용자의 권한이 정확해집니다. A는 이러한 비트를 정확하게 또는 사용자를 위해 설정합니다. A도 같은 일을 할 것이다. u+x
OR 100
u=x
1
chmod u+rwx file
7
rwx
chmod u=rwx file
찾기의 경우 비트가 변경되지 않으며 a=x
동일한 a+x
의미를 갖습니다.