사용자 계정 및 Linux 용 Windows 하위 시스템에 대 한 권한User Accounts and Permissions for Windows Subsystem for Linux

WSL에서 새 Linux 배포를 설정 하는 첫 번째 단계는 Linux 사용자를 만들기.Creating your Linux user is the first step in setting up a new Linux distribution on WSL. 사용자가 만든 첫 번째 사용자 계정에 몇 가지 특수 한 특성을 사용 하 여 자동으로 구성 됩니다.The first user account you create is automatically configured with a few special attributes:

  1. 기본 사용자 것-해당 로그인 자동으로 시작 합니다.It is your default user -- it signs-in automatically on launch.
  2. 기본적으로 Linux 관리자 (sudo 그룹의 구성원)는 것입니다.It is Linux administrator (a member of the sudo group) by default.

Linux 용 Windows 하위 시스템에서 실행 중인 각 Linux 배포에는 자체 Linux 사용자 계정 및 암호.Each Linux distribution running on the Windows Subsystem for Linux has its own Linux user accounts and passwords. 언제 든 지 추가 배포를 다시 설치 또는 다시 설정 Linux 사용자 계정을 구성 해야 합니다.You will have to configure a Linux user account any time you add a distribution, reinstall, or reset. 와 별개의 Windows 사용자 계정에도, Linux 사용자 계정 에서만 배포당 독립 받지 않습니다.Linux user accounts are not only independent per distribution, they are also independent from your Windows user account.

Linux 암호를 다시 설정Resetting your Linux password

변경할 현재 암호를 알고 있고 Linux 사용자 계정에 액세스할 경우 Linux를 사용 하 여 암호 재설정 해당 배포-가장 가능성이 높은 도구 passwd합니다.If you have access to your Linux user account and know your current password, change it using Linux password reset tools of that distribution -- most likely passwd.

배포에 따라 옵션 하지 않은 경우에 기본 사용자를 다시 설정 하 여 암호를 재설정할 수 있습니다.If that's not an option, depending on the distribution, you may be able to reset your password by resetting the default user.

WSL은 사용자 계정을 자동으로 식별 하는 기본 사용자 태그는 WSL 시작할 때 로그인을 제공 합니다.WSL offers a default user tag to identify which user account automatically logs in when you start a WSL. 대부분의 배포 루트 및 루트 사용자로 설정 된 암호가 없거나를 사용 하 여 기본 사용자를 설정 하는 명령을 포함 하므로 기본 사용자 루트 변경은 등 암호 재설정에 대 한 유용한 도구입니다.Since many distributions include commands to set the default user to root and also a root user with no password set, changing the default user to root is a handy tool for things like password reset.

크리에이터 스 업데이트 이상For Creators Update and earlier

실행 중인 경우 Windows 10 크리에이터 스 업데이트 하거나 이전에 다음 명령을 실행 하 여 기본 Bash 사용자를 변경할 수 있습니다.If you're running Windows 10 Creators update or earlier, you can change the default Bash user by running the following commands:

  1. 기본 사용자 변경 root:Change the default user to root:

    C:\> lxrun /setdefaultuser root
    
  2. 실행할 bash.exe 지금 로그인으로 root:Run bash.exe to now login as root:

    C:\> bash.exe
    
  3. 분포의 암호 명령을 사용 하 여 암호를 재설정 하 고 Linux 콘솔을 닫습니다.Reset your password using the distribution's password command, and close the Linux Console:

    $ passwd username
    $ exit
    
  4. Windows CMD에서 일반적인 Linux 사용자 계정으로 다시 기본 사용자를 다시 설정 합니다.From Windows CMD, reset your default user back to your normal Linux user account:

    C:\> lxrun.exe /setdefaultuser username
    

Fall Creators Update에 대 한 이상For Fall Creators Update and later

특정 배포에 사용할 수 있는 명령을 확인 하려면 [distro.exe] /?합니다.To see what commands are available for a particular distribution, run [distro.exe] /?.

예를 들어, Ubuntu를 사용 하 여 설치 합니다.For example, with Ubuntu installed:

C:\> ubuntu.exe /?

Launches or configures a linux distribution.

Usage:
    <no args>
      - Launches the distro's default behavior. By default, this launches your default shell.

    run <command line>
      - Run the given command line in that distro, using the default configuration.
      - Everything after `run ` is passed to the linux LaunchProcess cal

    config [setting [value]]
      - Configure certain settings for this distro.
      - Settings are any of the following (by default)
        - `--default-user <username>`: Set the default user for this distro to <username>

    clean
      - Uninstalls the distro. The appx remains on your machine. This can be
        useful for "factory resetting" your instance. This removes the linux
        filesystem from the disk, but not the app from your PC, so you don't
        need to redownload the entire tar.gz again.

    help
      - Print this usage message.

