GNU/Linux >> Linux の 問題 >  >> Linux

特定のユーザーが書き込み可能なすべてのファイルとディレクトリを見つけるにはどうすればよいですか?

解決策 1:

findutils バージョン 4.3.0 以降がインストールされている場合は、「find」コマンドを使用してください:

現在のユーザーが書き込み可能な現在のディレクトリの下のすべてのファイル:

find . -writable

現在のユーザーが書き込みできない、現在のディレクトリの下のすべてのファイル:

find . ! -writable

マニュアルページによると:

<ブロック引用>

多くのシステムは access(2) をクライアントのカーネルに実装しており、UID マッピングを利用できないため、このテストは access(2) システム コールを利用するため、UID マッピング (またはルート スカッシュ) を行う NFS サーバーにだまされる可能性があります。サーバーに保持されている情報。

解決策 2:

Perl スクリプトを作成できます (writable.pl ) のように:

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

次に、このスクリプトを root として次のように使用します:

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

USERNAME を埋める そして DIRECTORY

解決策 3:

このコマンドは、書き込み可能なすべてのディレクトリを見つける必要があります。必要に応じてアクセス許可を変更できます。

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

Linux
  1. Unix / Linuxで特定のユーザーが所有するすべてのファイルを見つける方法は?

  2. Linux で空のディレクトリとファイルを見つけて削除する方法

  3. すべてのファイルとディレクトリを再帰的に一覧表示する方法

  1. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?

  2. ディレクトリを検索し、正規表現に一致するファイルを見つけるにはどうすればよいですか?

  3. 2 つのディレクトリにまたがるすべての一意のファイルを検索/一覧表示する方法は?

  1. Linuxでトップディレクトリとファイル(ディスク容量)を見つける方法

  2. プロのようにLinuxでファイルとディレクトリを探す

  3. Linux ですべての空のファイルとディレクトリを再帰的に削除するにはどうすればよいですか?