sudo su 자동 로그인

sudo su 자동 로그인

자동 로그인 프로세스를 사용하고 싶습니다 sudo su. 나는 이것에 관해 많은 질문을 보았지만 그 중 어느 것도 나에게 도움이 되지 않았습니다.

sudo 및 su를 사용하여 자동으로 로그인

내가 지금까지 시도한 것은 다음과 같습니다.

echo "mypassword" | sudo -S su - user
echo "mypassword\n" | sudo -S su - user
echo mypassword | sudo -S su - user
echo "mypassword" | sudo -S su user
echo mypassword | sudo -S su user

방금 아래와 같은 답변을 받았습니다.

-bash: line 1: mypassword: command not found

내 버전의 Bash

GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) 
Copyright (C) 2009 Free Software Foundation, Inc.

내 비밀번호에는 특수 문자가 포함되어 있습니다.@

@ sudo
usage: sudo [-D level] -h | -K | -k | -V
usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ...

답변1

하다아니요해! 그러면 쉘 기록에 비밀번호가 유지됩니다!

만약 너라면진짜이 작업을 수행하려면 sudoers비밀번호 없는 로그인을 허용하도록 파일을 구성하는 것이 좋습니다.

이렇게 하려면 명령을 실행 sudo visudo하고 다음과 같은 줄을 추가하세요.

reddy ALL=NOPASSWD: /bin/su - *

( reddy사용자 이름은 어디에 있습니까?)

전체 팀에 이 액세스 권한을 부여해야 하는 경우 팀을 포함하는 (UNIX) 그룹을 만들고 reddy( %team팀 그룹)을 바꿉니다.

(또한 약간의 여담: 이 echo명령은 이미 \n필요한 것을 추가합니다. 실제로 반대를 원하는 경우(원하지 않는 경우) 이 명령은 echo -n.)

답변2

나는 당신이하고있는 일이 잘못되었다는 Valmiky의 의견에 동의하지만 sudoers 라인은 내가 권장하는 것이 아닙니다. 그의 라인을 통해 비밀번호 없이 다른 사람(루트 포함)에게 sudo를 실행할 수 있는 권한이 있습니다. 이는 효과적으로 서버에 대한 전체 액세스를 제공하므로 /bin/su회선의 일부가 중복됩니다.

비밀번호를 제공하지 않고 이 특정 사용자에게만 sudo를 수행할 수 있는 경우 올바른 줄은 다음과 같습니다.

%team ALL = (user) NOPASSWD: ALL

이제 비밀번호를 제공하지 않고도 해당 사용자로 무엇이든 실행할 수 있습니다. 예를 들어 루트에 sudo를 실행해야 하는 경우에는 여전히 비밀번호가 필요합니다.

이제 .bashrc에서 다음을 수행할 수 있습니다.

 sudo -u user /bin/bash

관련 정보