[Linux] 파일 κΆŒν•œκ³Ό μ“°κΈ° μž‘μ—…

Posted by Euisuk's Dev Log on January 25, 2024

[Linux] 파일 κΆŒν•œκ³Ό μ“°κΈ° μž‘μ—…

원본 κ²Œμ‹œκΈ€: https://velog.io/@euisuk-chung/Linux-파일-κΆŒν•œκ³Ό-μ“°κΈ°-μž‘μ—…

Linux 파일 κΆŒν•œκ³Ό μ“°κΈ° μž‘μ—…

λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œ 파일 μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ μ ˆν•œ κΆŒν•œμ΄ ν•„μš”ν•©λ‹ˆλ‹€. μ‚¬μš©μžλŠ” νŒŒμΌμ΄λ‚˜ 디렉토리에 λŒ€ν•΄ 읽기(read), μ“°κΈ°(write), μ‹€ν–‰(execute) κΆŒν•œμ„ κ°€μ§ˆ 수 있으며, 이 κΆŒν•œλ“€μ€ 파일 μ†Œμœ μž(owner), κ·Έλ£Ή(group), 그리고 기타 μ‚¬μš©μž(others)μ—κ²Œ λ‹€λ₯΄κ²Œ 섀정될 수 μžˆμŠ΅λ‹ˆλ‹€.

κΆŒν•œ ν™•μΈν•˜κΈ° (ls -l)

νŒŒμΌμ΄λ‚˜ λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œμ„ ν™•μΈν•˜κΈ° μœ„ν•΄ ls -l λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
ls -l /path/to/directory

좜λ ₯:

1
drwxr-xr-x 2 user group 4096 Jan 25 10:00 directory

이 좜λ ₯μ—μ„œ 첫 번째 문자 dλŠ” λ””λ ‰ν† λ¦¬μž„μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κ·Έ 뒀에 λ‚˜μ˜€λŠ” rwxr-xr-xλŠ” κΆŒν•œμ„ λ‚˜νƒ€λ‚΄λ©°, μˆœμ„œλŒ€λ‘œ μ†Œμœ μž, κ·Έλ£Ή, 기타 μ‚¬μš©μžμ˜ κΆŒν•œμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

κΆŒν•œ λ³€κ²½ν•˜κΈ° (chmod)

chmod λͺ…λ Ήμ–΄λŠ” νŒŒμΌμ΄λ‚˜ λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œμ„ λ³€κ²½ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
chmod 755 /path/to/file

이 λͺ…령은 μ†Œμœ μžμ—κ²Œ 읽기, μ“°κΈ°, μ‹€ν–‰ κΆŒν•œμ„ μ£Όκ³ , κ·Έλ£Ήκ³Ό 기타 μ‚¬μš©μžμ—κ²ŒλŠ” 읽기와 μ‹€ν–‰ κΆŒν•œλ§Œ λΆ€μ—¬ν•©λ‹ˆλ‹€.

μ†Œμœ μž λ³€κ²½ν•˜κΈ° (chown)

chown λͺ…λ Ήμ–΄λŠ” νŒŒμΌμ΄λ‚˜ λ””λ ‰ν† λ¦¬μ˜ μ†Œμœ μžλ‚˜ 그룹을 λ³€κ²½ν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
chown user:group /path/to/file

이 λͺ…령은 /path/to/file의 μ†Œμœ μžλ₯Ό user둜, 그룹을 group으둜 λ³€κ²½ν•©λ‹ˆλ‹€.

파일 μ“°κΈ°

νŒŒμΌμ— μ“°κΈ° μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ“°κΈ° κΆŒν•œμ΄ ν•„μš”ν•©λ‹ˆλ‹€. echo와 λ¦¬λ””λ ‰μ…˜(>)을 μ‚¬μš©ν•˜μ—¬ νŒŒμΌμ— ν…μŠ€νŠΈλ₯Ό μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
echo "Hello, World!" > /path/to/file

이 λͺ…령은 β€œHello, World!β€λΌλŠ” λ¬Έμžμ—΄μ„ /path/to/file에 μ“°κ²Œ λ©λ‹ˆλ‹€. λ§Œμ•½ ν•΄λ‹Ή 파일이 μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄ μƒˆλ‘œ μƒμ„±λ©λ‹ˆλ‹€.

