장치 /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/baz
이 root
아닌 결과입니다 johndoe
. uid johndoe
세트 로이 ext4 파일 시스템을 마운트하는 가장 좋은 방법은 무엇입니까 ?
답변
ext4 파일 시스템이있는 디스크에서 소유자를 강제로 실행할 수 없습니다. fat와 같은 Linux 권한을 지원하지 않는 파일 시스템에만 소유권 / 그룹 쉽 속성이 있습니다 : uid=value
및 gid=value
. 참조mount 매뉴얼 페이지를 .
다음과 같이 마운트 된 파일 시스템의 소유자를 변경해야합니다.
sudo chown johndoe /foo/bar/baz
재귀 적으로 권한을 변경해야하는 경우 :
sudo chown -R johndoe /foo/bar/baz
… 그룹을 다음 johndoe
과 같이 변경해야하는 경우 :
sudo chown -R johndoe: /foo/bar/baz
답변
bindfs
답입니다. 이미 마운트 된 파일 시스템을 사용하여 원하는 uid를 볼 수 있습니다.
sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
답변
파일에 대해 설정된 그룹에 적절한 권한이 있다고 가정하면 그룹 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 ./