web-dev-qa-db-ja.com

UNIX-他のユーザーにユーザー権限を与えるにはどうすればよいので、Sudoやパスワードを入力する必要はありませんか?

問題のユーザーが2人います

•• git user-gitosisに使用されます-したがって、パスワードなしのユーザーであり、rootを介してのみアクセスできます...

•• ユーザー ユーザー-私のファイルが存在する場所

だから私がしたいのはユーザーに与えることです git このようなluddicoフォルダに移動する権利

[email protected]:~/respositories# cd /home/user/websites/domain.com

次に、ユーザー内で任意のアクションを実行します ユーザー ファイル(任意のファイル/フォルダー)なので、たとえばこの方法で

[email protected]:/home/user/websites/domain.com#  git pull

実際には上記のアクションが返されるため、次のようになります。

error: cannot open .git/FETCH_HEAD: Permission denied

そのため、このようなアクションを要求すると、ところでないgitのパスワードを要求するか、すぐにキャンセルします

どうすればユーザーを構成できますか git ユーザーに対して同様のroot/admin権限を持つ ユーザー コマンドの前にパスワードやSudoを入力する必要はありませんか?ルートだったかのように

  • からの特定のコマンドを許可する方法があればさらに良いでしょう git に ユーザー

前もって感謝します

5
zanona

リクエストに応じて、グループに関するチュートリアルを少し行います。うまくいけば、これはあまり初歩的ではありません。

デフォルトでは、ほとんどのユーザーアカウントも同じ名前のグループの一部です。アカウントがメンバーになっているグループを確認するには、groupsコマンドを使用します。

# groups root
root : root bin daemon sys adm disk wheel

最初にリストされているのはプライマリグループであり、ユーザーが作成するファイルのデフォルトのグループ所有者になります。これは、lsの出力に2番目の「root」エントリとしてリストされています。

# touch testfile
# ls -l testfile
-rw-r--r--  1 root root 19 Jan 29 08:37 testfile

グループにユーザーを追加するには、図のようにusermodを使用します。指定した小文字の「-g」フラグは、プライマリグループを変更します。 「-G」および「-a」フラグを使用して、セカンダリのものだけを変更する方がよい場合があります。つまり、gitユーザーをluddicoのグループに入れることです。

# usermod -G luddico -a git
# groups git
git : git luddico

これにより、luddicoグループが所有し、適切なグループ権限を持つすべてのファイルにgitアクセスできるようになります。グループのアクセス許可は、lsにリストされている2番目の「rwx」セットです。上に示したテストファイルでは、ルートグループによる読み取りアクセスのみが許可されています。そのグループのすべてのメンバーに書き込みアクセス権を付与したい場合は、chmodを使用する必要があります。

# ls -l testfile
-rw-r--r--  1 root root 19 Jan 29 08:37 testfile
# chmod g+w testfile
# ls -l testfile
-rw-rw-r--  1 root root 19 Jan 29 08:37 testfile

これで、ルートグループの誰もがテストファイルの読み取りまたは書き込みを行うことができます。 Luddicoのファイルにも同じ概念を適用します。

5

ユーザー(例のgitなど)に別のユーザーのスペースへのアクセスを許可する場合は、それらを同じグループに配置し、それに応じてグループ権限を設定します。

より複雑なアクセス制御リスト機能が必要な場合は、getfacl(1)およびsetfacl(1)によって提供されるPOSIXACLを調べる必要があります。

3
dotplus