> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/id/manajemen-pengguna-dan-proyek/user-management.md).

# Manajemen pengguna

## Membuat pengguna administrator

Penerapan Overleaf Toolkit:

{% code title="Overleaf Toolkit" overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/create-user --admin --email=joe@example.com"
```

{% endcode %}

Penerapan docker-compose.yml lama:

{% code title="docker-compose lama" overflow="wrap" %}

```bash
$ docker exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/create-user --admin --email=joe@example.com"
```

{% endcode %}

Perintah ini akan membuat pengguna dengan alamat email yang diberikan jika mereka belum ada, dan menjadikan mereka administrator. Output perintah menyertakan URL yang dapat dikunjungi untuk menetapkan kata sandi bagi pengguna ini dan masuk untuk pertama kalinya.

{% hint style="info" %}
Untuk pendekatan terprogram, Anda juga dapat menggunakan skrip yang sama untuk membuat pengguna biasa maupun administrator. Untuk pengguna biasa, hilangkan flag --admin.
{% endhint %}

Jika Anda menggunakan akun internal untuk autentikasi dan perlu meningkatkan pengguna yang sudah ada menjadi admin instance atau mencabut izin admin, lakukan hal berikut:

{% stepper %}
{% step %}

### Melalui UI Admin

* Masuk sebagai administrator yang sudah ada.
* Klik Admin -> Manage Users.
* Cari pengguna dan klik alamat emailnya.
* Gulir ke bawah ke bagian Site Admin dan klik tautan (show).
* Centang kotak Is Site Admin.
* Klik Save untuk menyelesaikan.
  {% endstep %}
  {% endstepper %}

***

## Menghapus pengguna

Seperti dijelaskan dalam panduan kami tentang [memahami penggunaan lisensi](broken://pages/7caae2bbd41c1322e74b80edf33f39b0cc6c4843), umumnya disarankan untuk tidak menghapus akun kecuali akun tersebut sudah tidak diperlukan. Menghapus akun akan menghapus akun tersebut dan menyebabkan kolaborator kehilangan akses ke proyek. Saat ini tidak ada cara untuk menonaktifkan akun — akun tersebut hanya ada dengan datanya tetap tersimpan atau dihapus.

Secara default, akun dihapus secara soft delete. Untuk informasi tentang penghapusan pengguna secara permanen dari instance Anda, lihat `ENABLE_CRON_RESOURCE_DELETION` di dalam [Variabel lingkungan](broken://pages/e4ca583acbab4ab521218de58b4c3788474c0454) panduan.

{% hint style="info" %}
Akun dihapus secara soft delete secara default. Lihat `ENABLE_CRON_RESOURCE_DELETION` untuk perilaku penghapusan permanen.
{% endhint %}

### Melalui Admin -> Manage Users

{% stepper %}
{% step %}

* Masuk sebagai administrator.
* Klik Admin -> Manage Users.
* Cari pengguna dan centang kotak di samping alamat emailnya.
* Klik ikon tempat sampah.
* Klik Delete untuk mengonfirmasi.
  {% endstep %}
  {% endstepper %}

### Melalui baris perintah

Akun pengguna (dan proyek-proyek mereka) dapat dihapus menggunakan perintah berikut.

Penerapan Overleaf Toolkit:

{% code title="Overleaf Toolkit" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/delete-user.mjs --email=joe@example.com"
```

{% endcode %}

Penerapan docker-compose.yml lama:

{% code title="docker-compose lama" %}

```bash
$ docker exec sharelatex /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/delete-user.mjs --email=joe@example.com"
```

{% endcode %}

{% hint style="danger" %}
Skrip penghapusan menggunakan opsi force yang dikodekan langsung yang memastikan penghapusan tetap berjalan bahkan jika email penghapusan akun gagal dikirim (misalnya, ketika email pengguna sudah tidak aktif).
{% endhint %}

{% hint style="info" %}
Sejak versi 5.5.0, opsi --skip-email dapat digunakan untuk mencegah pengiriman email informatif kepada pengguna yang dihapus.
{% endhint %}

***

## Memulihkan pengguna yang dihapus secara soft delete

Jika pengguna hanya dihapus secara soft delete, Anda dapat memulihkan akun dan proyek mereka.

{% stepper %}
{% step %}

* Masuk sebagai administrator.
* Klik Admin -> Manage Users.
* Cari pengguna yang ingin Anda pulihkan.
* Klik tombol Display deleted users.
* Klik alamat email pengguna yang dihapus.
* Klik Recover This Account.
* Klik Recover untuk mengonfirmasi.
  {% endstep %}
  {% endstepper %}

{% hint style="danger" %}
Saat ENABLE\_CRON\_RESOURCE\_DELETION disetel ke true, akun yang dihapus secara soft delete dapat dipulihkan dalam jangka waktu 90 hari. Setelah 90 hari, pemulihan akun tidak dimungkinkan.
{% endhint %}

***

## Menghitung pengguna

Anda dapat memperoleh jumlah pengguna melalui UI admin di <https://you-instance-url/admin/user#license>. Untuk pemeriksaan dan ekspor terprogram, contoh berikut mungkin membantu.

Jumlah total pengguna:

{% code title="Jumlah total pengguna" %}

```bash
echo 'db.users.countDocuments()' | docker exec -i mongo mongosh --quiet localhost/sharelatex
# overleaf [direct: primary] sharelatex> 16
```

{% endcode %}

Jumlah total pengguna menggunakan endpoint metrik:

{% code title="Jumlah pengguna aktif dari metrik" %}

```bash
docker exec sharelatex curl http://127.0.0.1:3000/metrics | grep num_active_users
# # HELP num_active_users num_active_users
# # TYPE num_active_users gauge
# num_active_users{app="web-api",host="b3ae4ff549d8"} 16
```

{% endcode %}

Jumlah total pengguna aktif (contoh: pengguna yang aktif dalam 365 hari terakhir):

{% code title="Jumlah total pengguna aktif" %}

```bash
echo 'db.users.countDocuments({ lastActive: { $gte: new Date(new Date().getTime() - (365 * 24 * 60 * 60 * 1000)) } })' | docker exec -i mongo mongosh --quiet localhost/sharelatex
# overleaf [direct: primary] sharelatex> 10
```

{% endcode %}

***

## Memperbarui informasi akun pengguna

Cara pembaruan akun dilakukan bergantung pada apakah SSO diaktifkan.

* Jika SSO tidak digunakan:
  * Administrator dapat mengubah informasi akun pengguna melalui Admin -> Manage Users (email, nama depan, nama belakang, dan menghasilkan tautan reset kata sandi).
  * Pengguna biasa dapat memperbarui detail mereka sendiri melalui Account -> Account Settings (termasuk mengubah kata sandi dan menghasilkan token autentikasi Git).
* Jika SSO digunakan:
  * Server Pro dapat dikonfigurasi untuk memperbarui nama depan dan nama belakang pengguna saat login berdasarkan sistem autentikasi.
  * Saat OVERLEAF\_SAML\_UPDATE\_USER\_DETAILS\_ON\_LOGIN atau OVERLEAF\_LDAP\_UPDATE\_USER\_DETAILS\_ON\_LOGIN bernilai true, formulir detail pengguna di <https://your-instance-url/user/settings> dinonaktifkan dan nama depan/nama belakang hanya dapat diatur di sistem manajemen identitas Anda.

Untuk detail selengkapnya lihat:

* Konfigurasi SAML 2.0: <https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/saml-2.0>
* Konfigurasi LDAP: <https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/ldap>

***

Terakhir diperbarui 4 bulan lalu

Halaman dokumentasi ini berisi tautan ke panduan eksternal dan halaman konfigurasi. Semua tautan dan parameter kueri dipertahankan seperti pada konten asli.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/id/manajemen-pengguna-dan-proyek/user-management.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
