user1
2つのアカウントがありますuser2
。私user1
は/home/user1/Documents/フォルダへのrwxアクセス権を共有して付与したいと思いますuser2
。そのために、私はという新しいグループを作成しましたsharedDocs
。以下は、順番に実行するコマンドです。
groupadd sharedDocs
usermod -aG share user1
usermod -aG share user2
chgrp -R sharedDocs /home/user1/Documents
sudo chmod -R g+rwX /home/user1/Documents
ここからuser2に切り替えてドキュメントにアクセスします。su
更新してください。
su user2
user2: touch 1.txt
su
このコマンドは、以前にフォルダにあった場合に機能します/home/user1/Documents
。ただし、次のコマンドは機能しないため、ディレクトリを離れるとそのディレクトリに戻ることはできません。
user2: touch /home/user1/Documents/1.txt
touch: cannot touch '/home/user1/Documents/1.txt': Permission denied
user2: cd /home/user1/Documents/
bash: cd: /home/user1/Documents: Permission denied
私は次の2つのガイドに従いました。
答え1
このフォルダーとその中のすべてのサブフォルダーに入ったり/home/user1/
、その中のすべてのファイルにアクセスしたりするには、実行権限が必要です。
デフォルトでは、Linuxはユーザーのホームフォルダを750
、またはに設定しますrwxr-x---
。これは、フォルダの所有者ではないか、フォルダが属するグループに属するユーザーがフォルダに入ることができないことを意味します。
user1のホームディレクトリにあるサブフォルダやファイルに対する権限を持つだけでは不十分であり、そのディレクトリにあるオブジェクトを取得するためにそのディレクトリに移動またはそれを通過する権限も必要です。
ファイルに対する実行権限はファイルを実行する権限を提供し(スクリプトまたはアプリケーションの場合)、ディレクトリに対する実行権限はディレクトリに入るか、ディレクトリを介してその中のファイルとフォルダにアクセスする権限を提供します。します。
user2
所有者をグループに配置するか、コマンドを/home/user1
使用して追加の権限を設定し、そのユーザーにフォルダにアクセスしてアクセスできるように実行権限を付与できます。setfacl
user2
/home/user1
/home/user1/Documents
これはuser2に/home/user1に対する実行権限を与えます。
setfacl -m user2:x /home/user1/
getfacl
その後、次のコマンドを使用してフォルダのaclルールを表示できます。
getfacl /home/user1
ディレクトリの場合、読み取り権限は、ユーザーがディレクトリの内容を表示できることを意味します。書き込み権限は、ユーザーがディレクトリにファイルまたはフォルダを作成できることを意味します。実行権限は、ユーザーがディレクトリに入ることができることを意味します。