Raspberry Pi_Kor_12.2.2 작업 사용자(working user)


Published Book on Amazon


All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1

All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)

최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


12.2.2  작업 사용자(working user)

 

12.2.2.1    작업 사용자의 의미

 

작업 사용자란 현재의 작업에 사용되는 사용자 ID를 의미한다. 통상 logon 사용자가 작업 사용자가 되지만 경우에 따라서는 logon 사용자와는 다른 사용자ID를 이용해서 작업을 처리할 수가 있다. 예를 들면 logon 사용자가 "pi" 인 경우에 root 계정이 필요한 작업을 수행할 때는 "pi" 사용자 계정을 사용하지 않고 "root" 계정을 이용하여 작업을 진행할 수 있다.

 

이렇게 작업 사용자 계정을 변경하기 위해서는 반드시 별도의 명령을 이용하여 계정을 변경해야 한다. 이런 작업을 위해서는 "sudo su" 명령을 사용할 수 있는데 이에 대해서는 다음에서 설명하도록 하겠다.

 

12.2.2.2    terminal 정보로 현재 사용자 확인하기

 

terminal에서 작업 사용자를 쉽게 확인할 수 있다. 이를 위한 첫 번째 방법은 화면에 기본적으로 표시되는 작업 사용자에 대한 정보를 이용하는 방법이다. 화면 왼쪽을 보면 "작업 사용자@hostname" 의 형식으로 흰색으로 표시되는 사용자 계정을 이용해서 확인할 수 있다. 이 정보는 logon 사용자와 구분하기 위해서 logon 사용자가 초록색으로 표시되는 반면에 흰 색상으로 표시가 되어 있다.


그림 12‑3 terminal에서 현재 사용자 확인


 

12.2.2.3    "whoami" 명령으로 작업 사용자 확인하기

 

Terminal 화면에서 작업 사용자를 확인하는 또 다른 방법은 "whoami"이라는 명령을 이용하는 방법이다. 이 방법을 이용하면 어디서나 작업 사용자 계정을 확인할 수 있다.

 

[명령 형식]       

whoami

 

[명령 개요]

    현재의 작업 사용자를 보여준다.

    user 권한    -- 일반 user.

 

[상세 설명]

    None

 

[사용 Example]

처음 사용자 "pi" logon한 경우는 현재 사용자가 "pi"로 표시되고, 작업 사용자를 "root"로 변경한 이후는 작업 사용자가 "root" 로 표시된다.  

 

pi@raspberrypi ~ $ whoami

pi

pi@raspberrypi ~ $ sudo su -

root@raspberrypi:~# whoami

root

root@raspberrypi:~#

 

 


 

12.2.2.4    "su" 명령으로 작업 사용자 변경하기

 

"su" 명령은 다른 사용자를 현재의 작업 사용자가 되도록 변경해 준다. 이렇게 작업 사용자를 변경하면, 향후에 실행되는 모든 명령에 대해서 특별한 지시가 없어도 항상 새로 지정된 사용자 계정으로 실행하도록 하는 효과가 있다.  "su" 명령을 실행하면서 특정 사용자를 지정하지 않으면 super user를 지정한 것으로 간주한다.

 

나중에 다시 원래의 logon user로 돌아 오기 위해서는 "exit" 명령을 사용하면 된다.

 

[명령 형식]       

su [options] [username]

 

[명령 개요]

    지정된 사용자를 현재의 작업 사용자가 되도록 변경해 준다.

    user 권한    -- super user.

 

[상세 설명]

    이 명령은 지정된 user ID가 작업 사용자가 되도록 변경한다. User ID를 지정하지 않으면 기본적으로 super user를 사용하여 변경한다.

    필요한 경우는 option을 사용하여 적용되는 environment를 선택할 수 있다.

 

[주요 Option]

-h, --help                   

display this help message and exit

-c, --command COMMAND

 

Specify a command that will be invoked by the shell using its -c.

 

The executed command will have no controlling terminal. This option cannot be used to execute interractive programs which need a controlling TTY.

-, -l, --login

Provide an environment similar to what the user would expect had the user logged in directly.

When - is used, it must be specified as the last su option. The other forms (-l and --login) do not have this restriction.

-s, --shell SHELL

The shell that will be invoked.

-m, -p, --preserve-environment

Preserve the current environment, except for:

 

[사용 Example] 

다음은 "su" 명령을 실행할 때 "sudo" 명령을 추가하지 않고 실행한 것이다. 그러면 다음과 같이 현재 사용자의 암호를 입력하도록 하여 확인 과정을 거치도록 한다. 이것은 부주의로 인한 실행을 사전에 예방하고자 하는 것이다.  

 

pi@raspberrypi ~ $ su

Password:

root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# exit

exit

pi@raspberrypi ~ $

 

"su" 명령을 실행할 때 "sudo" 명령을 추가하여 실행하면 다음과 같이 처리되는 것을 확인할 수 있다.

 

pi@raspberrypi ~ $ sudo su

root@raspberrypi:/home/pi#

root@raspberrypi:/home/pi# exit

exit

pi@raspberrypi ~ $