![/etc/fstab을 사용하여 자동으로 드라이브를 마운트하고 특정 그룹의 모든 사용자에 대한 액세스를 제한합니다.](https://linux55.com/image/65367/%2Fetc%2Ffstab%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%98%EA%B3%A0%20%ED%8A%B9%EC%A0%95%20%EA%B7%B8%EB%A3%B9%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%95%A1%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%A0%9C%ED%95%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
현재 작업 공간으로 사용하는 추가 하드 드라이브가 있습니다. /etc/fstab에 다음 줄을 추가하여 재부팅 시 자동으로 마운트되도록 하려고 합니다.
/dev/sdb1 /media/workspace auto defaults 0 1
자동으로 설치되지만 특정 그룹에 속한 사용자에게 읽기/쓰기 권한을 제한하고 싶습니다. /etc/fstab에서 이 작업을 어떻게 수행합니까? 간단하게 사용할 수 있어요존또는chmod접근을 통제하려고?
답변1
파일 시스템 유형이 권한이 없는 파일 시스템 유형(예: FAT)인 경우 fstab 옵션에 umask
및 gid
를 추가할 수 있습니다. uid
예를 들어:
/dev/sdb1 /media/workspace auto defaults,uid=1000,gid=1000,umask=022 0 1
uid=1000
사용자 ID입니다.
gid=1000
그룹 ID입니다.
umask=022
소유자가 읽기, 쓰기 및 실행 권한을 갖도록 권한을 설정합니다. 그룹과 다른 사람들이 읽고 구현합니다.
변경 사항을 확인하기 위해 다시 시작할 필요는 없습니다. 몇 번 umount
이고 mount
논쟁이 없습니다. 예를 들어:
umount /media/workspace
mount /media/workspace
그러나 해당 디렉토리를 사용하는 프로세스(쉘도 포함)가 없는지 확인하십시오.
답변2
마운트 지점이 포함된 디렉터리를 통해 파일 시스템에 액세스하겠습니다.
루트 사용자로서:
mkdir -p /media/group1only/workspace
chgrp group1 /media/group1only
chmod 750 /media/group1only
이는 루트에 대한 전체 액세스 권한과 group1 구성원에 대한 읽기+실행 액세스 권한입니다. 실수로 마운트 지점 이름을 바꾸면 workspace
시스템을 부팅할 수 없게 될 수 있으므로 여기에 쓰기 권한을 부여하지 마십시오.
그리고 /etc/fstab에 추가하세요:
/dev/sdb1 /media/group1only/workspace auto defaults 0 1
파일 시스템이 마운트된 후에는 그룹 구성원 간의 보다 세분화된 액세스를 수용하기 위해 파일 시스템 내 개체에 대한 추가 소유권 및 모드 변경을 수행할 수 있습니다.
답변3
예를 들어 디스크의 파일 시스템이 ACL을 지원하고 가상 사용자 myusername과 가상 그룹을 사용하여 디스크 diskusers에 액세스한다고 가정하면 다음과 유사한 작업을 수행할 수 있습니다. $
일반 사용자로 실행된 명령을 나타내고, #
루트 사용자로 실행된 명령을 나타냅니다.
이 목적을 위해 사용자가 속할 수 있는 그룹을 만듭니다.
$ sudo groupadd diskusers
$ sudo usermod -a -G diskusers myusername
$ logout
다시 로그인하세요.
$ sudo -i
# mount /media/workspace
# chown root:root /media/workspace
# chmod 0750 /media/workspace/
# setfacl -d -m -g:diskusers:7 /media/workspace
# setfacl -m g:diskusers:7 /media/workspace
명령의 "7" setfacl
은 일반적인 8진수 권한(0400, 0200, 0100)과 마찬가지로 8진수(읽기 = 4 + 쓰기 = 2 + 실행 = 1)입니다.
이는 -d
새 파일 및 디렉터리에 대한 기본 마스크를 지정하는 스위치입니다. -m
디렉토리에 적용되는 마스크 입니다 .
(위와 같이) 기본값을 설정한 후 처음에 모든 파일에 마스크를 적용할 수도 있습니다.
find /media/workspace -exec setfacl -m g:diskusers:7 {} +
현재로서는 root 및 diskuser 구성원만 이 파일에 액세스할 수 있습니다. 또한 하위 디렉터리에 권한을 적용한다는 Mark Plotnick의 아이디어도 마음에 듭니다. 이 기술은 이런 방식으로도 사용될 수 있습니다.
답변4
저는 우분투 22.04를 사용하고 있습니다
fstab의 루트 마운트는 다음과 같습니다.
UUID=myuuid / ext4 errors=remount-ro,user=owner 0 1
그래서 passwd conf 파일의 소유자 사용자에게 접근 권한이 없지만 이 소유자가 마운트 지점(디렉토리)의 절대 소유자라고 가정합니다...
/
뿌리가 있다소유자/home/whateveruser
가지다whateveruser
소유자/media/myuser/mypendrive
가지다myuser
소유자
user=listofusers를 지정할 필요는 없습니다. 소유자는 루트와 유효한 로그인 사용자를 확보하기에 충분합니다.
/ext4 마운트 지점에서 user=owner를 설정한 후 USB 3.0 펜드라이브에서 거의 200MB의 전송 속도를 얻었습니다.
말씀드린 대로 작동하는지 모르겠지만 systemd
설치 오류나 오류 없이 부팅할 수 있습니다.