GNU/Linux >> Znalost Linux >  >> Linux

Jak najdu všechny soubory a adresáře, do kterých lze zapisovat konkrétním uživatelem?

Řešení 1:

Pokud máte nainstalovaný findutils verze 4.3.0 nebo vyšší, použijte příkaz 'find':

Pro všechny soubory v aktuálním adresáři, do kterých může aktuální uživatel zapisovat:

find . -writable

Pro všechny soubory v aktuálním adresáři, do kterých nemůže aktuální uživatel zapisovat:

find . ! -writable

Podle manuálové stránky:

Tento test využívá systémové volání access(2), a tak může být oklamán servery NFS, které provádějí mapování UID (orroot-squashing), protože mnoho systémů implementuje přístup(2) v jádře klienta, a tak nemůže využít mapování UID. informace uložené na serveru.

Řešení 2:

Můžete vytvořit skript v Perlu (writable.pl ) takto:

#!/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]);

a poté použijte tento skript jako root následovně:

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

vyplňte USERNAME a DIRECTORY podle potřeby.

Řešení 3:

Tento příkaz by měl najít všechny zapisovatelné adresáře, oprávnění můžete změnit, jak uznáte za vhodné:

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

Linux
  1. Jak najít všechny soubory vlastněné konkrétním uživatelem v Unixu/Linuxu?

  2. Jak najít a odstranit prázdné adresáře a soubory v Linuxu

  3. Jak rekurzivně vypsat všechny soubory a adresáře

  1. Jak zjistit nejlepší adresáře a soubory (místo na disku) v Linuxu

  2. Jak v Linuxu najdu všechny soubory obsahující konkrétní text?

  3. Jak prohledám adresáře a najdu soubory, které odpovídají regulárnímu výrazu?

  1. Najděte soubory a adresáře v Linuxu jako profík

  2. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  3. Jak najít a odstranit prázdné adresáře a soubory v Unixu