Topik ini menjelaskan cara memasang sistem file SMB pada klien Linux sebagai pengguna domain AD, mengakses sistem file tersebut, serta mengelola Access Control Lists (ACLs) untuk file dan direktorinya setelah pemasangan.
Prasyarat
-
Titik pemasangan sistem file SMB telah ditambahkan ke domain AD. Untuk informasi selengkapnya, lihat Menambahkan Titik Pemasangan Sistem File SMB ke Domain AD.
-
Gunakan versi sistem operasi Linux yang kompatibel dengan sistem file SMB. Untuk informasi selengkapnya, lihat Batasan dan Image Kernel yang Direkomendasikan.
Latar Belakang
Sebelum titik pemasangan sistem file SMB ditambahkan ke domain AD, Anda hanya dapat memasang dan menggunakan sistem file tersebut sebagai pengguna anonim. Setelah titik pemasangan ditambahkan ke domain AD, Anda dapat memilih apakah akan tetap mengizinkan akses dari pengguna anonim atau tidak.
-
Jika Anda tetap mengizinkan akses anonim, klien dapat menggunakan otentikasi Kerberos untuk mengakses sistem file dengan identitas domain, atau menggunakan otentikasi NTLM untuk mengaksesnya sebagai anggota grup Everyone.
-
Jika akses anonim tidak diizinkan, hanya klien Linux yang menggunakan protokol otentikasi Kerberos yang dapat memasang sistem file tersebut sebagai pengguna domain AD.
Prosedur berikut menggunakan Ubuntu dan CentOS sebagai contoh untuk menunjukkan cara memasang dan mengakses sistem file SMB sebagai pengguna domain AD.
Metode 1: Pasang pada klien yang telah bergabung ke domain
-
Login ke klien Linux.
-
Gabungkan klien Linux ke domain AD.
-
-
Jalankan perintah id untuk memeriksa status pengguna domain AD.
id testuser@example-company.comOutput yang mirip seperti berikut menunjukkan bahwa pengguna domain AD telah teridentifikasi dengan benar.
[user1@mycentos root]$ id usera1@example-company.com uid=371801107(usera1@example-company.com) gid=371800513(domain users@example-company.com) groups=371800513(domain users@example-company.com) -
Berikan izin login kepada pengguna domain AD.
-
Berikan izin login kepada pengguna tertentu.
sudo realm permit usera1@example-company.com sudo realm permit userb1@example-company.com userb2@example-company.com -
Berikan izin login kepada grup tertentu.
sudo realm permit -g 'Security Users' sudo realm permit -g 'Domain Users' 'Domain Admins' -
Berikan izin login kepada semua pengguna.
sudo realm permit --all -
Tolak izin login untuk semua pengguna.
sudo realm deny --all
-
-
Tambahkan izin sudo untuk pengguna domain AD.
Jalankan perintah berikut untuk membuka file konfigurasi sudo, lalu tambahkan izin sudo sesuai kebutuhan.
sudo vim /etc/sudoers.d/domain_admins-
Tambahkan izin sudo untuk pengguna tertentu.
usera1@example-company.com ALL=(ALL) ALL userb2@example-company.com ALL=(ALL) ALL -
Tambahkan izin sudo untuk grup tertentu.
%admingroupc1@example-company.com ALL=(ALL) ALL -
Tambahkan izin sudo untuk grup yang namanya terdiri dari beberapa kata.
%domain\ admins@example-company.com ALL=(ALL) ALL
-
-
Konfigurasikan login SSH.
-
Buka file konfigurasi /etc/ssh/sshd_config dan ubah pengaturan login sebagai berikut:
PasswordAuthentication yes -
Jalankan perintah sesuai sistem operasi Anda untuk restart layanan SSHD.
-
CentOS
service sshd restart -
Ubuntu
service ssh restart
-
-
-
Login ke klien Linux sebagai pengguna domain AD.
ssh localhost -l usera1@example-company.comOutput yang mirip seperti berikut menunjukkan bahwa Anda telah berhasil login ke klien Linux sebagai pengguna domain AD.
[user1@mycentos root]$ ssh localhost -l usera1@example-company.com The authenticity of host 'localhost (127.0.0.1)' can't be established. ECDSA key fingerprint is SHA256:t/sEr63muG4UvBiAODXW9cHuMDBUlWUXO3cQ4xxmN78. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. usera1@example-company.com@localhost's password: Welcome to Alibaba Cloud Elastic Compute Service ! Activate the web console with: systemctl enable --now cockpit.socket -
Pasang sistem file SMB.
-
Instal alat pemasangan yang diperlukan.
-
Ubuntu
sudo apt-get install keyutils cifs-utils -
CentOS
sudo yum install keyutils cifs-utils
-
-
Kueri informasi pengguna dan tiket.
Jalankan perintah id dan
klistuntuk melihat informasi UID, GID, dan tiket pengguna saat ini.[usera1@example-company.com@mycentos ~]$ klist Ticket cache: KCM:371801107:64031 Default principal: usera1@EXAMPLE-COMPANY.COM Valid starting Expires Service principal 08/31/2021 07:56:42 08/31/2021 17:56:42 krbtgt/EXAMPLE-COMPANY.COM@EXAMPLE-COMPANY.COM renew until 09/07/2021 07:56:42 [usera1@example-company.com@mycentos ~]$ id uid=371801107(usera1@example-company.com) gid=371800513(domain users@example-company.com) groups=371800513(domain users@example-company.com),371801110(groupa@example-company.com) -
Jalankan perintah berikut untuk memasang sistem file.
sudo mount -t cifs //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare /mnt -o vers=2.1,sec=krb5,cruid=371801107,uid=371801107,gid=371800513 --verboseGanti
205dee4****-uub48.us-west-1.nas.aliyuncs.comdengan alamat titik pemasangan sistem file Anda.CatatanJika Anda memilih Enable Encryption in Transit di Konsol NAS, Anda harus menggunakan opsi vers=3.0 untuk memasang sistem file.
-
-
Konfigurasikan pemasangan otomatis.
Untuk memasang sistem file secara otomatis setelah klien Linux di-restart, konfigurasikan pemasangan otomatis.
-
Dalam file konfigurasi /etc/auto.master, tambahkan baris berikut:
/share /etc/auto.cifs --timeout=30 --ghost -
Ubah file konfigurasi /etc/auto.cifs seperti pada contoh berikut:
* -fstype=cifs,vers=2.1,sec=krb5,cruid=${UID},uid=${UID},gid=${GID},file_mode=0700,dir_mode=0700 ://205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/&Daftar berikut menjelaskan parameter utama. Ganti nilainya dengan informasi aktual Anda.
-
cruiddanuid: ID pengguna lokalusera1. -
gid: ID grup pengguna lokalusera1. -
205dee4****-uub48.us-west-1.nas.aliyuncs.com: Alamat titik pemasangan.Di Konsol NAS, buka halaman File System List. Temukan sistem file Anda dan klik ikon
. Di daftar yang muncul, temukan kolom Mount Target dan arahkan kursor ke ikon
untuk mendapatkan alamat titik pemasangan.
-
-
Restart layanan autofs.
systemctl restart autofs.service -
Verifikasi konfigurasi pemasangan otomatis.
Sebagai contoh, Anda membuat direktori //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1 dan memberikan izin penuh kepada pengguna
usera1.Setelah Anda login sebagai pengguna domain AD, jalankan perintah
ls /share/usera1. Jika isi direktoriusera1dalam sistem file SMB ditampilkan, konfigurasi pemasangan otomatis telah berhasil.
-
Metode 2: Pasang pada klien yang belum bergabung ke domain
-
Login ke klien Linux.
-
Hubungkan ke server AD.
-
-
Gunakan akun pengguna lokal untuk mendapatkan dan menyimpan informasi tiket Kerberos.
-
Buat pengguna lokal baru dan catat UID serta GID-nya.
useradd usera1 su - usera1 id[root@iZrj9gqbtl7kefeqxxx ~]# useradd usera1 [root@iZrj9gqbtl7kefeqxxx ~]# su - usera1 [usera1@iZrj9gqbtl7kefeqxxx ~]$ id uid=1004(usera1) gid=1004(usera1) groups=1004(usera1) -
Sebagai pengguna lokal baru, dapatkan tiket Kerberos untuk pengguna AD.
kinit administrator@EXAMPLE-COMPANY.COM klistuser1@iZrj9gqbtl7xxx :~$ kinit administrator@EXAMPLE-COMPANY.COM Password for administrator@EXAMPLE-COMPANY.COM: user1@iZrj9gqbtl7xxx :~$ klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: administrator@EXAMPLE-COMPANY.COM Valid starting Expires Service principal 09/08/2021 05:47:53 09/08/2021 15:47:53 krbtgt/EXAMPLE-COMPANY.COM@EXAMPLE-COMPANY.COM renew until 09/09/2021 05:47:49 user1@iZrj9gqbtl7xxx :~$
-
-
Pasang sistem file SMB.
-
Instal alat pemasangan yang diperlukan.
-
Ubuntu
sudo apt-get install keyutils cifs-utils -
CentOS
sudo yum install keyutils cifs-utils
-
-
Jalankan perintah berikut untuk memasang sistem file.
sudo mount -t cifs //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare /mnt -o vers=2.1,sec=krb5,cruid=1004,uid=1004,gid=1004 --verboseGanti
205dee4****-uub48.us-west-1.nas.aliyuncs.comdengan alamat titik pemasangan sistem file Anda.CatatanJika Anda memilih Enable Encryption in Transit di Konsol NAS, Anda harus menggunakan opsi vers=3.0 untuk memasang sistem file.
-
-
Konfigurasikan pemasangan otomatis.
Untuk memasang sistem file secara otomatis setelah klien Linux di-restart, konfigurasikan pemasangan otomatis.
-
Dalam file konfigurasi /etc/auto.master, tambahkan baris berikut:
/share /etc/auto.cifs --timeout=30 --ghost -
Ubah file konfigurasi /etc/auto.cifs seperti pada contoh berikut:
* -fstype=cifs,vers=2.1,sec=krb5,cruid=${UID},uid=${UID},gid=${GID},file_mode=0700,dir_mode=0700 ://205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/&Daftar berikut menjelaskan parameter utama. Ganti nilainya dengan informasi aktual Anda.
-
cruiddanuid: ID pengguna lokalusera1. -
gid: ID grup pengguna lokalusera1. -
205dee4****-uub48.us-west-1.nas.aliyuncs.com: Alamat titik pemasangan.Di Konsol NAS, buka halaman File System List. Temukan sistem file Anda dan klik ikon
. Di daftar yang muncul, temukan kolom Mount Target dan arahkan kursor ke ikon
untuk mendapatkan alamat titik pemasangan.
-
-
Restart layanan autofs.
systemctl restart autofs.service -
Verifikasi konfigurasi pemasangan otomatis.
Sebagai contoh, Anda membuat direktori //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1 dan memberikan izin penuh kepada pengguna
usera1.Setelah Anda login sebagai pengguna domain AD, jalankan perintah
ls /share/usera1. Jika isi direktoriusera1dalam sistem file SMB ditampilkan, konfigurasi pemasangan otomatis telah berhasil.
-
Mengelola ACL SMB dengan cifsacl
Gunakan perintah getcifsacl dan setcifsacl untuk mengelola ACL untuk sistem file SMB.
getcifsacl usera1/
usera1@example-company.com@myubuntu:/mnt$ getcifsacl usera1/
REVISION:0x1
CONTROL:0x8404
OWNER:S-1-5-21-2849381876-3817135681-4198507328-1107
GROUP:S-1-5-21-2849381876-3817135681-4198507328-513
ACL:S-1-5-21-2849381876-3817135681-4198507328-1107:ALLOWED/I/FULL
ACL:S-1-3-0:ALLOWED/OI|CI|IO|I/FULL
ACL:S-1-5-18:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-32-544:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-512:ALLOWED/OI|CI|I/FULL
sudo setcifsacl -a "ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL" usera1/
usera1@example-company.com@myubuntu:/mnt$ sudo setcifsacl -a "ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL" usera1/
usera1@example-company.com@myubuntu:/mnt$ getcifsacl usera1
REVISION:0x1
CONTROL:0x8004
OWNER:S-1-5-21-2849381876-3817135681-4198507328-1107
GROUP:S-1-5-21-2849381876-3817135681-4198507328-513
ACL:S-1-5-21-2849381876-3817135681-4198507328-1107:ALLOWED/I/FULL
ACL:S-1-3-0:ALLOWED/OI|CI|IO|I/FULL
ACL:S-1-5-18:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-32-544:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-512:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL
usera1@example-company.com@myubuntu:/mnt$