반응형

출처 : https://superuser.com/questions/98974/how-to-use-crontab-to-run-a-script-as-nobody

nobody로 스크립트 실행하기 위해 crontab 사용하는 방법

이는 CentOS 머신입니다. 저는 매일 특정 시간에 (최소 권한으로 사용자로써) 사용자 nobody로 스크립트를 실행하려 합니다. 여기에 nobody가 있습니다.

[root@CentOS % ~] grep "^nobody" /etc/passwd  
nobody:x:99:99:Nobody:/:/sbin/nologin  

루트의 crontab에서 제가 실행하려 한 것입니다.

환경변수 SUDO_USER=nobody로 설정하고
15 17 * * * sudo -u nobody /bin/bash /usr/local/bin/bashscript.sh
15 17 * * * su -c /usr/local/bin/bashscript.sh nobody

저는 모두 가능한 루트의 crontab에 엔트리를 유지하고 싶습니다. 나는 또한 해당 설정에 의존할 수 있는 다른 어떤 것도 깨뜨리고 싶지 않기 때문에 아무도 nobody의 계정을 속이지 않는 것을 선호합니다. 나는 권한이 없는 다른 계정을 만들고 그것이 문제가 되는 경우 실제 쉘을 제공하는 것에 반대하지 않습니다.

저도 약간 당혹스러웠던 점은 인정합니다. 도움이 되지 않는다는 점을 제외하고는 이것이 일상적인 문제라고 가정합니다.

5개의 답변

저는 crontab -e 또는 crontab -l 내용에서 당신이 작성했다고 가정합니다?

이것은 사용자 "루트"에 속한 crontab 파일이며 해당 파일은 (일반적으로 개인 작업을 예약하는 데 사용되는 파일) 명령을 실행할 사용자 지정을 지원하지 않습니다 .
시스템 전체의 crontab이고 추가 필드인 사용자 필드가 있는 /etc/crontab을 보십시오. /etc/crontab에 다음과 같은 줄을 추가해 보십시오.

15 17 * * * nobody /usr/local/bin/bashscript.sh
반응형
반응형

출처 : https://stackoverflow.com/questions/42988977/what-is-the-purpose-of-pip-install-user

"pip install --user ..."의 목적은?

pip install --help 로부터

--user 당신의 플랫폼의 Python 사용자 설치 디렉터리에 설치합니다. 일반적으로 ~/.local/, 또는 윈도우즈는 %APPDATA$\Python입니다. (전체 세부사항은 site.USER_BASE Python 문서를 보세요.)

site.USER_BASE 문서는 제가 이해하지 못하는 흥미로운 NIX 주제이며 무시무시 합니다.

일반 영어로 --user의 목적은 무엇입니까? 왜 패키지는 ~/.local에 설치되나요? 왜 저의 $PATH에 어딘가 실행 프로그램을 놓지 않을까요?


8개 답변 중 1개

pip는 기본적으로 (/usr/local/lib/python3.4 같은) 시스템 디렉터리에 Python 패키지를 설치합니다. 이는 root 권한이 필요합니다.

pip의 --user는 대신에 당신의 home 디렉터리에 패키지를 설치합니다. 이는 특별한 권한을 요구하지 않습니다.

추가 참고주소 : https://scicomp.stackexchange.com/questions/2987/what-is-the-simplest-way-to-do-a-user-local-install-of-a-python-package

반응형

+ Recent posts