Bagaimana cara mengubah pemilik menjadi pengguna saat ini di folder dan berisi folder di dalam direktori home saya?
12
Menggunakan sudo nautilussaya membuat beberapa folder dan saya ingin menyingkirkan izin root pada mereka. Tapi saya punya banyak dan saya ingin melakukannya ke seluruh direktori dan folder-foldernya.
Jadi bagaimana mengizinkan baca / tulis untuk pengguna saat ini untuk semua file dan folder di dalam direktori tertentu yang ada di dalam rumah?
Untuk mengembalikan kerusakan yang dilakukan menggunakan sudo nautilusAnda harus menjadikan diri Anda sendiri pemilik direktori (dan isinya) yang dimiliki oleh root.
Anda dapat menggunakannya finduntuk melakukan ini, karena memiliki tes untuk menemukan hanya file yang dimiliki oleh pengguna tertentu.
Ini akan menemukan semua direktori di rumah Anda yang dimiliki oleh root:
sudo find ~ -type d -user root
Anda kemudian dapat mengulangi findperintah dan menambahkan tindakan yang ingin Anda lakukan - mengubah kepemilikan semua direktori yang ditemukan dan isinya secara rekursif kepada pengguna saat ini:
-exec lakukan perintah berikut pada apa pun yang ditemukan
sudo chown -R ganti pemilik secara rekursif
$USER pengguna saat ini
: juga ubah grup menjadi pengguna tertentu
Lebih efisien, Anda bisa menghilangkan -type duntuk menemukan file dari jenis apa pun milik root, dan juga menghilangkan -Rkarena findakan melakukan rekursi untuk Anda dengan bertindak pada semua file
Anda harus menjalankan findwith sudo( sudo find ...) untuk memeriksa rootsubdirektori yang dimiliki dengan 0700perlindungan, dan semua yang ada di bawahnya. Ditto untuk perbaikan.
waltinator
"bertahan melawan apa yang mungkin" atau "bertahan melawan apa yang mungkin"? Pilihanmu.
waltinator
@waltinator tentu :) terima kasih sudah menyebutkannya sehingga saya bisa meningkatkan. Saya hanya mencoba untuk tidak menggunakan sudosampai diperlukan
Zanna
10
Menjalankan alat GUI, seperti nautilussebagai rootyang Dianggap Berbahaya untuk alasan ini, antara lain (fungsi tersembunyi, kemampuan untuk fragmen program yang dijalankan diam-diam dari siapa yang tahu di mana, ...).
Anda tidak memiliki masalah "izin", Anda memiliki masalah "kepemilikan".
Untuk menemukan semua file yang dimiliki oleh root(benar-benar dimiliki oleh orang lain), lakukan:
sudo find $HOME \! -user $USER
Untuk mengubah kepemilikan kembali kepada Anda, Anda bisa
sudo chown -R $(id -u):$(id -g) $HOME
tapi itu akan mengubah kepemilikan semua file di dalam dan di bawah $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Memberi Anda satu kesempatan untuk menyesuaikan daftar file, yang dimiliki oleh bukan-Anda, yang kepemilikannya akan diubah kembali kepada Anda.
Yang perlu Anda lakukan adalah mengubah kepemilikan folder dari root pengguna (dan grup) menjadi pengguna lain (dan grup) yang Anda inginkan.
Bayangkan Anda ingin bekerja di / home / randomFolder , dan bahwa pengguna yang ingin Anda tangani kepemilikannya adalah vitor-abella , yang perlu Anda lakukan hanyalah menjalankan ini sebagai root:
find
withsudo
(sudo find ...
) untuk memeriksaroot
subdirektori yang dimiliki dengan0700
perlindungan, dan semua yang ada di bawahnya. Ditto untuk perbaikan.sudo
sampai diperlukanMenjalankan alat GUI, seperti
nautilus
sebagairoot
yang Dianggap Berbahaya untuk alasan ini, antara lain (fungsi tersembunyi, kemampuan untuk fragmen program yang dijalankan diam-diam dari siapa yang tahu di mana, ...).Anda tidak memiliki masalah "izin", Anda memiliki masalah "kepemilikan".
Untuk menemukan semua file yang dimiliki oleh
root
(benar-benar dimiliki oleh orang lain), lakukan:Untuk mengubah kepemilikan kembali kepada Anda, Anda bisa
tapi itu akan mengubah kepemilikan semua file di dalam dan di bawah
$HOME
Memberi Anda satu kesempatan untuk menyesuaikan daftar file, yang dimiliki oleh bukan-Anda, yang kepemilikannya akan diubah kembali kepada Anda.
sumber
Yang perlu Anda lakukan adalah mengubah kepemilikan folder dari root pengguna (dan grup) menjadi pengguna lain (dan grup) yang Anda inginkan.
Bayangkan Anda ingin bekerja di / home / randomFolder , dan bahwa pengguna yang ingin Anda tangani kepemilikannya adalah vitor-abella , yang perlu Anda lakukan hanyalah menjalankan ini sebagai root:
Mungkin perlu beberapa saat jika ada banyak file dan subfolder, tetapi setelah itu Anda harus berada di jalur.
Bersulang.
sumber
$(id -u):$(id -g)
, daripada meminta OP untuk membayangkan, dan$HOME/randomFolder
.