내 서버에는 동일한 스크립트를 실행해야 하는 수백 명의 사용자가 있습니다(https://sourceforge.net/projects/igcc/) 로그인 시 자동으로 실행됩니다. 각 홈 디렉토리에 스크립트 사본을 넣어야 합니까?
답변1
사용자의 홈 디렉토리에 스크립트를 넣는 것은 도움이 되지 않습니다. 스크립트를 실행하려면 여전히 어떤 방법이 필요합니다.
스크립트(또는 그에 대한 링크)를 적절한 디렉터리에 배치하고 전역 쉘 시작 파일 중 하나가 도구를 실행하도록 합니다(사용자가 특정 그룹에 있는 경우). 로그인 시 실행하려면 대부분의 시스템에서 /etc/profile
또는 파일을 사용할 수 있습니다 /etc/profile.d/
. 그런 다음 다음과 같이 그룹 멤버십을 테스트할 수 있습니다.
if id | grep -qwF specialgroup; then
/path/to/specialtool
fi
Linux id
의 경우 이와 같은 내용을 인쇄 ...groups=1000(blah),4(adm),20(dialout),24(cdrom),25(floppy)...
하고 grep -w
전체 단어 일치를 찾습니다. 그룹 이름에 프로그래밍 언어 의미에서 "단어 문자"만 포함되어 있는 한 a-zA-Z0-9_
이 방법은 작동합니다. 그렇지 않다면 뭔가 다른 일을 해야 합니다.
GNU/Linux 시스템이 아닌 경우 , 또는 시스템에 있는 모든 것을 사용할 수 있습니다 id
.groups
(물론 PATH
로그인 스크립트에 전체 경로를 포함할 필요가 없도록 스크립트를 어딘가에 넣을 수도 있습니다.)
답변2
(댓글을 달 수 없습니다. 담당자가 충분하지 않습니다...)
의견 교환에서 나는 해당 사용자 그룹이 소유하도록 스크립트를 설정하고 그에 따라 ugo 권한을 업데이트한 다음 .bashrc(또는 OS 기반 이에 상응하는 항목)에 모든 작업을 시작하는 줄을 추가해야 한다고 말하고 싶습니다. 스크립트를 말했습니다.
그런데, 이것은 훌륭한 도구인 것 같습니다.
답변3
이러한 사용자를 위해 실행하려는 것은 쉘(예: bash)이 대화형이 되기 전에 실행하려는 스크립트가 아니라 쉘인 것 같습니다.
이 경우: 잘못된 건설 현장입니다! 간단히 명령을 사용하여 쉘을 이 값으로 설정할 수 있습니다 chsh
. man chsh
자세히보다.
어떤 이유로 C++ 인터프리터를 사용해야 하므로 부적절한 경우 무시하십시오.
그런데, igcc는 5년 동안 손대지 않았고 그 이후로 여러 C++ 표준이 있었습니다. 확실히 여러분이 사용하고 싶은 C/C++ REPL은 아닙니다.달라붙는대신에.