Mengizinkan pengguna terhubung dengan SSH tanpa akses sudo?

Inilah yang saya coba lakukan: menyiapkan server cadangan di Google Compute Engine, tempat karyawan di perusahaan saya dapat membuat cadangan komputer mereka setiap malam melalui rdiffbackup. Pekerjaan cron akan berjalan yang menjalankan rdiffbackup, yang menggunakan SSH untuk mengirim file seperti SCP.

Dengan server "normal", saya dapat membuat pengguna baru untuk setiap karyawan, dan mengatur izin sehingga mereka tidak dapat membaca file karyawan lain.

Sepertinya menggunakan alat "gcloud computing ssh", atau mengonfigurasi ssh biasa menggunakan "gcloud compute config-ssh", hanya memungkinkan Anda mengizinkan pengguna untuk terhubung yang ditambahkan ke proyek dan telah menghubungkan komputer mereka ke akun Google mereka. Masalah saya dengan ini adalah saya tidak melihat cara bagi pengguna untuk memiliki kemampuan baca-tulis di server tanpa menjadi sudoer (siapa pun yang ditambahkan ke proyek dengan "Dapat Mengedit" bisa mendapatkan sudo sejauh yang saya tahu) . Tentunya jika mereka memiliki sudo, mereka dapat membaca file orang lain.

Bisakah saya memberi seseorang kemampuan SSH jarak jauh tanpa sudo? Terima kasih.


person dtemp-jg    schedule 23.06.2015    source sumber


Jawaban (2)


Saya sarankan menghindari gcloud secara bersamaan untuk ini. Alat SSH gcloud diarahkan untuk memudahkan pengelolaan serangkaian mesin yang terus berubah dalam proyek Anda. Ini tidak dibuat untuk mencakup semua kasus penggunaan yang juga menggunakan SSH.

Sebagai gantinya, saya sarankan Anda mengatur layanan pencadangan seperti yang Anda lakukan pada server normal:

  • menetapkan alamat statis
  • (opsional) tetapkan nama dns
  • atur pengguna di kotak menggunakan adduser
person Stephen Weinberg    schedule 23.06.2015
comment
Ahh, saya pikir saya membaca bahwa tidak mungkin menyiapkan server dengan cara seperti itu di GCE, bahwa Anda harus menggunakan alat SSH mereka untuk terhubung dan Anda tidak dapat membuat pengguna sembarangan yang dapat masuk melalui SSH. Baru saja membuat pengguna, mengatur otor_keys, dan berfungsi. Terima kasih. - person dtemp-jg; 24.06.2015
comment
Anda perlu menggunakan gcloud atau konsol cloud untuk menyiapkan login awal Anda. Setelah itu, itu hanya server biasa. Ada daemon yang berjalan di server untuk mengambil kunci/pengguna baru dari Google. Anda mungkin ingin menonaktifkannya. - person Stephen Weinberg; 24.06.2015

Anda memiliki beberapa pilihan

1) Anda dapat mengelola pengguna non-root pada instance Anda seperti yang Anda lakukan pada mesin Linux normal dengan menambahkan mereka secara manual menggunakan perintah standar seperti 'adduser' dan bukan jalur pembaruan gsutil/UI/metadata.

2) Alternatifnya, jika Anda perlu mengelola sekelompok besar mesin, Anda dapat menonaktifkan seluruh manajemen ACL yang disediakan oleh Google dan menjalankan server LDAP Anda sendiri untuk ini. File yang bertanggung jawab atas pembaruan akun dan perlu dinonaktifkan agar dapat dijalankan adalah file ini https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google-daemon/etc/init/google-accounts-manager-service.conf

3) Akhirnya Anda dapat mengunci akses tulis ke pengguna root yaitu. nonaktifkan penulisan yang menyebar dari server metadata dengan menyetel tanda yang tidak dapat diubah pada file sudoers 'chattr +i /etc/sudoers' Ini bukan solusi yang bagus tetapi efektif. Dengan cara ini Anda mengunci Root untuk pengguna yang sudah ditambahkan dan setiap pengguna baru akan ditambahkan sebagai hak istimewa non-root, setiap pengguna tingkat root baru perlu ditambahkan secara manual mesin demi mesin.

person Feczo    schedule 24.07.2015