あるユーザーが別のユーザーが所有するディレクトリにファイルをコピーするシェルスクリプト

あるユーザーが別のユーザーが所有するディレクトリにファイルをコピーするシェルスクリプト

user1:user1Unixには2人のユーザーとグループがありますuser2:user2

myDirectory次の詳細を含むディレクトリがあります(ls -ltr)。

drwxr-xr-x.  4 user2 user2   35 Apr 27 10:16 myDirectory

今、私はmyScript.sh次のスクリプトを実行していますuser1

#!/bin/sh

whoami

if [ -f /myDirectory/*.tar.gz ]
then
    rm -f /myDirectory/*.tar.gz
fi

cp -f someDirectory/*.tar.gz /myDirectory/

ただし、次のエラーが発生します。

cp: cannot create regular file ‘/myDirectory/myTar.tar.gz’: Permission denied

私は何が間違っていましたか?この問題をどのように解決できますか?

ベストアンサー1

これを行うには、グループ権限を使用できます。ユーザーグループを作成し、2人のユーザーを追加し、ターゲットディレクトリのグループ所有権を変更する必要があります。まず、グループを作成します。

groupadd newusergroup

次に、ユーザーを追加します。

usermod -G newusergroup user1
usermod -G newusergroup user2

次に、ターゲットディレクトリの権限を変更します。

chgrp newusergroup /myDirectory

これは、両方のユーザーがディレクトリにアクセスできるようにしたいと仮定します。 user1にのみアクセス権を付与するには、次のように権限を変更します。

chown user1.user1 /myDirectory

おすすめ記事