chmod를 파일에 적용 할 수 없습니다


18

HDD에 파일이 있습니다.

cd /media/celebisait/5AC69788C6976355

라는 내 파일이 myFile.tar.gz있습니다. 내가 할 ls -l,

-rw------- 2 celebisait celebisait  1387745311 Jun  6  2013 myFile.tar.gz

다 괜찮아 보인다. 그러나 내가 할 때

$ sudo chmod 755 myFile.tar.gz

나는 오류가 없지만 아무 일도 일어나지 않습니다. 즉, ls -l다시 할 때 같은 결과를 얻습니다.

-rw------- 2 celebisait celebisait  1387745311 Jun  6  2013 myFile.tar.gz

Chmod는 변하지 않습니다. 왜?

추신 : 우분투 13.04를 사용합니다.

편집하다:

$ cd /media/celebisait/5AC69788C6976355
$ df

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda2       89873576  42976028  42325544  51% /
none                   4         0         4   0% /sys/fs/cgroup
udev            16436736         4  16436732   1% /dev
tmpfs            3289260       920   3288340   1% /run
none                5120         0      5120   0% /run/lock
none            16446280       764  16445516   1% /run/shm
none              102400        52    102348   1% /run/user
/dev/sda1          94759      2208     92551   3% /boot/efi
/dev/sdb1      767999996 541212516 226787480  71% /media/celebisait/5AC69788C6976355
/dev/sdb2      767999996   1466472 766533524   1% /media/celebisait/54D09DBDD09DA5B0

편집 2 :

$ cd /media/celebisait/5AC69788C6976355
$ mount

/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /sys/firmware/efi/efivars type efivarfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda1 on /boot/efi type vfat (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfsd-fuse on /run/user/celebisait/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=celebisait)
/dev/sdb1 on /media/celebisait/5AC69788C6976355 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb2 on /media/celebisait/54D09DBDD09DA5B0 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

편집 3 :

$ sudo fdisk -l /dev/sdb1

Disk /dev/sdb1: 786.4 GB, 786432000000 bytes
255 heads, 63 sectors/track, 95611 cylinders, total 1536000000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6e697373

This doesn't look like a partition table
Probably you selected the wrong device.

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1   ?  1936269394  3772285809   918008208   4f  QNX4.x 3rd part
Partition 1 does not start on physical sector boundary.
/dev/sdb1p2   ?  1917848077  2462285169   272218546+  73  Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb1p3   ?  1818575915  2362751050   272087568   2b  Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb1p4   ?  2844524554  2844579527       27487   61  SpeedStor
Partition 4 does not start on physical sector boundary.

Partition table entries are not in disk order

편집 4 :

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x9c73d093

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT
/dev/sdb2      1536002048  3072002047   768000000    7  HPFS/NTFS/exFAT
/dev/sdb3      3072002048  3907026943   417512448    7  HPFS/NTFS/exFAT

해당 외장 드라이브의 파일 시스템은 무엇입니까? df명령 결과가 좋을 것
Kiwy

파일과 디렉토리를 소유하고 있다면 마운트 된 방법 (읽기 전용? rootsquash?)에 따라 sudo가 필요하지 않습니다.
X Tian

@Kiwy의 출력을 추가했습니다 df.
Sait

@Braiam 방법 mount?
Sait

의 출력을 게시하십시오 blkid.
Avinash Raj

답변:


15

TL; DR;

참고 : 새 정보를 사용하여 OP의 질문을 지속적으로 업데이트 한 결과 NTFS 파티션을 마운트하는 것이 문제인 것으로 확인되었습니다. 아래 # 3은 그의 문제에 대한 실제 답변입니다. NTFS 파티션을 사용하지 않는 비슷한 문제가 발생할 수있는 다른 두 가지 방법은 여기에 남겨 두십시오.


아이디어 # 1-미디어의 읽기 전용 (ISO / CD / DVD)?

mount명령 의 출력 , 특히 다음과 같은 내용을 살펴보십시오 .

$ mount | grep '/media'

마운트 된 장치 /media/celebisait는 ISO 파일 또는 CD / DVD 미디어 일 수 있습니다. 이 경우 일반적으로 읽기 전용이므로 쓰기 권한을 얻을 수 없습니다.

mount명령의 출력 으로 다시 전환하여 마운트 된 읽기 / 쓰기와 읽기 전용을 구별 할 수 있습니다 .

/dev/mapper/fedora_greeneggs-root on / type ext4 (rw,relatime,seclabel,data=ordered)

괄호 안의 출력을 확인하십시오. 첫 번째 쉼표 앞의 첫 번째 인수는 rw읽기 / 쓰기 액세스를 나타냅니다. 그것이 읽기 전용 장치라면 ro대신 거기에있을 것입니다.

대체 방법

df -h .명령 을 사용하여 HDD의 특정 위치가 어떤 장치에서 공급되는지 확인할 수도 있습니다 . 현재 디렉토리의 소스 장치가 표시됩니다.

$ df -h .
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/fedora_greeneggs-home  402G  156G  226G  41% /home

여기서 우리는 mount의 일부인 디렉토리 / 하위 디렉토리 /home에 있으며 장치에 의해 지원됩니다 /dev/mapper/fedora_greeneggs-home.

장치 이름을 사용하면의 출력에서도 해당 이름을 찾을 수 mount있습니다.

$ mount | grep '/dev/mapper/fedora_greeneggs-home'
/dev/mapper/fedora_greeneggs-home on /home type ext4 (rw,relatime,seclabel,data=ordered)

아이디어 # 2-그러나 장치는 읽기 / 쓰기로 마운트됩니다!

