私は非常に少数の開発者が使用しているWebサーバーを持っています。ホームページをwebsite
使用中です。他のユーザーはuser1
「user2
しばらくお待ちください。 sudoアクセス権を付与しましたuser1
。user2
..アクセスできますwebsite
。
今私が経験している問題は、website
一部のスクリプトが直接読み込みを許可していないため、ユーザーがスクリプトをコピーできないことですusers
。 sudo cpを使用しようとすると、ディレクトリへの書き込み権限がwebsite
ないため失敗します。users
一部のセキュリティシーズンのため、ファイル権限を変更したくありません。 tarを使ってこれを行うことができることをどこかで見ましたが、それは理解できませんでした。
誰でも助けることができますか?
ありがとうございます!
答え1
user1
次のようなことができます
sudo -u website cat ~website/somefile > ~user1/somefile
~user1/somefile
shell() は、それを実行するユーザーによって最初に作成され、user1
次cat
のように実行されます。website
複数のファイルに対して同じ方法で tar(1) を使用できます。
sudo -u website tar cf - ~website/foo ~website/bar | tar xf -
彼のディレクトリで実行すると、user1
標準出力にtarアーカイブが「生成」され、別website
のtar(sudoがないため、シェルを実行するユーザーと同じユーザーとして実行、つまりuser1
)はそのダミーtarファイルを現在のディレクトリ()に書き込むことができますuser1
。
修正するtarはファイルにリンクするサブディレクトリを作成するため、-C
tarが起動する前に指定されたディレクトリに移動するように指定することでこの動作を減らすことができます。
sudo -u website tar -C ~website -cf - foo bar | tar xf -
このようにして、 foo
はbar
先行サブディレクトリなしで現在のディレクトリに作成されます(ただし、追加された場合は下のサブディレクトリとしてblah/baz
作成されます)。blah
baz