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

Linuxの特定のディレクトリのユーザーに読み取り/書き込みアクセスを割り当てる

前回の記事では、Linuxで共有ディレクトリを作成する方法を紹介しました。ここでは、Linuxの特定のディレクトリにいるユーザーに読み取り/書き込みアクセスを許可する方法について説明します。

これを行うには、2つの方法があります。1つはACL(アクセス制御リスト)を使用する方法、もう1つはファイルのアクセス許可を管理するユーザーグループを作成する方法です。

このチュートリアルでは、次の設定を使用します。

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

すべてのコマンドがrootユーザーとして実行されていることを確認するか、同等の権限でsudoコマンドを使用してください。

reportsというディレクトリを作成することから始めましょう mkdirを使用する コマンド:

# mkdir -p /shares/project1/reports   				

ACLを使用してディレクトリ上のユーザーに読み取り/書き込みアクセスを許可する

重要 :この方法を使用するには、Linuxファイルシステムタイプ(Ext3およびExt4、NTFS、BTRFSなど)がACLをサポートしていることを確認してください。

1。 まず、システムの現在のファイルシステムタイプを確認し、カーネルがACLをサポートしているかどうかを次のように確認します。

# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
# grep -i acl /boot/config*

以下のスクリーンショットから、ファイルシステムタイプは Ext4です。 カーネルはPOSIXACLをサポートしています CONFIG_EXT4_FS_POSIX_ACL =yで示されるように オプション。

2。 次に、ファイルシステム(パーティション)が ACLでマウントされているかどうかを確認します オプションかどうか:

# tune2fs -l /dev/sda1 | grep acl

上記の出力から、デフォルトのマウントオプションがすでに ACLをサポートしていることがわかります。 。有効になっていない場合は、特定のパーティション( / dev / sda3 )に対して有効にできます。 この場合):

# mount -o remount,acl /
# tune2fs -o acl /dev/sda3

3。 次に、読み取り/書き込みアクセスをユーザーtecmintに割り当てます。 reportsという特定のディレクトリに移動します 次のコマンドを実行します。

# getfacl /shares/project1/reports       		  # Check the default ACL settings for the directory 
# setfacl -m user:tecmint:rw /shares/project1/reports     # Give rw access to user tecmint 
# getfacl /shares/project1/reports    			  # Check new ACL settings for the directory

上のスクリーンショットでは、ユーザーtecmint ディレクトリ/shares / project1 / reports に対する読み取り/書き込み(rw)権限が付与されました 2番目のgetfaclの出力からわかるように コマンド。

ACLリストの詳細については、次のガイドをご覧ください。

  1. ACL(アクセス制御リスト)を使用してユーザー/グループのディスククォータを設定する方法
  2. ACL(アクセス制御リスト)を使用してネットワーク共有をマウントする方法

次に、ディレクトリへの読み取り/書き込みアクセスを割り当てる2番目の方法を見てみましょう。

グループを使用してディレクトリ上のユーザーに読み取り/書き込みアクセスを許可する

1。 ユーザーがすでにデフォルトのユーザーグループ(通常はユーザー名と同じ名前)を持っている場合は、ディレクトリのグループ所有者を変更するだけです。

# chgrp tecmint /shares/project1/reports

または、次のように、複数のユーザー(特定のディレクトリに対する読み取り/書き込み権限が付与される)用の新しいグループを作成します。ただし、これにより共有ディレクトリが作成されます:

# groupadd projects

2。 次に、ユーザーtecmintを追加します グループprojects 次のように:

# usermod -aG projects tecmint	    # add user to projects
# groups tecmint	            # check users groups

3。 ディレクトリのグループ所有者をプロジェクトに変更します:

# chgrp	projects /shares/project1/reports

4。 次に、グループメンバーの読み取り/書き込みアクセスを設定します。

# chmod -R 0760 /shares/projects/reports
# ls  -l /shares/projects/	    #check new permissions

それでおしまい!このチュートリアルでは、Linuxの特定のディレクトリにいるユーザーに読み取り/書き込みアクセスを許可する方法を示しました。問題がある場合は、下のコメントセクションから質問してください。


Linux
  1. Linuxで特定のディレクトリまたは別のディレクトリにtarファイルを抽出する方法

  2. Linuxでホームディレクトリのユーザーアカウントを削除する方法

  3. sudoを使用してLinuxサーバー上のユーザーにrootアクセスを割り当てる方法

  1. 特定のサブフォルダ内のすべてのファイルへの読み取り専用アクセス?

  2. UNIX / Linux:ファイルとディレクトリのパーミッションの初心者向けガイド ( umask、chmod、read、write、execute )

  3. Linux で特定のユーザーに対して特定のコマンドを無効にする方法

  1. Linuxでuseraddを使用してユーザーを管理する方法

  2. Linux –実行対読み取りビット。 Linuxのディレクトリ権限はどのように機能しますか?

  3. Linux のファイル権限 – 読み取り/書き込み/実行