장치가 읽기 / 쓰기로 마운트 된 것을 발견 하면 수동으로 액세스하지 않고도 하드 디스크 마운트 포인트를 완전히 사용자 정의 할 수있는 스토리지 장치 관리자 PySDM을 설치하려고 할 수 있습니다 /etc/fstab. 또한 udev스토리지 장치의 동적 구성을위한 규칙을 생성 할 수 있습니다

읽고 쓰는 단계

  1. 물리적 저장 장치 관리자 설치 : sudo apt-get install pysdm
  2. 오픈 스토리지 장치 관리자 : sudo pysdm
  3. 필요한 드라이브를 선택하십시오
  4. 언론 지원
  5. 읽기 전용으로 열기를 선택 취소하십시오
  6. 파일 시스템의 소유자를 확인하고 사용자 이름을 작성하십시오. celebisait
  7. 확인을 누르십시오
  8. 적용을 누르십시오
  9. umount 드라이브
  10. 그것을 장착

출처 : 외장 드라이브에 대한 권한을 어떻게 변경할 수 있습니까?

아이디어 # 3-NTFS 파티션

명령에 대해 게시 한 출력을 기반으로합니다.

$ sudo fdisk -l /dev/sdb

...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT

NTFS 파티션이 있는데 chmod, NTFS 마운트 파티션에서 파일을 사용할 수없는 이유를 설명합니다 . 당신이 사용하는 경우 ntfs-3g액세스 모듈을 NTFS 파티션 당신은 단지 도구의 정상적인 유닉스 제품군을 사용하여 권한에 영향을 미치지, 읽기 / 디스크를 쓸 수 있어야합니다.


2
나는 celebisait그의 사용자 이름 이라고 생각 합니다.
Avinash Raj

@AvinashRaj, 그렇습니다. :)
Sait

Idea # 1은 원래 제공된 정보와 일치하지 않습니다. 읽기 전용 파일 시스템에서 파일을 chmod하려고하면 오류 (EROFS)가 발생합니다. 그리고 아이디어 # 2가 실제로 달성 한 것에 대해서는 다소 혼란스러워합니다. 파일 시스템 읽기 / 쓰기를 다시 마운트하는 멋진 방법처럼 보이지만 파일 시스템이 이미 읽기 / 쓰기 인 경우에 해당됩니다 .
Nate Eldredge

@NateEldredge-이 Q의 시작 부분에서 정확히 무슨 일이 일어나고 있었는지 매우 불분명했기 때문에 첫 번째 제안은 장치가 장착 된 방법을 확립하는 것이 었습니다. 내 두 번째 방법은 개인적으로 Nautilus에 때때로 읽기 전용으로 표시되는 USB MP3 플레이어의 권한을 수정하는 데 사용했습니다. 파일은 OP가 설명하는 방식과 유사하게 표시되며 PySDM을 사용하여 문제를 해결합니다. 문제는 단순히 FS가 RO로 마운트되는 것이 아니라 MP3 플레이어의 파티션이 읽기 전용 모드로 설정되었지만 RW가 마운트 된 것입니다.
slm

7

HDD를 언급하면서.
내 대답은 chmodNTFS 또는 FAT32 파티션의 파일 로 는 불가능하다는 것 입니다.
사실 같은 단지 유닉스 / 리눅스 파일 시스템은 ext3, ext4이러한 속성을 지원합니다.

/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT

/dev/sdb1NTFS 파티션 임을 분명히 보여줍니다 .


1
NTFS인지 어떻게 알 수 있습니까? 아마 당신은 질문에서 가정 할 수 없습니다
Kiwy

@Kiwy 이것은 OP가 HDD를 언급하기 때문에 실제로 다른 대답보다 더 가능성이 높습니다.
Joseph R.

5
/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT

/dev/sdb1 on /media/celebisait/5AC69788C6976355 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

fuseblkfdisk 의 유형 과 출력은 파티션이 NTFS 파티션임을 나타냅니다. 다른 * NIX 기본 파일 시스템과 같이 UNIX / LINUX 파일 권한 체계를 지원하지 않습니다.

해결책은 파일을 루트와 같은 이러한 권한을 지원하는 파일 시스템으로 옮기는 것입니다. 원하는 방식으로 작동하지 않습니다.

cp /media/celebisait/5AC69788C6976355/myFile.tar.gz ~/
chmod 755 ~/myFile.tar.gz
ls -l ~/myFile.tar.gz

1

최근에 NTFS 파티션과 비슷한 문제가있었습니다. NTFS는 권한을 변경할 수 없지만 파일 시스템을 마운트 할 때 이러한 권한을 설정할 수 있다고 이미 언급했습니다. 파일에 액세스하려는 그룹 또는 사용자의 ID가 주어지면 다음과 같이 할 수 있습니다.

sudo mount -t ntfs -o gid=46,fmask=0003,dmask=0002 /dev/sdb1 /media/DATAPART1

매뉴얼 페이지를 마운트하여 사용 사례에 맞게 조정할 수 있습니다.

http://linux.die.net/man/8/mount


0

디렉토리가 읽기 전용 일 수 있습니다. 이 시도:

ls -ld .
chmod 755 .
chmod 755 myFile.tar.gz

이것은 정확하지 않습니다. 일반적인 유닉스 파일 시스템에서는 파일을 읽기 전용 디렉토리에 chmod하는 것이 좋습니다. 해당 디렉토리에있는 파일의 메타 데이터를 읽거나 쓰거나 변경하기 위해 디렉토리에 대한 쓰기 권한이 필요하지 않습니다. 새 파일을 작성하거나 기존 파일을 삭제하려면 쓰기 권한이 필요합니다.
Nate Eldredge
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.