파일 소유자 권한을 그룹 권한으로 복사


25

파일의 사용자 / 소유자 권한을 그룹 권한으로 복사하려면 어떻게해야합니까?

예를 들어 권한이 755 인 경우 775가 되길 원합니다.

설명 : 755-> 775123-> 113 abc-> aac

디렉토리의 모든 파일에 대해 재귀 적으로 수행 할 수 있다면 보너스.

즉, 모든 파일에 대해 소유자 권한이 그룹 권한으로 복사됩니다. 각 파일마다 권한이 다를 수 있습니다.


잘 모르겠습니다. 그룹 권한이 소유자와 같도록 디렉토리 / 파일에 대한 권한을 변경 하시겠습니까? 그렇다면 chmod로 놀아보십시오. 원한다면 내 대답에 더 명백한 예를 보여줄 수 있습니다.
Anarko_Bizounours 2016 년

귀하의 답변에서 모든 파일을 775로 변경합니다. 파일 중 하나에 원래 123 권한이 있으면 어떻게합니까? 그런 다음 775가 아니라 113으로 변경해야합니다. 질문 (755)에서 사용한 권한은 단지 예일 뿐이며 실제 권한은 아무 것도 될 수 있습니다. 프로그래밍 방식 으로이 작업을 수행하고 싶습니다.
Annan

chmod 뒤의 숫자는 단지 숫자 허가입니다. ls -l을 수행하고 권한으로 452를 얻는 경우 chmod 442 / you_directory /로 이동하십시오. 모든 것은 내 대답에 연결된 위키 백과 페이지에 설명되어 있습니다.
Anarko_Bizounours 2016 년

답변:


54

g=u그룹 perms를 사용자 perms와 동일하게 만드는 데 사용할 수 있습니다.

ls -l file
-rw------- 1 user users 0 Jun 27 13:47 file

chmod g=u file

ls -l file
-rw-rw---- 1 user users 0 Jun 27 13:47 file

그리고 재귀 적으로

chmod -R g=u *

또는 일부 파일 사양

find /patch/to/change/perms -name '*.txt' -exec chmod g=u {} +

chmod를 맨은 당신의 친구입니다.


좋은 방법! 나는 xD 매번이 트릭을 잊었다
Anarko_Bizounours

이 트릭에 대해 들어 본 적이 없습니다! 유용한 것.
skinp

g=u트릭으로 인해 지루한 관리 시간이 절약되었습니다. +1 ;-) 간다
Edurne Pascual

모든 사용자와 공유하고 싶은 파일이 여러 개있었습니다. 그래서 내가 한chmod -R ag=u ${path_to_directory}
Trevor Boyd Smith

2

사람들이 말했듯이 파일 권한 변경은 위험 할 수 있습니다. 큰 힘으로 큰 책임과 그 모든 시자가옵니다. 이것은 내 대답입니다.

파일 / usr / bin / otog :

#!/bin/sh

f=$1
p=`stat -c "%a" $f`
chmod ${p:0:1}${p:0:1}${p:2:1} $f

사용법 예 :

find . -exec otog {} \;

stat 를 사용 하여 숫자 권한을 얻고 chmod 를 사용 하여 권한을 변경하십시오.

추신 : 더 좋은 방법은 Iain의 답변을 참조하십시오!


1
$ {p : 0 : 1} $ {p : 0 : 1} $ {p : 2 : 1}이 아니어야합니까?
minaev 2016 년

그래, 네 권리 그것은 내 방식대로 이상하게 작동했습니다.
Annan

downvote를 설명해주세요.
Annan

내가 아니라 보상하고 싶습니다. 이것은 작동하는 좋은 솔루션입니다.
minaev 2016 년

1
스크립트에서 위험한 명령을 수동보다 사용하는 것이 더 안전하다고 말하고 싶습니다. 잘 테스트 된 스크립트에서 :)입니다. 반면 chmod에, 정말, 정말로 위험한 명령이 아닙니다. 또는 다른 사람 rm과 비교할 때 rsync --delete.
minaev 2016 년

1

우선, 권리를 기재해야합니다.

ls -l /your_directory/
-rwxr-xr-x  1   57 Jul  3 10:13  file1
-rwxr-xr-x  1   57 Jul  3 10:13  file2

수치 허가로 결과를 번역하려면 이것을 사용하십시오 : R = 4, W = 2, X = 1.

따라서이 2 개의 파일에서 권한은 755입니다.

권한을 얻은 후에는 chmod 명령을 사용하여 원하는 방식으로 권한을 변경해야합니다.

chmod 775 /your_directory/

이 명령은 디렉토리의 권한 만 변경하지만 내부 파일의 권한은 변경하지 않습니다.

내부를 오른쪽으로 변경하려면 다음 명령을 수행하십시오.

chmod 775 /your_directory/ -fR

-fR은 재귀를 강제합니다. (적용하려는 권리와 디렉토리 안의 파일이 확실한 경우에만 사용하십시오.)

file1에서 권한 만 변경하려면 다음을 수행하십시오.

chmod 775 /your_directory/file1

그리고 쿠키가 무너지는 방식!

/! \이 명령을 잘못 사용하면 모든 OS 권한이 손상되어 오작동 할 수 있습니다. /! \

ps : chmod에 대한 자세한 정보는 거기 를 보십시오 .

이것이 도움이되기를 바랍니다.


질문에 약간의 설명을 추가했습니다. 파일에 동일한 소유자 권한이 없을 수 있으므로 chmod를 사용하려면 chmod에 전달하기 전에 소유자 권한을 추출하는 방법이 있어야합니까?
Annan

까다 롭지 만 ls -l 명령은 사용자에게 권한을 부여해야하지만 -rw-rw-r-- 형식입니다. 문제는 chmod로 작업하기 위해 스크립트를 사용해서는 안된다는 것입니다! 먼저 파일에서 모든 권한을 가져와야합니다. 그런 다음 chmod가 그룹에 적합합니다. 예를 보여주기 위해 답변을 편집하겠습니다.
Anarko_Bizounours 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.