특수 사용자 ID 세트로 파일 시스템 마운트


19

장치 /dev/sda3를 디렉토리 에 마운트하고 싶습니다 /foo/bar/baz. 디렉토리를 마운트 한 후 사용자의 uid가 있어야합니다 johndoe. 그래서 나는했다 :

sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe

내에 다음 줄을 추가했습니다 /etc/fstab.

/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1

내가 지금 sudo -u johndoe mount /dev/sda3하면 명령 stat -c %U /foo/bar/bazroot아닌 결과입니다 johndoe. uid johndoe세트 로이 ext4 파일 시스템을 마운트하는 가장 좋은 방법은 무엇입니까 ?

답변:


20

ext4 파일 시스템이있는 디스크에서 소유자를 강제로 실행할 수 없습니다. fat와 같은 Linux 권한을 지원하지 않는 파일 시스템에만 소유권 / 그룹 쉽 속성이 있습니다 : uid=valuegid=value. 참조mount 매뉴얼 페이지를 .

다음과 같이 마운트 된 파일 시스템의 소유자를 변경해야합니다.

sudo chown johndoe /foo/bar/baz

재귀 적으로 권한을 변경해야하는 경우 :

sudo chown -R johndoe /foo/bar/baz

... 그룹을 다음 johndoe과 같이 변경해야하는 경우 :

sudo chown -R johndoe: /foo/bar/baz

2
재귀 적으로 소유권을 변경하는 것은 도움이 될 경우 일반적으로 나쁜 생각입니다. "올바른"소유권을 지우고 나면 사실상 쉽게 되돌릴 수있는 방법이 없습니다. IMO bindfs는 이것을 처리하는 올바른 방법입니다 (내 답변 참조).
Catskul

3
bindfs는 다른 복잡한 계층처럼 들립니다. 내 대답은 다른 사용자 ID로 이전 설치에서 사용 된 외부 하드 디스크 (백업용)에 가장 적합합니다. 여러 사용자 ID를 유지해야하는 상황 (루트 파일 시스템)에서는 사용 -u해서는 안되지만이 경우 bindfs 는 다른 사용자 ID의 액세스 제한을 우회하므로 사용하지 않아야합니다. --map액세스 제한을 유지하려면 사용해야합니다.
Lekensteyn

1
+1은 "그것은 권한이없는 금융 감독원에서만 가능"- 내가 사용하려고했는데 uidgid어떤이 작동하지 않을 것입니다.
mgarciaisaia

19

bindfs답입니다. 이미 마운트 된 파일 시스템을 사용하여 원하는 uid를 볼 수 있습니다.

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

1
bindfs에는 다른 작동 모드가 있습니다. bindfs.org/docs/bindfs.1.html
Lekensteyn

2
어, 그것은 FUSE를 사용합니다.
Navin

호스트 OS와 다른 사용자 권한으로 9p 가상 파일 시스템을 마운트하고 싶었습니다. Bindfs는 실제로 바인딩에서 빠져 나왔습니다. 훌륭한 작은 도구!
Boann

6

파일에 대해 설정된 그룹에 적절한 권한이 있다고 가정하면 그룹 ID (GID)를 찾아서 자신을 추가 할 수 있습니다.


파일의 그룹 ID를 찾으려면을 사용하십시오 ls -n. 출력 예 :

drwxr-xr-x 1 1000 1000  550 Jul  9 11:08 Desktop/

GID의 네 번째 필드를 원합니다. 제 경우에는 두 번째 1000입니다.

sudo addgroup --gid GID foobar; sudo usermod `whoami` -aG foobar

일단 당신이 그것을 실행하면 당신은 그룹의 파일 속성이 허용하는 곳이라면 어디에서나 완전히 고삐를 받아야합니다.

사용자 권한과 관련된 다른 답변에서 언급했듯이 일부 파일에서 그룹을 수정해야하는 경우 다음 중 하나 를 실행하십시오 .

sudo chown -R :foobar ./
sudo chgrp -R  foobar ./

1
A가 아닌 파일의 소유권을 변경하지 않고 사용자 나 그룹을 A에서 B로 전환하려면주의하십시오. sudo chown --from A B -R ./사용자 및 sudo chown --from :A :B ./그룹에 사용할 수 있습니다
LateralFractal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.