
좋은 아침이에요,
내 CentOS 시스템에서 한 사용자 홈 디렉터리의 파일을 다른 디렉터리의 디렉터리로 전송하는 cron 작업을 설정하려고 합니다.
btiseis@mymachine [~]# mv ./myfile.csv /home/mmh/tmp
tmp 디렉토리에 0777 권한이 있는지 확인했지만 여전히 다음 오류 메시지가 나타납니다.
mv: accessing '/home/mmh/tmp': Permission denied
나는 이 문제가 홈 디렉토리를 통해 파일을 전송하기 때문에 발생한다고 가정합니다.
어떤 아이디어가 있나요?
단
답변1
홈 디렉토리는 특별한 것이 아닙니다. 이런 이름을 붙인 것은 단지 사용자일 뿐입니다. 시스템에서는 디렉토리가 사용자의 "홈 디렉토리"로 간주되는지 여부에 관심이 없습니다.
모든 디렉터리에 대한 권한이 필요합니다. 따라서 /home/mmh/tmp에 대한 쓰기 권한이 필요하고 /home/mmh에 대한 읽기+실행 권한이 필요합니다. (읽기 또는 실행 중 하나가 충분하지만 어느 것이 확실하지는 않습니다. 그러나 일반적으로 읽기 및 실행은 둘 다 설정되거나 설정되지 않습니다. 디렉토리) 실제로 /home/mmh/tmp에 접근할 수 있습니다.
cronjob을 루트로 실행하면 이 모든 문제를 해결할 수 있습니다. 꼭 필요한 경우가 아니면 액세스 권한을 확대하는 것은 일반적으로 좋은 생각이 아닙니다. 귀하의 경우에는 문제가 될 수도 있고 아닐 수도 있지만(다른 사용자는 없을 것으로 추측됩니다) 나쁜 습관은 나중에 없애기가 어렵습니다.
편집: 두 사용자가 "우호적"인 경우(예를 들어 자신의 두 화신이므로 다른 사람이 데이터를 기웃거리는 것을 신경 쓰지 않는 경우) "대상" 사용자의 기본 그룹을 그룹 목록에 추가할 수 있습니다. "보내는" 사용자이고 그룹 권한을 사용합니다. 많은 시스템에서 모든 사용자는 자신의 개인 그룹으로 생성됩니다.