Sudo nautilus
を使用して、いくつかのフォルダーを作成し、それらのルート権限を削除したい。しかし、私はたくさんあり、ディレクトリ全体とその中のフォルダにそれをしたいです。
では、現在のユーザーに、家の中にある特定のディレクトリ内のすべてのファイルとフォルダに対する読み取り/書き込みを許可するにはどうすればよいでしょうか?
Sudo nautilus
を使用して行われた損害を元に戻すには、rootが所有するディレクトリ(およびそのコンテンツ)の所有者になります。
特定のユーザーが所有するファイルのみを検索するテストがあるため、find
を使用してこれを行うことができます。
これにより、ルートが所有するホーム内のすべてのディレクトリが検索されます。
Sudo find ~ -type d -user root
その後、find
コマンドを繰り返して、必要なアクションを追加します。見つかったすべてのディレクトリとそのコンテンツの所有権を現在のユーザーに再帰的に変更します。
Sudo find ~ -type d -user root -exec Sudo chown -R $USER: {} +
~
ホームディレクトリ-type d
ディレクトリのみを検索-user root
ルートに属するもののみを検索-exec
見つかったものに対して次のコマンドを実行しますSudo chown -R
所有者を再帰的に変更します$USER
現在のユーザー:
もグループを特定のユーザーに変更しますより効率的には、-type d
を省略してルートに属する任意のタイプのファイルを検索し、find
がすべてのファイルに作用して再帰を行うため、-R
も省略できます。
Sudo find ~ -user root -exec Sudo chown $USER: {} +
nautilus
as root
のようなGUIツールを実行することは、特にこの理由で有害と見なされます(隠された機能、どこで誰がプログラムを断片的に実行するかなど)。
「許可」の問題はなく、「所有権」の問題があります。
root
(実際には他の誰かが所有)が所有するすべてのファイルを見つけるには、次のようにします。
Sudo find $HOME \! -user $USER
所有権を元に戻すには、次のようにします
Sudo chown -R $(id -u):$(id -g) $HOME
ただし、$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
非所有者が所有するファイルのリストを調整する機会を提供します。所有者は所有者を変更します。
必要なのは、フォルダの所有権をユーザー(およびグループ)rootから他のユーザー(およびグループ)に変更することです。
/ home/randomFolderで作業し、所有権を処理するユーザーはvitor-abellaであると想像してください。ルート:
chown -R vitor-abella:vitor-abella /home/randomFolder
多くのファイルとサブフォルダーがある場合は時間がかかる場合がありますが、その後は順調に進んでください。
乾杯。