ls-l의 결과 해석

ls-l의 결과 해석

디렉토리에서 ls -l 결과를 해석하는 데 문제가 있습니다.

-rwxrwxr-x 1 root   root      37114 Jul 24 02:13  madison_events.json
-rwxrwxr-x 1 root   root     131355 Jul 24 16:00  milwaukee_events.json
-rwxrwxr-x 1 root   root      67570 Jul 26 19:42  minneapolis_events.json
-rwxrwxr-x 1 root   root     402115 Jul 24 16:33  nashville_events.json
-rwxrwxr-x 1 root   root      70429 Jul 24 16:46  neworleans_events.json
-rw-rw-r-- 1 ubuntu ubuntu   546936 Jul 27 02:15  nyc_events.json
-rwxrwxr-x 1 root   root      58037 Jul 24 16:50  seattle_events.json
-rw-rw-r-- 1 ubuntu ubuntu   141303 Jul 27 01:04  sf_events.json

내 Python 스크립트는 나열된 파일 ubuntu(nyc_events.josn 및 sf_events.json)에 쓸 수 있지만 나열된 루트 디렉터리(seattle_events.json, nashville_events.json 등)에는 쓸 수 없다는 것을 확인했습니다.

이 맥락에서 루트와 우분투는 무엇을 의미합니까? "root"라는 파일을 "ubuntu"로 읽으려면 어떻게 해야 합니까? 또한 filezilla에서 루트 파일의 값은 664이고 우분투 파일의 값은 775.

간단히 말해서, 나는 이 모든 파일에 쓸 수 있기를 원합니다. 감사해요.

답변1

일부 파일은 루트(및 그룹 루트)가 소유합니다. 이는 어느 시점에서 이를 루트로 생성하는 스크립트를 실행했기 때문입니다. 이렇게 하지 마십시오. 루트 권한이 필요한 시스템 관리 작업을 수행하는 데에만 루트를 사용하십시오. 소유권은 으로 고정될 수 있습니다 chown.

루트가 소유한 파일에도 실행 권한이 있습니다. 아마도 루트가 umask기본적으로 새 파일에 실행 비트를 설정하기 때문일 것입니다. .json파일은 일반적으로 실행 가능하지 않아도 됩니다(스크립트가 아니라 단지 json 데이터이므로) chmod.

cd파일이 포함된 디렉터리의 소유권과 권한을 복구하려면 다음을 수행합니다.

sudo chown ubuntu:ubuntu *.json
sudo chmod 644 *.json

답변2

그 이유는 나열된 파일이 root사용자 소유 이므로 귀하의 경우 root처럼 다른 사용자가 변경할 수 없기 때문입니다 . 프로그램이 나열된 파일에 쓰려면 명령을 사용하여 이러한 파일의 소유권을 변경해야 합니다. 속도:ubuntu
rootchown

  1. 사용자 로 로그인하십시오 root.
  2. cd파일이 포함된 폴더로
  3. chown ubuntu:ubuntu *.json

아니면 그냥 실행하세요:

  1. cd <to the directory>; sudo chown ubuntu:ubuntu *.json

도움이 되었기를 바랍니다!

관련 정보