본문 바로가기
LINUX

sudo -u 와 su -c 의 차이점

by Rainbound-IT 2023. 7. 26.
반응형

목차

     

     

    한서버에 다양한 유저가 있고 실행파일이 각각 나뉘어져 있을 경우 실행이 안되거나 에러가 날 경우가 있다.

     

    그래서 사용자를 변경하거나 권한을 변경하고 사용자로 실행이 있습니다.

     

     

    sudo -u 'command'

    sudo -u user command (또는 sudo --user=user command): 이 명령어는 현재 사용자를 슈퍼 유저(root) 권한으로 변경하여, 지정된 user로 변경하여 해당 사용자의 권한으로 command를 실행합니다. 일반적으로 sudo를 사용하는 사용자는 슈퍼 유저(root) 권한을 가지고 있어야 합니다. 따라서 sudo -u 명령은 슈퍼 유저 권한을 사용하여 다른 사용자의 권한으로 명령을 실행하는 데 사용됩니다.

    예를 들어, app 사용자로 변경하여 ls 명령을 실행하려면 다음과 같이 사용합니다:

     

    sudo -u app ls /home/app

     

     

    su -c command

    su -c command: su -c 명령어는 현재 사용자를 다른 사용자로 변경하여, 지정된 command를 해당 사용자의 권한으로 실행합니다. 일반적으로 su를 사용하는 사용자는 슈퍼 유저(root) 권한을 가지고 있어야 합니다. 따라서 su -c 명령은 슈퍼 유저 권한을 사용하여 다른 사용자의 권한으로 명령을 실행하는 데 사용됩니다.

    예를 들어, app 사용자로 변경하여 ls 명령을 실행하려면 다음과 같이 사용합니다:

     

    su -c 'ls /home/app' app

     

    주요 차이점은 sudo -c는 현재 사용자의 권한을 유지하면서 명령을 실행하고, su -c는 현재 사용자를 다른 사용자로 변경하여 명령을 실행한다는 것입니다. 또한, sudo 명령은 슈퍼 유저 권한이 필요하며, 사용자가 sudoers 파일에 해당 명령을 실행할 권한이 있어야 합니다. 반면에 su 명령은 슈퍼 유저 권한이 없어도 사용자 자신의 비밀번호로 다른 사용자로 변경할 수 있습니다.

     

     

    끝!

    반응형

    댓글