Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Praktik terbaik pengembangan perangkat lunak memandu pengembang untuk menulis perangkat lunak yang membutuhkan hak istimewa paling sedikit. Namun, beberapa perangkat lunak, seperti alat pemantauan performa, memerlukan izin admin karena aturan sistem operasi. Panduan berikut menjelaskan skenario yang didukung untuk menulis perangkat lunak tersebut dengan .NET Core.
Perintah berikut dapat dijalankan dengan hak akses lebih tinggi:
-
dotnet toolperintah, seperti dotnet tool install. dotnet run --no-builddotnet-core-uninstall
Kami tidak menyarankan untuk menjalankan perintah lain yang ditingkatkan. Secara khusus, kami tidak merekomendasikan peningkatan hak akses dengan perintah yang menggunakan MSBuild, seperti dotnet restore, dotnet build, dan dotnet run. Masalah utama adalah masalah manajemen izin saat pengguna beralih bolak-balik antara root dan akun terbatas setelah mengeluarkan perintah dotnet. Anda mungkin menemukan bahwa Anda, sebagai pengguna terbatas, tidak memiliki akses ke file yang dibuat oleh pengguna root. Ada cara untuk mengatasi situasi ini, tetapi sebaiknya tidak perlu masuk ke situasi tersebut dari awal.
Anda dapat menjalankan perintah sebagai root selama Anda tidak beralih bolak-balik antara root dan akun terbatas. Misalnya, kontainer Docker berjalan sebagai root secara default, sehingga mereka memiliki karakteristik ini.
Penginstalan alat global
Instruksi berikut menunjukkan cara yang disarankan untuk menginstal, menjalankan, dan menghapus instalan alat .NET yang memerlukan izin yang ditinggikan untuk dijalankan.
Pasang alat
Jika folder %ProgramFiles%\dotnet-tools sudah ada, lakukan hal berikut untuk memeriksa apakah grup "Pengguna" memiliki izin untuk menulis atau mengubah direktori tersebut:
-
%ProgramFiles%\dotnet-toolsKlik kanan folder dan pilih Properti. Kotak dialog Properti Umum terbuka. - Pilih tab Keamanan . Di bawah Nama grup atau pengguna, periksa apakah grup "Pengguna" memiliki izin untuk menulis atau mengubah direktori.
- Jika grup "Pengguna" tidak dapat menulis atau mengubah direktori, gunakan nama direktori yang berbeda saat menginstal alat daripada dotnet-tools.
Untuk menginstal alat, jalankan perintah berikut dalam prompt yang ditingkatkan. Ini akan membuat folder dotnet-tools selama penginstalan.
dotnet tool install PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools".
Jalankan alat global
Opsi 1 Gunakan jalur lengkap dengan prompt yang ditingkatkan:
"%ProgramFiles%\dotnet-tools\TOOLCOMMAND"
Opsi 2 Tambahkan folder yang baru dibuat ke %Path%. Anda hanya perlu melakukan operasi ini sekali.
setx Path "%Path%;%ProgramFiles%\dotnet-tools\"
Dan jalankan dengan:
TOOLCOMMAND
Menghapus instalan alat global
Dalam prompt yang ditingkatkan, ketik perintah berikut:
dotnet tool uninstall PACKAGEID --tool-path "%ProgramFiles%\dotnet-tools"
Alat lokal
Alat lokal dilingkup per pohon subdirektori, per pengguna. Saat dijalankan dengan hak akses tinggi, alat lokal beroperasi dalam lingkungan pengguna yang dibatasi dengan lingkungan yang ditingkatkan. Di Linux dan macOS, ini menghasilkan file yang diatur dengan akses khusus pengguna root. Jika pengguna beralih kembali ke akun terbatas, pengguna tidak dapat lagi mengakses atau menulis ke file. Jadi, menginstal alat yang memerlukan elevasi sebagai alat lokal tidak disarankan. Sebagai gantinya, gunakan opsi --tool-path dan panduan sebelumnya untuk alat-alat global.
Elevasi selama pengembangan
Selama pengembangan, Anda mungkin memerlukan akses yang ditingkatkan untuk menguji aplikasi Anda. Skenario ini umum untuk aplikasi IoT, misalnya. Kami menyarankan agar Anda membangun aplikasi tanpa elevasi lalu menjalankannya dengan elevasi. Ada beberapa pola, sebagai berikut:
Menggunakan file executable yang telah dihasilkan (memberikan performa memulai terbaik).
dotnet build sudo ./bin/Debug/netcoreapp3.0/APPLICATIONNAMEMenggunakan perintah dotnet run dengan flag
—no-builduntuk menghindari pembuatan biner baru:dotnet build sudo dotnet run --no-build