Linux 파일 서버에서 새 파일 / 폴더에 대한 특정 권한을 어떻게 적용합니까?


14

Ubuntu 9.10 (파일 서버) 설치 및 해당 삼바 권한에 문제가 있습니다. 로그인하고 읽을 수 있습니다. 그러나 사용자가 새 디렉토리를 만들면 다른 사용자의 액세스가 제한됩니다. 예를 들어, Bob (드라이브를 맵핑하는 Windows 사용자)이 디렉토리에 폴더를 작성하면 Jane (단순히 smb 마운트하는 Mac 사용자)이 폴더를 읽을 수는 있지만 쓸 수는 없으며 그 반대도 마찬가지입니다. 그런 다음 모든 사람이 행복하기 위해 CHMOD 777 디렉토리로 이동해야합니다. smb.conf 파일에서 "create / directory mask"및 "force"옵션을 편집하려고했지만 도움이되지 않는 것 같습니다.

나는 이것이 수정이 아니라고 확신하지만 재귀 chmod 루틴을 CRONTABing하려고합니다. 모든 새 항목이 항상 777이되도록하려면 어떻게해야합니까? 누구 든지이 끊임없이 발생하는 상황을 해결하기 위해 어떤 제안이 있습니까?

베스트


사용자 그룹 및 기타 기본 권한은 777을 chmod하지 않습니다.
Warner

답변:


13

나는 일반적으로 공유에 대한 권한 및 그룹 관리를 위해 SAMBA의 기본 기능을 사용합니다. 예를 들어 ..

force user=user1
force group=sharedgroup
create mask=775

공유에서이 설정을 지정합니다. 구성 변경 후에는 init 스크립트를 통해 SAMBA를 다시로드해야합니다.


1
그러나 그 포스트는 그가 그렇게했지만 작동하지 않았다고 말합니다.
Mistiry

2
그런 다음 그는 잘못했다. 효과가있다.
Warner

무슨 일인지 잘 모르겠습니다. Webmin을 통해 수동으로 사용해 보았습니다. 아마도 그룹의 그룹 선택이 잘못 되었습니까? "사용자"와 다양한 수동으로 생성 된 그룹을 사용해 보았습니다.이 그룹은 모두 회원이되었습니다. 내가 무엇을하든 사용자는 자신이 배치하지 않은 것을 조작 할 수 없습니다. 유일한 "솔루션"은 모든 사용자가 GUEST로 로그인 (또는 마운트)하여 혼동을 일으키는 것입니다.
humble_coder

SAMBA는 구성 내에서 파일 시스템 권한과 설정의 조합을 사용합니다. 사용자가 write list공유 구성에 있지 않거나 공유 구성에 쓰도록 허용 된 경우 작동하지 않습니다. SAMBA를 실행하는 사용자가 디렉토리에 액세스 할 수 없으면 작동하지 않습니다. 사용자는 해당 그룹의 구성원이어야하며 디렉토리 및 파일은 해당 그룹이 소유해야하며 그룹에 쓰기 가능한 비트가 설정되어 있어야합니다. SAMBA 로그도 확인할 수 있습니다.
워너

2
나는 이것을 오랫동안 찾고 있었다! 감사! :) 예상대로 작동합니다.
NagyI

2

디렉토리에 대한 권한을 다음과 같이 2777로 설정하십시오.

chmod 2777 /shared/dir

이로 인해 '/ shared / dir'디렉토리 아래의 모든 파일과 폴더가 최상위 디렉토리 (이 경우 777)의 권한을 상속합니다.

그런 다음 모든 파일에 적절한 권한이 있는지 확인하십시오.

chmod -R 777 /shared/dir

공개적으로 쓸 수있는 유일한 상황은입니다 /tmp.
워너

1
예, 상황에 따라 774 또는 770을 사용하는 것이 좋습니다. 그러나 그는 그것들을 모두 '777'로 만드는 법을 물었습니다.
Mistiry

3
예. 그러나 네트워크를 통해 해당 디렉토리에 복사 된 모든 향후 파일이 초기 권한에 관계없이 동일한 권한을 받도록하려면 어떻게해야합니까? 수동으로 할 때 아무런 문제가 없으며 단순히 자동화하기를 원합니다.
humble_coder

2
작동하지 않습니다. 폴더에 대한 setgid 플래그는 권한이 아닌 새 파일 및 폴더 그룹을 설정하며 chmod를 항상 실행하는 것은 허용되지 않습니다. Linux에서 Steam의 경우 삼바와 관련이없는 솔루션이 필요하므로 사용자 간 라이브러리를 공유 할 수 있습니다.
Sam Watkins

2

나는 이것이 오래된 질문이라는 것을 알고 있지만 최근에 비슷한 문제가 있었고 그것을 해결하는 방법은 다음과 같습니다.

[공유]
보안 마스크 = 0770
마스크 만들기 = 0770
강제 작성 모드 = 0660
코멘트 = IT에 대한 삼바 공유
경로 = / raid / share
찾아보기 가능 = 예
손님 확인 = 아니오
쓰기 목록 = root, @ "DOMAIN + it_nfs"
힘 그룹 = DOMAIN + it_nfs

이를 통해 사용자는 AD의 "it_nfs"보안 그룹에 있어야하고 모든 파일은 "it_nfs"그룹으로 작성되며 모든 파일은 최소 0660 및 최대 0770 perms로 작성됩니다. 그룹 ID를 강제하면 해당 그룹의 모든 사용자가 공유에서 파일을 읽고 쓸 수 있습니다. 그렇지 않으면 둘 다 "it_nfs"에 있더라도 bob : bob으로 작성된 파일을 charlie : charlie로 쓸 수없는 상황이 발생합니다.


0

수락 된 답변의 의견에서 실제로 OP의 문제를 해결하지 못했으며 OP가 내가했던 것과 같은 문제가 발생하면 다른 답변도 없었습니다.

NTFS / FAT 파티션에 공유가 있습니다.

당신의 가족 앨범을 공유하기위한 NAS에 바탕 디스크를 연결하면이 기억 : FS가 PARAMS 마운트 사용자, 그룹, 모드 등을 만들 재정의 삼바 구성되어 무엇이든! ;)

(예 : 나의 경우에 관계없이 smb.conf모든 의해 만들어진 root으로, 777- fstab에 따라 defaults대한 NTFS 마운트 퓨즈 ...)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.