0

以前は共有アカウントを1つしか持っていなかった開発ワークステーションをセットアップして、それを使用している可能性のある各開発者のアカウントを作成しています。

通常、ワークステーションを切り替えます。特定のディレクトリをすべてのユーザーが透過的に「共有」したいと思います。

/ usr / local / share/workspaceおよび/usr/ local / share / rvmディレクトリを作成しました。これらは〜/ worksheetおよび〜/.rvmにシンボリックリンクされています。

ディレクトリ内に作成されたサブディレクトリ/ファイルも、デフォルトですべての開発者が書き込み可能である必要があります(sudoを使用する必要はありません)。また、rvmディレクトリがパス上にあるため、rubyから警告が表示されるため、ディレクトリを誰でも書き込み可能に設定しないことをお勧めします(ただし、セキュリティへの影響は気にしません)。

どうすればよいですか?グッドプラクティスの概要を説明するリソースはありますか?

4

2 に答える 2

1

含まれているすべてのファイル/ディレクトリは、すべてのユーザーが所属するグループによって所有されていると想定して/usr/local/share/workspaceいます。それが当てはまる場合は、setgidとgroup executeビットをすべてのディレクトリに適用し、すべてのファイルとディレクトリのグループ書き込みビット:

find /usr/local/share/workspace -type d -exec chmod +s {} \;
chmod -R g+wX /usr/local/share/workspace

setgidビットは、ディレクトリに適用されると、次のことを意味します。

  • ディレクトリに作成されたすべてのファイルとディレクトリのグループ所有権は、デフォルトでディレクトリの所有者になります。
  • ディレクトリに作成されたすべてのディレクトリにもsetgidビットが設定されるため、これは新しいディレクトリにも有効です。(つまり、このビットは新しいディレクトリに自動的に再帰的に適用されます。)

ユーザーは、他のグループメンバーへの書き込みアクセスを許可するumaskも提供する必要があります。umask 002だから彼らは彼らのに何かを入れるべき~/.profileです。そうでない場合、それらが作成するファイルまたはディレクトリは、他のグループメンバーによって書き込み可能ではない可能性があります。

于 2011-01-05T00:07:21.423 に答える
1

単一のワークステーションでディレクトリを共有する場合は、関連するすべてのユーザーをグループに入れ(manaddgroupおよび/etc / groupを参照)、ディレクトリツリーで「chgrp-Ryourgroupyourdir」を実行します。書き込み権限を与えるには、「chmod -R g+wyourdir」を実行します。

異なるコンピューター間で共有したい場合は、NFSを使用できます。たとえば、このHOWTOを参照してください。

于 2011-01-05T00:06:45.380 に答える