κΆŒν•œ 였λ₯˜ ν•΄κ²°ν•˜κΈ°

κΆŒν•œ 였λ₯˜κ°€ λ°œμƒν–ˆμ„ λ•ŒλŠ” chmod λ˜λŠ” chown을 μ‚¬μš©ν•˜μ—¬ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
chmod 644 /path/to/file

이 λͺ…령은 μ†Œμœ μžμ—κ²Œ 읽기와 μ“°κΈ° κΆŒν•œμ„, κ·Έλ£Ήκ³Ό 기타 μ‚¬μš©μžμ—κ²ŒλŠ” 읽기 κΆŒν•œλ§Œ λΆ€μ—¬ν•©λ‹ˆλ‹€.


λ¦¬λˆ…μŠ€ 파일 κΆŒν•œ 이해 및 μ„€μ • μ˜ˆμ‹œ

λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œ 파일과 λ””λ ‰ν† λ¦¬λŠ” νŠΉμ • κΆŒν•œ 섀정을 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€. 각 파일 λ˜λŠ” λ””λ ‰ν† λ¦¬μ—λŠ” μ„Έ κ°€μ§€ μœ ν˜•μ˜ μ‚¬μš©μžκ°€ 각기 λ‹€λ₯Έ κΆŒν•œμ„ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€: μ†Œμœ μž(owner), κ·Έλ£Ή(group), 그리고 기타(other) μ‚¬μš©μžλ“€μž…λ‹ˆλ‹€.

κΆŒν•œμ˜ μ’…λ₯˜

  • 읽기(Read, r): 파일의 λ‚΄μš©μ„ 읽을 수 μžˆλŠ” κΆŒν•œμ΄λ‚˜ 디렉토리 λ‚΄μ˜ 파일 λͺ©λ‘μ„ λ³Ό 수 μžˆλŠ” κΆŒν•œ
  • μ“°κΈ°(Write, w): 파일의 λ‚΄μš©μ„ λ³€κ²½ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆλŠ” κΆŒν•œμ΄λ‚˜ 디렉토리 내에 νŒŒμΌμ„ μƒμ„±ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆλŠ” κΆŒν•œ
  • μ‹€ν–‰(Execute, x): νŒŒμΌμ„ ν”„λ‘œκ·Έλž¨μœΌλ‘œμ„œ μ‹€ν–‰ν•  수 μžˆλŠ” κΆŒν•œμ΄λ‚˜ 디렉토리에 μ ‘κ·Όν•˜μ—¬ κ·Έ λ‚΄μš©μ„ 탐색할 수 μžˆλŠ” κΆŒν•œ

κΆŒν•œ μ„€μ • (chmod λͺ…λ Ήμ–΄)

chmod λͺ…λ Ήμ–΄λŠ” νŒŒμΌμ΄λ‚˜ λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œμ„ μ„€μ •ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. κΆŒν•œμ€ 숫자 ν˜Ήμ€ 문자둜 ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

숫자둜 κΆŒν•œ μ„€μ •ν•˜κΈ°

각 κΆŒν•œμ€ λ‹€μŒκ³Ό 같은 숫자둜 ν‘œν˜„λ©λ‹ˆλ‹€:

  • 읽기: 4
  • μ“°κΈ°: 2
  • μ‹€ν–‰: 1

μ„Έ κ°€μ§€ μœ ν˜•μ˜ μ‚¬μš©μžμ— λŒ€ν•œ κΆŒν•œμ„ ν•©μ‚°ν•˜μ—¬ ν‘œν˜„ν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ

  • chmod 700: μ†Œμœ μžμ—κ²Œ λͺ¨λ“  κΆŒν•œμ„ μ£Όκ³ , κ·Έλ£Ήκ³Ό 기타 μ‚¬μš©μžμ—κ²ŒλŠ” κΆŒν•œμ„ μ£Όμ§€ μ•ŠμŒ.
  • chmod 770: μ†Œμœ μžμ™€ κ·Έλ£Ήμ—κ²Œ λͺ¨λ“  κΆŒν•œμ„ μ£Όκ³ , 기타 μ‚¬μš©μžμ—κ²ŒλŠ” κΆŒν•œμ„ μ£Όμ§€ μ•ŠμŒ.
  • chmod 777: λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ λͺ¨λ“  κΆŒν•œμ„ 쀌.

