"Sudo-Hiu"란 무엇입니까?

"Sudo-Hiu"란 무엇입니까?

Hudson 서버를 설치하기 위해 튜토리얼을 따랐습니다. 튜토리얼에는 다음 Linux 명령이 있었습니다( hudson는 Ubuntu의 사용자 이름입니다).

sudo -Hiu hudson

무엇을 sudo -Hiu위한 것인가요? 이 명령을 실행한 후에는 어떻게 되나요?

답변1

-Hiu 플래그는 -H, -i 및 -u 옵션의 조합입니다. "man sudo"에서 바로:

   -H          The -H (HOME) option sets the HOME environment variable to
               the homedir of the target user (root by default) as
               specified in passwd(5).  The default handling of the HOME
               environment variable depends on sudoers(5) settings.  By
               default, sudo will set HOME if env_reset or always_set_home
               are set, or if set_home is set and the -s option is
               specified on the command line.

   -i [command]
               The -i (simulate initial login) option runs the shell
               specified in the passwd(5) entry of the target user as a
               login shell.  This means that login-specific resource files
               such as .profile or .login will be read by the shell.  If a
               command is specified, it is passed to the shell for
               execution.  Otherwise, an interactive shell is executed.
               sudo attempts to change to that user's home directory
               before running the shell.  It also initializes the
               environment, leaving DISPLAY and TERM unchanged, setting
               HOME, MAIL, SHELL, USER, LOGNAME, and PATH, as well as the
               contents of /etc/environment on Linux and AIX systems.  All
               other environment variables are removed.

   -u user     The -u (user) option causes sudo to run the specified
               command as a user other than root.  To specify a uid
               instead of a user name, use #uid.  When running commands as
               a uid, many shells require that the '#' be escaped with a
               backslash ('\').  Note that if the targetpw Defaults option
               is set (see sudoers(5)) it is not possible to run commands
               with a uid not listed in the password database.

그러면 이 모든 것이 무엇을 의미합니까? 첫 번째 유용한 옵션은 -u입니다. 이는 명령(이 경우 쉘)이 사용자 root가 아닌 사용자 hudson으로 실행되도록 합니다. -H 옵션은 명령 기간 동안 홈 디렉토리를 hudon의 홈 디렉토리와 동일하게 만들고 -i 옵션은 사용자 hudson에 대한 초기 로그인(예: 소스 도트 파일)을 시뮬레이션하도록 지시합니다. 종합하면, 이는 사용자 hudson으로 명령을 실행한다는 의미입니다. 이 경우 명령은 쉘이므로, 마치 사용자 hudson으로 직접 로그인한 것처럼 사용자 hudson으로 쉘을 여는 것을 의미합니다.


참고로, 어떤 명령을 실행하고 있는지 모르면 sudo를 사용하지 마세요. 주의하지 않으면 sudo는 시스템 구성을 망칠 수 있는 기회를 훨씬 더 많이 제공합니다. 문제를 고칠 수 없다는 말은 아니지만 5분만 투자하여 매뉴얼 페이지를 읽으면 나중에 문제를 해결하는 데 드는 시간을 절약할 수 있습니다.

답변2

man sudo터미널에 입력하여 매뉴얼을 볼 수 있습니다.

위아래로 스크롤하려면 k/ 키를 누르세요 .j

종료하려면 누르세요 q.

관련 정보