GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menemukan semua file dan direktori yang dapat ditulis oleh pengguna tertentu?

Solusi 1:

Gunakan perintah 'find' jika Anda telah menginstal findutils versi 4.3.0 atau yang lebih baru:

Untuk semua file di bawah direktori saat ini yang dapat ditulis oleh pengguna saat ini:

find . -writable

Untuk semua file di bawah direktori saat ini yang tidak dapat ditulis oleh pengguna saat ini:

find . ! -writable

Menurut halaman manual:

Pengujian ini menggunakan panggilan sistem access(2), sehingga dapat diakali oleh server NFS yang melakukan pemetaan UID (atau root-squashing), karena banyak sistem yang menerapkan akses(2) di kernel klien sehingga tidak dapat menggunakan pemetaan UID informasi yang disimpan di server.

Solusi 2:

Anda dapat membuat skrip Perl (writable.pl ) seperti ini:

#!/usr/bin/perl

use strict;

sub recurse {
  my $path = shift;
  my @files = glob "$path/{*,.*}";
  for my $file (@files) {
    if (-d $file) {
      if ($file !~ /\/\.$/ && $file !~ /\/\.\.$/) {
        recurse($file);
      }
    } else {
      print "$file\n" if -w $file;
    }
  }
}

print "Writable files for " . getlogin() . "\n";
recurse($ARGV[0]);

lalu gunakan skrip ini, sebagai root, sebagai berikut:

su USERNAME -c "./writable.pl DIRECTORY"

isikan USERNAME dan DIRECTORY sebagaimana mestinya.

Solusi 3:

Perintah ini akan menemukan semua direktori yang dapat ditulisi, Anda dapat mengubah izin sesuai keinginan Anda:

find / -type d \( -perm -g+w -or -perm -o+w \) -exec ls -adl {} \;

Linux
  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  3. Cara mendaftar semua file dan direktori secara rekursif

  1. Cara Mengetahui Direktori dan File Teratas (Ruang Disk) di Linux

  2. Bagaimana Menemukan Semua File yang Dimiliki oleh Pengguna Tertentu di Unix/Linux?

  3. Bagaimana cara menemukan semua file yang berisi teks tertentu di Linux?

  1. Cara Menemukan dan Menghapus Direktori dan File Kosong di Unix

  2. Bagaimana cara mencari direktori dan menemukan file yang cocok dengan regex?

  3. Bagaimana menemukan / mendaftar semua file unik di dua direktori?