Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[q] solaris 2.4에서 shell script 실행은.

275 views
Skip to first unread message

Park Jong Chul

unread,
Jun 5, 1996, 3:00:00 AM6/5/96
to

죄송합니다. 초보적인 질문을 하게됐습니다.
상황설명부터 하면, 제가 사용하는 시스템에는 한글 solaris 2.4가 설치되어
있습니다.
지금까지는 별로 root user로는 작업을 안했는데,
쉘 스크립트를 하나 돌려야할일이 생겨서 실행하려고 하는데
계속 xxxx: not found 메세지만 출력되고 실행이 안되는군요.
물론 경로라든가 실행속성등은 문제가 되지 않고요.
그래서 찜찜한 생각에 그걸 다른 사용자 계정으로 옮겨서 해보면
잘되거든요.
결국엔 root만 실행을 못시키는 일이 발생해 벌렸는디..이거 어찌 해야하나요.
물론 다른 화일들은 잘 실행이 되고요. 아무 문제가 없다고 생각되는데.
만든 화일(쉘 스크립트, binary)만 실행을 못시키고 위와 같은 에러메시지만
출력하는데. 제 재주로는 뭐가 문젠지 모르겠군요.
조금 황당한 질문인거 같은데. 해결방법을 꼭 알고 싶습니다.


Seo Hongwon

unread,
Jun 6, 1996, 3:00:00 AM6/6/96
to

./<프로그램 이름> 이라고 해보시죠.
보통 root 의 path에는 현재 디렉토리(.)을 포함하지 않습니다.

Park Jong Chul (jcp...@cc.kangwon.ac.kr) wrote:
: 쉘 스크립트를 하나 돌려야할일이 생겨서 실행하려고 하는데


: 계속 xxxx: not found 메세지만 출력되고 실행이 안되는군요.
: 물론 경로라든가 실행속성등은 문제가 되지 않고요.
: 그래서 찜찜한 생각에 그걸 다른 사용자 계정으로 옮겨서 해보면
: 잘되거든요.


--
Hongwon Seo (서 홍원)
mi...@nuri.net
http://www.iWorld.net/

hong-choon LIM

unread,
Jun 10, 1996, 3:00:00 AM6/10/96
to

Park Jong Chul wrote:
>
> 죄송합니다. 초보적인 질문을 하게됐습니다.
> 상황설명부터 하면, 제가 사용하는 시스템에는 한글 solaris 2.4가 설치되어
> 있습니다.
> 지금까지는 별로 root user로는 작업을 안했는데,
> 쉘 스크립트를 하나 돌려야할일이 생겨서 실행하려고 하는데
> 계속 xxxx: not found 메세지만 출력되고 실행이 안되는군요.
> 물론 경로라든가 실행속성등은 문제가 되지 않고요.
> 그래서 찜찜한 생각에 그걸 다른 사용자 계정으로 옮겨서 해보면
> 잘되거든요.
> 결국엔 root만 실행을 못시키는 일이 발생해 벌렸는디..이거 어찌 해야하나요.
> 물론 다른 화일들은 잘 실행이 되고요. 아무 문제가 없다고 생각되는데.
> 만든 화일(쉘 스크립트, binary)만 실행을 못시키고 위와 같은 에러메시지만
> 출력하는데. 제 재주로는 뭐가 문젠지 모르겠군요.
> 조금 황당한 질문인거 같은데. 해결방법을 꼭 알고 싶습니다.

solaris2.5에서는 su로 login할때 -l option을 사용하지 않으면 대상
user의
home directory의 각종 dot file들이 실행되지 않습니다.
su로 login시 "su -l"을 하세요.
그래도 안되면 /.cshrc or /.login의 path를 확인하시고 dot path가
잡혀있는지
보세요. 만약에 없다면 아래와 같이하세요.
먼저 root의 home dir의 .cshrc에 잡혀있는 path를 수정해보세요
1.vi /.cshrc
set path=( . /etc /usr/bin 등등)
1.1 path의 "."(dot)가 하는 역할은 current direstory의 path를 항상
포함합니다.

Hong Hunsoo

unread,
Jun 11, 1996, 3:00:00 AM6/11/96
to

hong-choon LIM <tbt...@snsd13.snsd.com> wrote:


> solaris2.5에서는 su로 login할때 -l option을 사용하지 않으면 대상
>user의
> home directory의 각종 dot file들이 실행되지 않습니다.
> su로 login시 "su -l"을 하세요.
> 그래도 안되면 /.cshrc or /.login의 path를 확인하시고 dot path가
>잡혀있는지
> 보세요. 만약에 없다면 아래와 같이하세요.
> 먼저 root의 home dir의 .cshrc에 잡혀있는 path를 수정해보세요
> 1.vi /.cshrc
> set path=( . /etc /usr/bin 등등)
> 1.1 path의 "."(dot)가 하는 역할은 current direstory의 path를 항상
>포함합니다.

root는 자신의 $path에 dot을 넣으면 안됩니다. 넣어도 되긴 되지만
security에 구멍이 생기기 때문입니다.

누군가가 /tmp같은 곳에 ls라는 이름의 프로그램을 만들어 놓으면 root가
우연히 그곳 tmp에서 ls을 치는 순간, 이게 무슨 프로그램인지도 모를 ls를
수행하게 되고, 그럼 예상치 않은 상황이 벌어질지도..

예을 들어 누군가가 심심하여
/tmp에 ls라는 file을 만들었는데.. 그 내용이
#!/bin/sh
yes|rm -r /the/some/directory/name
이라고 한다면..

root가 우연히 /tmp에서 ls을 치는 순간 the/some/directory/name
은 지워지게 되겠지요. 만약에 그 directory가 /이었다면 system이 깨지는
것이고..

-------------------------
다 아는 이야기를 하는 것 같아서 쑥스럽네요.


0 new messages