수수와 함께-About.exrc

수수와 함께-About.exrc

같은 그룹에 2명의 사용자가 있는 경우

myuser:grp1
anotheruser:grp1

내 개인 .exrc 파일에 두 개의 사용자 로그인에서 동일한 방식으로 작업해야 하는 몇 가지 기능 키 할당이 있습니다. 내 .exrc에 대해 664 권한을 설정하고 같은 방식으로 다른 사용자의 .exrc를 복사하여 설정했습니다. 내 tmp 폴더에는 777 권한이 있으며 동일한 그룹에 있습니다.

.exrc의 F10/11/12 키 특정 명령

map ^AI :1,$w! $HOME/tmp/tmp.tmp^M 
map ^AJ :'k,.w! $HOME/tmp/tmp.tmp^M
map ^AK :r $HOME/tmp/tmp.tmp^Mk    

질문:

su - anotheruser

다른 사용자 .exrc를 가져오지만 로컬 tmp 폴더 사용

su anotheruser

F 키가 완전히 다른 작업을 수행하고 다음 오류를 반환하므로 .exrc가 사용되지 않는 것 같습니다.

예: 0602-054 # 문자를 대체할 대체 파일 이름이 없습니다.

다른 사용자의 .exrc가 내 tmp 폴더를 명시적으로 가리키도록 하고 su를 사용할 수 있습니다. 하지만 내 .profile 및 .kshrc 파일에는 다른 OS 관련 설정이 누락되어 있어 다른 사용자에게 제공할 준비가 되어 있지 않습니다.

답변1

나는 이것이 심볼릭 링크의 좋은 사용 사례라고 생각합니다. (이는 root액세스 권한이 있다고 가정합니다.)

.exrc전 세계가 읽을 수 있는 곳에 파일을 저장하세요 . 아마도 , 실제로 는 그것이 적절하다고 /usr/local/share/생각하지만 ./usr/etc/

sudo mv -i ~/.exrc /usr/etc/

chown루트로 전환하고 권한을 644로 설정합니다.

cd /usr/etc/
sudo chown root:root .exrc
sudo chmod 644 .exrc

다음과 같이 홈 디렉터리에 심볼릭 링크를 만듭니다.

ln -s /usr/etc/.exrc ~/.exrc

다른 사용자의 홈 디렉터리에서도 마찬가지입니다.

ln -s /usr/etc/.exrc ~anotheruser/.exrc

매뉴얼 페이지에서 볼 수 있듯이 여전히 su - anotheruseror 를 사용해야 합니다 .su -l anotheruser

   -, -l, --login
          make  the  shell  a  login  shell, clears all envvars except for
          TERM, initializes HOME, SHELL, USER, LOGNAME and PATH

.exrc환경 변수를 기반으로 로드되므로 이것이 $HOME작동하려면 적절하게 설정해야 합니다.

관련 정보