{"id":66,"date":"2004-02-26T22:52:00","date_gmt":"2004-02-26T22:52:00","guid":{"rendered":"http:\/\/bitpost.com\/news\/?p=14"},"modified":"2006-04-26T16:07:28","modified_gmt":"2006-04-26T21:07:28","slug":"the-basics-2","status":"publish","type":"post","link":"https:\/\/bitpost.com\/news\/2004\/the-basics-2\/","title":{"rendered":"CVS Group Management"},"content":{"rendered":"<p>Here&#8217;s a brief example of managing multiple CVS groups, so you can have different groups doing development out of the same CVS repository.<!--more--><\/p>\n<p>In this example&#8230;<\/p>\n<p>&nbsp;&nbsp;&nbsp;the cvs_coders group is used to hold ALL cvs users<\/p>\n<p>&nbsp;&nbsp;&nbsp;wx_coders is a subgroup &#8211; a few members are allowed access to the projects under this group<\/p>\n<p>&nbsp;&nbsp;&nbsp;m is the user that controls the rest of the cvs repository<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>CVS GROUP PERMISSIONS<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>&nbsp;&nbsp;&nbsp;groupadd cvs_coders<\/p>\n<p>&nbsp;&nbsp;&nbsp;groupadd wx_coders<\/p>\n<p>&nbsp;&nbsp;&nbsp;pico \/etc\/group<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs_coders:x:513:m,corey<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx_coders:x:514:m,corey<\/p>\n<p>&nbsp;&nbsp;&nbsp;cd \/home\/m\/development<\/p>\n<p>&nbsp;&nbsp;&nbsp;chown -R m:m CVSROOT<\/p>\n<p>&nbsp;&nbsp;&nbsp;chgrp cvs_coders CVSROOT<\/p>\n<p>&nbsp;&nbsp;&nbsp;cd CVSROOT<\/p>\n<p>&nbsp;&nbsp;&nbsp;chgrp -R cvs_coders CVSROOT<\/p>\n<p>&nbsp;&nbsp;&nbsp;chgrp -R wx_coders wxHelloWorld<\/p>\n<p>&nbsp;&nbsp;&nbsp;chgrp -R wx_coders plucker<\/p>\n<p>&#8211;> New cvs users need&#8230;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a) a valid linux user (for ssh&#8217;ing into repository)<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b) this user must be added to the cvs_coders group<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-> edit \/etc\/group and add the user at the end of the cvs_coders line&#8230;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c) also add the user to the appropriate existing subgroups<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u00c2\u00a0 &#8211; for my personal stuff that isn&#8217;t shared<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx_coders&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8211; for Corey and my wxWindows project(s)<\/p>\n<p>&#8211;> To add a new subgroup&#8230;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a) &#8220;groupadd blah_coders&#8221;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b) add all users to it in \/etc\/group<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c) create module(s) as &#8220;m&#8221;, then change group to target subgroup<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd CVSROOT<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chgrp -R [newsubgroup] [newmodule]<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this example&#8230;<\/p>\n<p>&#038;nbsp&#038;nbsp&#038;nbspthe cvs_coders group is used to hold ALL cvs users<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspwx_coders is a subgroup &#8211; a few members are allowed access to the projects under this group<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspm is the user that controls the rest of the cvs repository<\/p>\n<p>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nCVS GROUP PERMISSIONS<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>&#038;nbsp&#038;nbsp&#038;nbspgroupadd cvs_coders<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspgroupadd wx_coders<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsppico \/etc\/group<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspcvs_coders:x:513:m,corey<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspwx_coders:x:514:m,corey<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspcd \/home\/m\/development<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspchown -R m:m CVSROOT<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspchgrp cvs_coders CVSROOT<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspcd CVSROOT<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspchgrp -R cvs_coders CVSROOT<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspchgrp -R wx_coders wxHelloWorld<br \/>\n&#038;nbsp&#038;nbsp&#038;nbspchgrp -R wx_coders plucker<\/p>\n<p>&#8211;> New cvs users need&#8230;<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspa) a valid linux user (for ssh&#8217;ing into repository)<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspb) this user must be added to the cvs_coders group <br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp-> edit \/etc\/group and add the user at the end of the cvs_coders line&#8230;<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspc) also add the user to the appropriate existing subgroups<\/p>\n<p>&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspm&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp  &#8211; for my personal stuff that isn&#8217;t shared<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspwx_coders&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp- for Corey and my wxWindows project(s)<\/p>\n<p>&#8211;> To add a new subgroup&#8230;<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspa) &#8220;groupadd blah_coders&#8221;<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspb) add all users to it in \/etc\/group<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspc) create module(s) as &#8220;m&#8221;, then change group to target subgroup<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspcd CVSROOT<br \/>\n&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbsp&#038;nbspchgrp -R [newsubgroup] [newmodule]<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[10],"tags":[],"class_list":["post-66","post","type-post","status-publish","format-standard","hentry","category-tricks-tips-tools"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9M11L-14","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/66","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":0,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}