마운트 포인트의 소유자를 변경하는 방법

마운트 포인트의 소유자를 변경하는 방법

mysql 데이터 디렉토리를 다른 디스크로 옮겼으므로 이제는 /var/lib/mysql다른 파티션에 대한 마운트 지점일 뿐입니다. 디렉토리 소유자를 /var/lib/mysql로 설정했습니다 mysql.mysql.

하지만 파티션을 마운트할 때마다 소유권이 root.root. 이로 인해 추가 MySQL 데이터베이스를 생성할 수 없었습니다.

fstab 항목:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

마운트 지점의 소유자를 루트가 아닌 사용자로 변경하는 방법은 무엇입니까?

답변1

파일 시스템이 마운트되지 않은 경우 마운트 지점이 아닌 마운트된 파일 시스템의 권한을 변경해야 합니다. 그럼 .mount /var/lib/mysqlchown mysql.mysql /var/lib/mysql그러면 MySQL DB 파일 시스템의 루트 권한이 변경됩니다.

기본 아이디어는 경로에 문제가 있는 경우(예: lib루트에서만 읽을 수 있는 경우)가 아닌 한 마운트 지점이 아닌 DB를 보유하는 파일 시스템을 변경해야 한다는 것입니다.

답변2

또한

mount device mount-point -o uid=foo -o gid=foo

그룹도 변경해야 하는 경우

답변3

중요 면책조항(의견을 통해 알게 됨):

uid 및 gid 플래그는 Linux 권한 스키마(즉, FAT 및 NTFS 등)를 지원하지 않는 파일 시스템에서만 작동합니다.

따라서 이것은 OP에 대한 정답은 아니지만 다른 사람들에게는 도움이 됩니다.


다음과 같이 uid와 gid를 추가합니다.

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

실제 사용자/그룹 이름(공백 주의) 또는 숫자 uid, gid 값을 사용할 수 있습니다. 액세스 문제를 예방하는 데 도움이 될 수 있는 rw 및 exec를 추가했습니다(프로덕션 서버가 아닌 개발 시스템에 있다고 가정).

추신: 더 많은 액세스를 원할 경우(원하는 경우) ",dir_mode=0777,file_mode=0777"을 추가하세요.

답변4

나는 보통 마운트되지 않은 빈 디렉토리에서 이 작업을 수행합니다.

chmod 777 <directory>

그럼 해

chown -R mysql.mysql <directory>

그런 다음 /etc/fstab에서 다음을 수행하십시오.

<device>    <directory>  ext3   user,defaults 0 2

그런 다음 사용

mount -a

/etc/fstab에 나열된 모든 파일 시스템을 마운트합니다.

이것은 나에게 효과적입니다. 시도 해봐

관련 정보