他ユーザにロックされたファイル(rcs)

他ユーザがロック中のファイルは、チェックアウトできないことを確認します。

確認用に/tmpの下を使うことにします。

takk@deb9:~$ ls -ld /tmp
drwxrwxrwt 14 root root 4096 10月 11 21:09 /tmp
takk@deb9:~$

共通ディレクトリを作り、RCSディレクトリを準備。

takk@deb9:~$ mkdir /tmp/test
takk@deb9:~$ cd /tmp/test
takk@deb9:/tmp/test$ ls
takk@deb9:/tmp/test$ mkdir RCS
takk@deb9:/tmp/test$

適当にファイルを作ります。

takk@deb9:/tmp/test$ cat file1.c
HELLO 1
takk@deb9:/tmp/test$ rcs -i file1.c
RCS file: RCS/file1.c,v
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> new file
>> .
done
takk@deb9:/tmp/test$

それをチェックイン。

takk@deb9:/tmp/test$ ci file1.c
RCS/file1.c,v  <--  file1.c
initial revision: 1.1
done
takk@deb9:/tmp/test$

RCSディレクトリだけになりました。

takk@deb9:/tmp/test$ ls
RCS
takk@deb9:/tmp/test$

グループに書き込み権限を与えます。

takk@deb9:/tmp/test$ ls -ld RCS
drwxr-xr-x 2 takk takk 4096 10月 11 21:27 RCS
takk@deb9:/tmp/test$ chmod 775 RCS
takk@deb9:/tmp/test$

書き込み可能になりました。

takk@deb9:/tmp/test$ ls -ld RCS
drwxrwxr-x 2 takk takk 4096 10月 11 21:27 RCS
takk@deb9:/tmp/test$

グループを同じにして新ユーザを作ります。

takk@deb9:/tmp/test$ sudo useradd -g takk takk2
takk@deb9:/tmp/test$

忘れてましたが、ワーク用のディレクトリもグループで書き込めるようにしておきます。

takk@deb9:/tmp/test$ chmod 775 /tmp/test
takk@deb9:/tmp/test$

新ユーザtakk2のパスワードを設定したら、ユーザ切替。

takk@deb9:/tmp/test$ sudo passwd takk2
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
takk@deb9:/tmp/test$ su - takk2
パスワード:
ディレクトリがありません。HOME=/ としてログインします
$ cd /tmp/test
$

さて、takk2でファイルをチェックアウトしましょう。

$ pwd
/tmp/test
$ co -l file1.c
RCS/file1.c,v  -->  file1.c
revision 1.1 (locked)
done
$ rm file1.c
$

チェックアウトしたらファイルは削除します。

元のユーザに戻って、チェックアウトを試みます。

$ exit
takk@deb9:/tmp/test$ co -l file1.c
RCS/file1.c,v  -->  file1.c
co: RCS/file1.c,v: Revision 1.1 is already locked by takk2.
takk@deb9:/tmp/test$ ls
RCS
takk@deb9:/tmp/test$

takk2によりファイルがロックされているので、チェックアウトできませんでした。
他ユーザによるロックの確認ができましたね。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA