등 의 Unix 환경이 있습니다 sftwrk01
.uatwrk01
intwrk01
다음과 같은 로그인을 통해 매일 각 환경의 로그를 확인해야 합니다(pbrun의 래퍼인 pbsu를 통해).
$pbsu - sftwrk01 //this helps to login to sftwrk01
그런 다음 로그인한 후 로그를 확인합니다. 등과 uatwrk01
같은 다른 환경에서도 동일한 프로세스가 작동합니다 .intwrk01
이제 나는 이것을 시도했습니다 :
$pbsu - sftwrk01 && cd var/can/log && ls -lrt
cd var/can/log && ls -lrt
그러나 를 입력하여 sftwrk01 환경을 종료한 후에 명령문이 실제로 실행되기 때문에 이것은 작동하지 않습니다 exit
.
관리자 권한이 없는 경우 가능한 다른 해결 방법은 무엇입니까? (즉, 나는 홈 디렉토리의 사용자 중 한 명일 뿐입니다.)
관리자 권한 없이 이 작업을 수행할 수 없다면 전체 권한으로 수행할 수 있는 방법을 언급해 주시겠습니까? ( .profile
이 작업을 수행하려면 일부 파일을 편집할 수도 있습니다.)
**OS Info :**
rcihp145 :/home/msingh2> uname -a
HP-UX rcihp145 B.11.23 U 9000/800 3683851961 unlimited-user license
기타 정보:
rcihp145 :/home/msingh2> ls -lrta
total 7296
-r--r--r-- 1 msingh2 users 438 Dec 22 2010 .profile
drw------- 2 msingh2 users 96 Dec 22 2010 .ssh
-r--r--r-- 1 msingh2 users 831 Dec 22 2010 .cshrc
-r--r--r-- 1 msingh2 users 347 Dec 22 2010 .exrc
-r--r--r-- 1 msingh2 users 333 Dec 22 2010 .login
-rw------- 1 msingh2 users 56 Dec 23 2010 .sh_history.
-rwxr-xr-x 1 msingh2 users 5451 Dec 23 2010 .dtprofile
-rw------- 1 msingh2 users 3577932 May 18 05:21 core
drwxr-xr-x 422 root root 16384 Aug 3 14:27 ..
-rw------- 1 msingh2 users 245 Aug 4 00:41 .Xauthority
-rw------- 1 msingh2 users 1768 Aug 4 00:41 .TTauthority
drwxr-xr-x 4 msingh2 users 8192 Aug 4 00:41 .
-rw------- 1 msingh2 users 37533 Aug 4 00:41 .ICEauthority
-rw------- 1 msingh2 users 4064 Aug 4 06:28 .sh_history
drwxr-xr-x 12 msingh2 users 8192 Aug 4 06:28 .dt
-rw------- 1 msingh2 users 3462 Aug 5 02:29 .sh_history.msingh2
여기pbsu입니다
답변1
로그인 중인 서버 쉘이 원래 Korn 쉘인지는 모르겠지만, 그렇다면 pbsu
스크립트 끝을 수정하여 다음과 같이 할 수 있습니다.
[ -n "$REMOTEHOST" ] && /usr/local/bin/pbrun -h $REMOTEHOST -u $username/usr/local/bin/pbksh $LOGIN_SWITCH [ -n "$REMOTEHOST" ] || /usr/local/bin/pbrun -b -u $username/usr/local/bin/pbksh $LOGIN_SWITCH
~이 되다
[ -n "$REMOTEHOST" ] && /usr/local/bin/pbrun -h $REMOTEHOST -u $USERNAME /usr/local/bin/pbksh $LOGIN_SWITCH ${@:2} [ -n "$REMOTEHOST" ] || /usr/local/bin/pbrun -b -u $username/usr/local/bin/pbksh $LOGIN_SWITCH ${@:2}.
그런 다음 다음을 사용하여 셸에 로그인하지 않고도 서버에 명령을 보낼 수 있습니다.
pbsu - sftwrk01 -c "your commands here"
(따옴표에 주목하세요!) 따라서 귀하의 예에서는 다음과 같습니다.
pbsu - sftwrk01 -c "ls -lrt var/can/log"
(그런데 내용을 나열하기 위해 디렉토리로 변경할 필요는 없습니다. ls
위에 표시된 대로 명령에 디렉토리 이름을 제공하기만 하면 됩니다.)