mount 디렉토리 권한을 admin:admin으로 변경하시겠습니까?

mount 디렉토리 권한을 admin:admin으로 변경하시겠습니까?

다음 명령을 사용하여 한 CentOS 서버에서 다른 CentOS 서버로 삼바 공유를 마운트합니다.

mount -t cifs -o blarg,password //10.151.170.170/events /var/blarg/copy-to

이렇게 하면 권한이 /var/blarg/copy-toadmin:admin으로 변경됩니다. 권한을 사용하여 제거 하면 umount //10.151.170.170/events다시 변경됩니다. 다른 기능에 영향을 미치기 때문에 이런 일이 발생하는 것을 원하지 않습니다.

권한이 관리자로 변경되는 것을 방지하는 방법은 무엇입니까?

답변1

이는 일반적인 UNIX 동작이지만 cif가 원격 사용자 정보를 무시하도록 할 수 있습니다.

mount -t cifs -o \
    user=blarg,password=blarg,nounix,uid=0,gid=0 \
    //10.151.170.170/events /var/blarg/copy-to

이렇게 하면 모든 파일이 root:root의 소유인 것처럼 보입니다. 생성된 모든 파일은 해당 파일을 설치한 사용자(이 경우 Bragg)의 소유가 됩니다.

nounix사용자 정보를 비활성화할 뿐만 아니라 모든 posix 확장도 비활성화합니다. 이것이 Windows 설치인 경우 원하는 것입니다. 그렇지 않은 경우 nounix로 변경할 수 있습니다 forceuid,forcegid.

답변2

에 따르면 man mount.cifs:

   uid=arg
       sets the uid that will own all files or directories on the mounted
       filesystem when the server does not provide ownership information.
       It may be specified as either a username or a numeric uid. When not
       specified, the default is uid 0. The mount.cifs helper must be at
       version 1.10 or higher to support specifying the uid in non-numeric
       form. See the section on FILE AND DIRECTORY OWNERSHIP AND
       PERMISSIONS below for more information.

uid를 예상 값으로 강제하려면 uid를 사용하십시오. 그룹(gid)에도 동일하게 적용됩니다.

예:

$ mount -t cifs //10.151.170.170/events /var/blarg/copy-to -o blarg,password -o uid=1000,gid=100

uid 및 gid를 찾으려면 다음 명령을 사용할 수 있습니다 getent.

$ getent passwd <username>    
usrname:x:1000:1005:username,,,:/home/username:/bin/bash

처음 1000개는 uid이고 1005번째는 gid입니다(순서가 아니라 값이 변경됨).

관련 정보