ls -la를 작성하면 출력은 다음과 같습니다.
tusharmakkar08-위성-C660 tusharmakkar08 # ls -la 총 88개 drwxr-x---+ 10 루트 4096 4월 18일, 19:43. drwxr-xr-x 4root4096 3월 18일, 17:35.. drwxr-xr-x 4 root32768 1970년 1월 1일 CFB1-5DDA drwxrwxrwx 2root4096 2월 23일 00:09 FA38015738011473 drwxrwxrwx 2 루트 루트 4096 4월 17일 14:00 로컬 drwxrwxrwx 2 루트 루트 4096 3월 19일 05:04 local\040Disk1 drwxrwxrwx 2 루트 루트 4096 4월 18일 19시 43분 local\134x20Disk1 drwxrwxrwx 2 루트 루트 4096 2월 23일 00:09 로컬 디스크 drwxrwxrwx 1 루트 루트 24576 4월 19일 15:15 local\x20Disk1 drwxrwxrwx 2 루트 root4096 2월 23일 00:08 PENDRIVE
이제 CFB1-5DDA의 권한을 변경하고 싶은데 변경할 수 없습니다. 내가 글을 쓸 때
chmod 777 CFB1-5DDA
권한은 변경되지 않습니다. 산출
sudo blkid -c /dev/null
예
tusharmakkar08-satellite-C660 tusharmakkar08 # sudo blkid -c /dev/null /dev/sda2: UUID="FA38015738011473" 유형="ntfs" /dev/sda3: LABEL="로컬 디스크" UUID="01CD72098BB21B70" TYPE="ntfs" /dev/sda4: UUID="2ca94bc3-eb3e-41cf-ad06-293cf89791f2" 유형="ext4" /dev/sda5: UUID="CFB1-5DDA" 유형="vfat"
산출
고양이/etc/fstab
예
tusharmakkar08-satellite-C660 tusharmakkar08 # 고양이 /etc/fstab # /etc/fstab: 정적 파일 시스템 정보. # # #/dev/sda4 항목: UUID=2ca94bc3-eb3e-41cf-ad06-293cf89791f2 / ext4 기본값 01 #/dev/sda2 항목: UUID=FA38015738011473 /media/sda2 ntfs-3g 기본값, locale=en_IN 0 0 #/dev/sda5 항목: UUID=CFB1-5DDA /media/tusharmakkar08/CFB1-5DDA vfat 기본값 0 0 /dev/sda3 /media/tusharmakkar08/Local\134x20Disk1 fusionblk 기본값, nosuid, nodev, 허용_기타, blksize=4096 0 0 /dev/sda3 /media/tusharmakkar08/Local\x20Disk1 ntfs-3g 기본값, nosuid, nodev, locale=en_IN 0 0 #/dev/sda3 /media/tusharmakkar08/Local\134x20Disk1 ntfs 기본값,nls=utf8,umask=0222,nosuid,nodev 0 0
그리고 출력
산
예
tusharmakkar08-satellite-C660 tusharmakkar08 # 설치 /dev/sda4 켜짐/ 입력 ext4(rw) /proc의 proc 유형 proc(rw,noexec,nosuid,nodev) /sys의 sysfs 유형 sysfs(rw, noexec, nosuid, nodev) /sys/fs/fuse/connections에 fusectl(rw) 유형이 없습니다. /sys/kernel/debug 유형 debugfs(rw)에는 없음 /sys/kernel/security 유형 securityfs(rw)에 없음 /dev에서 udev 유형 devtmpfs(rw,mode=0755) /dev/pts 유형 devpts의 devpts(rw,noexec,nosuid,gid=5,mode=0620) /run에서 tmpfs 유형 tmpfs(rw,noexec,nosuid,size=10%,mode=0755) /run/lock 유형은 tmpfs에서 사용할 수 없습니다(rw, noexec, nosuid, nodev, size=5242880) /run/shm 유형 tmpfs를 사용할 수 없음(rw, nosuid, nodev) /run/user 유형 tmpfs를 사용할 수 없음(rw, noexec, nosuid, nodev, size=104857600, mode=0755) /sys/fs/cgroup의 cgroup 유형 tmpfs(rw,relatime,mode=755) /sys/fs/cgroup/cpuset의 cgroup 유형 cgroup(rw, relatime, cpuset) /sys/fs/cgroup/cpu의 cgroup 유형 cgroup(rw, relatime, CPU) /sys/fs/cgroup/cpuacct의 cgroup 유형 cgroup(rw, relatime, cpuacct) /sys/fs/cgroup/memory의 cgroup 유형 cgroup(rw, relatime, memory) /sys/fs/cgroup/devices의 cgroup 유형 cgroup(rw, relatime, devices) /sys/fs/cgroup/freezer의 cgroup 유형 cgroup(rw, relatime, Freezer) /sys/fs/cgroup/blkio의 cgroup 유형 cgroup(rw, relatime, blkio) /sys/fs/cgroup/perf_event의 cgroup 유형 cgroup(rw,relatime,perf_event) /dev/sda2 /media/sda2의 fusionblk(rw,nosuid,nodev,allow_other,blksize=4096) 유형 /dev/sda5는 /media/tusharmakkar08/CFB1-5DDA 유형 vfat(rw)에 있습니다. /media/tusharmakkar08/Local\x20Disk1의 /dev/sda3 유형 fusionblk(rw,nosuid,nodev,allow_other,blksize=4096) binfmt_misc 유형 binfmt_misc(/proc/sys/fs/binfmt_misc)(rw, noexec, nosuid, nodev) /run/user/tusharmakkar08/gvfs의 gvfsd-fuse 유형 fusion.gvfsd-fuse (rw,nosuid,nodev,user=tusharmakkar08)
답변1
chmod 777 CFB1-5DDA
CFB1-5DDA
마운트 지점이고 마운트된 파일 시스템이 vfat이므로 실패했습니다 . 따라서 파일 시스템이 지원하지 않는(즉, 저장할 수 없는) 파일 시스템에 메타데이터를 쓰려고 합니다. 그렇게 간단합니다.
strace chmod 777 CFB1-5DDA
커널 오류를 표시합니다.
접근 권한을 변경하려면 설치( -o remount
또는 umount; mount
)를 변경해야 합니다.
답변2
권한 문제를 일으키는 디렉터리/파일을 실제로 지원하는 파티션/마운트가 무엇인지 알 수 없습니다.
NTFS이거나 Fusion 파일 시스템 중 하나인 경우 클라이언트에 표시되는 권한이 오해의 소지가 있을 수 있습니다. 반드시 실제 권한은 아닙니다. 이에 대한 실제 권한은 NTFS/FUSE 공유 설치를 수행하는 실제 계정에 의해 제어됩니다.
실제 권한을 얻으려면 클라이언트보다는 권한 개시자(즉, 파일이 공유되는 컴퓨터)를 살펴봐야 할 것입니다.
예를 들어
여기서는 mount.cifs를 사용하여 Samba 공유를 마운트합니다. 공유가 마운트되기 전에 공유를 마운트하는 디렉터리(마운트 지점이라고도 함)에 다음과 같이 라이센스가 부여됩니다.
$ ls -dl /mnt
drwxr-xr-x. 5 root root 4096 Apr 20 2011 /mnt/
이 디렉토리의 내용은 다음과 같습니다.
$ ls -la /mnt
total 20
drwxr-xr-x. 5 root root 4096 Apr 20 2011 .
drwxr-xr-x. 26 root root 4096 Apr 26 08:11 ..
drwxr-xr-x. 2 root root 4096 Dec 28 2010 m1
drwxr-xr-x 2 root root 4096 Apr 20 2011 test1
drwxr-xr-x 2 root root 4096 Apr 20 2011 test2
이제 사용자 계정 "sam"을 사용하여 "bart" 서버에서 Samba 공유 "sam"을 마운트합니다.
노트:사용자 계정 "sam"은 내 로컬 컴퓨터가 아닌 서버 "bart"에 로컬입니다.
$ mount -t cifs //bart/sam -o username=sam /mnt
이제 /mnt가 어떻게 보이는지 살펴보겠습니다.
$ ls -ld /mnt/
drwxr-x--- 123 5060 1000 0 Apr 28 12:14 /mnt/
$ ls -l /mnt/ | head -5
total 72828
drwxr-xr-x 3 5060 users 0 Oct 23 2009 backup_archives
-rw-r--r-- 1 5060 1000 9907 Jan 31 14:39 bashrc
-rw-r--r-- 1 root root 50664 Oct 10 2007 bg_body.png
drwxr-xr-x 4 5060 users 0 Mar 16 2012 bin
Samba 공유를 해당 위치에 마운트하자마자 /mnt 디렉토리에 대한 이전 권한이 사라집니다. 원래의 /mnt가 사라지지 않았습니다. 원래의 unmount /mnt
/mnt가 아직 거기에 있다면 마운트해도 마운트한 디렉토리의 내용이 삭제되지 않습니다.
노트:사용자 ID는 5060으로 표시됩니다. 이는 원격 파일 시스템을 다루고 있으며 로컬 시스템이 이러한 사용자 ID에 대해 모른다는 더 많은 증거입니다.
기억해야 할 핵심 사항
- 표시되는 파일은 실제로 로컬 파일 시스템의 일부가 아닙니다.
- 권한은 클라이언트가 아닌 파일 서버에 의해 결정됩니다.
- 설치 기술은 본질적으로 다르기 때문에 어떤 기술이 어디에 사용되는지 주의를 기울여야 합니다.