Ubuntu를 사용 하는 단계별 지침 단계:Step by step instructions using Ubuntu:

  1. 열기 CMDOpen CMD

  2. 기본 Linux 사용자로 root:Set the default Linux user to root:

    C:\> ubuntu config --default-user root
    
  3. Linux 배포를 시작 (ubuntu).Launch your Linux distribution (ubuntu). 자동으로로 로그인 root:You will automatically login as root:

  4. 사용 하 여 암호 재설정을 passwd 명령:Reset your password using the passwd command:

    $ passwd username
    
  5. Windows CMD에서 일반적인 Linux 사용자 계정으로 다시 기본 사용자를 다시 설정 합니다.From Windows CMD, reset your default user back to your normal Linux user account.

    C:\> ubuntu config --default-user username
    

사용 권한Permissions

WSL에서 사용 권한을 제공 하는 경우 염두에 두 가지 중요 한 개념이 있습니다.There are two important concepts to keep in mind when it comes to permissions in WSL:

  1. Windows 권한 모델을 Windows 리소스에 대 한 프로세스의 권한을 제어합니다The Windows permission model governs a process' rights to Windows resources
  2. Linux 권한 모델에는 Linux 리소스에 대 한 프로세스의 권한을 제어합니다The Linux permission model controls a process' rights to Linux resources

WSL에서 Linux를 실행 하는 경우 Linux는 프로세스와 동일한 Windows 권한을 갖습니다.When running Linux on WSL, Linux will have the same Windows permissions as the process that launches it. 두 사용 권한 수준 중 하나로 Linux는 시작할 수 있습니다.Linux can be launched in one of two permission levels:

  • 일반 (권한이 상승 되지 않은): Linux에서 로그인 한 사용자의 권한으로 실행Normal (non-elevated): Linux runs with the permissions of the logged-in user
  • 관리자 권한/관리자: 관리자 권한/관리자 Windows 권한으로 실행 되는 LinuxElevated/admin: Linux runs with elevated/admin Windows permissions

상승 된 때문에 프로세스 수 변경/시스템 차원의 설정 및 데이터 손상과 보호 파일 및 폴더 액세스/수정 하지 말고 Windows 있는지 여부에 반드시 필요한 경우가 아니면 관리자 권한 프로세스를 시작 하거나 Linux 응용 프로그램/도구/셸!Because that elevated processes can change/damage system-wide settings and data, and can access/modify protected files and folders, AVOID launching elevated processes unless you absolutely have to - whether they're Windows or Linux applications/tools/shells!

위의 Windows 권한은 Linux 인스턴스 내에서 사용 권한을 무관 다음과 같습니다. "루트 권한" Linux Linux 환경 및 파일 시스템 내에서 사용자의 권한에 영향을 줍니다. 영향을 미치지 않습니다 Windows 권한 부여에 있습니다.The above Windows permissions are independent of the permissions within a Linux instance: Linux "Root privileges" only impact the user’s rights within the Linux environment & filesystem; they have no impact on the Windows privileges granted. 따라서 루트로 Linux 프로세스를 실행 (예: 통해 sudo) Linux 환경 내에서 권한 관리를 처리 하는 유일한 부여 합니다.Thus, running a Linux process as root (e.g. via sudo) only grants that process admin rights within the Linux environment.

예: Example:
Windows 관리자 권한으로 Bash 세션에 액세스할 수 있습니다 cd /mnt/c/Users/Administrator 관리자 권한이 사용 권한 거부 "오류를 볼 수 없는 Bash 세션 동안.A Bash session with Windows admin privileges may access cd /mnt/c/Users/Administrator while a Bash session without admin privileges would see a "Permission Denied" error.

Linux에서 입력 sudo cd /mnt/c/Users/Administrator Windows 내에서 사용 권한을 Windows에서 관리 되므로 관리자의 디렉터리에 대 한 액세스 권한을 부여 하지 됩니다.In Linux, typing sudo cd /mnt/c/Users/Administrator will not grant access to the Administrator’s directory since permissions within Windows are managed by Windows.

Linux 권한 모델이 사용자에 게 현재 Linux 사용자를 기반으로 하는 권한이 있는 Linux 환경 내에 있을 때 중요 합니다.The Linux permission model is important when inside the Linux environment where the user has permissions based on the current Linux user.

예:Example:
Sudo 그룹에 사용자가 실행할 수 있습니다 sudo apt update합니다.A user in the sudo group may run sudo apt update.