문자둜 κΆŒν•œ μ„€μ •ν•˜κΈ°

문자λ₯Ό μ‚¬μš©ν•˜μ—¬ κΆŒν•œμ„ μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€:

  • u: user(μ†Œμœ μž)
  • g: group(κ·Έλ£Ή)
  • o: others(기타 μ‚¬μš©μž)
  • a: all(λͺ¨λ“  μ‚¬μš©μž)

μ˜ˆμ‹œ

  • chmod u=rwx,g=rx,o=rx: μ†Œμœ μžλŠ” λͺ¨λ“  κΆŒν•œ, κ·Έλ£Ήκ³Ό 기타 μ‚¬μš©μžλŠ” 읽기와 μ‹€ν–‰ κΆŒν•œλ§Œ λΆ€μ—¬.
  • chmod u+w: ν˜„μž¬ 섀정에 μ†Œμœ μžμ˜ μ“°κΈ° κΆŒν•œλ§Œ μΆ”κ°€.

ν•˜μœ„ 디렉토리(nested directory)의 κΆŒν•œ μ„€μ •

ν•˜μœ„ 디렉토리(예: nested 디렉토리)에 λŒ€ν•΄ νŠΉμ • κΆŒν•œμ„ μ„€μ •ν•  λ•ŒλŠ” chmod λͺ…령어에 -R μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ ν•˜μœ„ 파일과 디렉토리에 λ™μΌν•œ κΆŒν•œμ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

1
chmod -R 755 /path/to/nested_directory

이 λͺ…령은 nested_directory와 κ·Έ μ•ˆμ˜ λͺ¨λ“  파일과 ν•˜μœ„ 디렉토리에 λŒ€ν•΄ μ†Œμœ μžμ—κ²Œ λͺ¨λ“  κΆŒν•œμ„ λΆ€μ—¬ν•˜κ³ , κ·Έλ£Ήκ³Ό 기타 μ‚¬μš©μžμ—κ²ŒλŠ” 읽기 및 μ‹€ν–‰ κΆŒν•œλ§Œ λΆ€μ—¬ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ μ„€μ •ν•˜λ©΄ nested_directory λ‚΄μ˜ νŒŒμΌμ΄λ‚˜ 디렉토리에도 λ™μΌν•œ κΆŒν•œμ΄ μ μš©λ˜μ–΄, 일일이 κΆŒν•œμ„ μ„€μ •ν•  ν•„μš” 없이 κ°„νŽΈν•˜κ²Œ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.


κΆŒν•œ μ„€μ • μ‹œ 주의 사항

  • λ³΄μ•ˆ: λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ μ‹€ν–‰ κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” chmod 777 섀정은 νŽΈλ¦¬ν•  수 μžˆμ§€λ§Œ λ³΄μ•ˆμ— μ·¨μ•½ν•΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 특히, λ―Όκ°ν•œ 정보가 ν¬ν•¨λœ νŒŒμΌμ΄λ‚˜ μ€‘μš”ν•œ μ‹œμŠ€ν…œ 파일의 κ²½μš°μ—λŠ” μ£Όμ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
  • μœ νš¨μ„± 검사: λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œμ„ μ„€μ •ν•  λ•ŒλŠ” νŠΉμ • νŒŒμΌμ΄λ‚˜ ν•˜μœ„ λ””λ ‰ν† λ¦¬μ—λ§Œ μ˜ˆμ™Έμ μœΌλ‘œ λ‹€λ₯Έ κΆŒν•œμ„ 주고자 ν•œλ‹€λ©΄, chmod -R μ˜΅μ…˜μ„ μ‚¬μš©ν•  λ•Œ μœ μ˜ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€.

이와 같은 파일 κΆŒν•œ 및 μ“°κΈ° μž‘μ—…μ— λŒ€ν•œ 이해와 μ‹€μŠ΅μ„ 톡해 λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œμ˜ 파일 관리가 보닀 μ‰¬μ›Œμ§ˆ κ²ƒμž…λ‹ˆλ‹€. 각 파일과 λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œμ„ 적절히 μ„€μ •ν•˜λŠ” 것은 μ‹œμŠ€ν…œμ˜ μ•ˆμ •μ„±κ³Ό λ³΄μ•ˆμ„ μ§€ν‚€λŠ” 데 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.



-->