특정 사용자에게 '스와'를 사용하여 비밀번호를 입력하지 않고도 명령을 실행할 수 있기를 원합니다.
예를 들면 다음과 같습니다.
내 로그인이 user1이고 'su'하려는 사용자가 user2 인 경우 :
다음 명령을 사용합니다.
su - user2
그러나 그것은 나에게 프롬프트
Password:
open -na Skype
을 위해 작동하지 않습니까?
특정 사용자에게 '스와'를 사용하여 비밀번호를 입력하지 않고도 명령을 실행할 수 있기를 원합니다.
예를 들면 다음과 같습니다.
내 로그인이 user1이고 'su'하려는 사용자가 user2 인 경우 :
다음 명령을 사용합니다.
su - user2
그러나 그것은 나에게 프롬프트
Password:
open -na Skype
을 위해 작동하지 않습니까?
답변:
sudo
당신을 위해 그냥 할 수 있습니다 :)
그래도 약간의 구성이 필요하지만 일단 완료하면 다음과 같이하십시오.
sudo -u user2 -s
그리고 비밀번호를 입력하지 않고 user2로 로그인합니다.
sudo를 구성하려면 다음을 통해 구성 파일을 편집해야합니다 visudo
. 참고 :이 명령은 vi
텍스트 편집기를 사용하여 구성을 엽니 다. 불편한 경우 export EDITOR=<command>
다음 행을 실행하기 전에을 사용하여 다른 편집기를 설정해야합니다 . 때때로 더 쉬운 것으로 간주되는 또 다른 명령 행 편집기 nano
가 export EDITOR=/usr/bin/nano
있습니다. 일반적으로 다음에 대한 수퍼 유저 권한이 필요합니다 visudo
.
sudo visudo
이 파일은 다른 섹션, 별명, 기본값으로 구성되며 마지막에는 규칙이 있습니다. 여기에 새 줄을 추가해야합니다. 따라서 파일 끝에서 탐색하여 다음을 추가하십시오.
user1 ALL=(user2) NOPASSWD: /bin/bash
또한 대체 할 수 있습니다 /bin/bash
에 의해 ALL
다음은 암호없이 사용자 2와 같은 명령을 실행할 수있다 : sudo -u user2 <command>
.
모든 사용자로 전환하려면 다음을 사용하십시오.
user1 ALL=(ALL) NOPASSWD: /bin/bash
Skype에 대한 귀하의 의견을 방금 봤습니다. sudo의 구성 파일에 Skype를 직접 추가하는 것을 고려할 수 있습니다. Skype가 응용 프로그램 폴더에 설치되어 있다고 가정 합니다.
user1 ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype
그런 다음 터미널에서 전화를 겁니다.
sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype
su - user2
대신 su user2
, 명령은 아마 모두 포함해야 sudo -u user2 -i
사용자 2로 초기 로그인 시뮬레이션하기 위해,
두 번째 계정에 공개 / 개인 ssh 키를 설정하고 첫 번째 계정에 키를 저장합니다.
그런 다음 다음과 같은 명령을 실행할 수 있습니다.
ssh user@localhost -n /Applications/Skype.app/Contents/MacOS/Skype &
하나의 사용자 계정에서 두 개의 인스턴스가 실행 중이고 해당 프로그램에서 읽거나 쓰는 파일이 충돌 할 수 있기 때문에 Skype가 혼동되는 문제가 계속 발생합니다. 또한 필요에 따라 충분히 작동 할 수 있으며 두 번째 Skype 인스턴스를 실행하기 위해 iPod touch가 필요하지 않습니다.
expect
하고 상호 작용을 스크립팅하는 것과 같은 도구를 사용하는 것보다 훨씬 안전 합니다. sudo su - blah
비밀번호를 사용 하고 입력합니다. 다른 답변은 이것을 sudo로 유지하기에 충분하다고 생각합니다.
sudo -u user2 <...>
)은 원격으로 사용할 수 없다는 이점이있어 보안에 도움이 될 수 있습니다. 도난 될 수있는 user1의 개인 키는 없습니다.