⑴ 如何在linux下添加svn用户,svn有操作权限的用户
如果你的SVN服务器是架设在Apache上的话,就是采用Apache的用户管理方式,会有两个文专件,一个文件是存放属用户名和密码(使用htpasswd命令管理),另一个文件存放用户和组的权限描述(文本编辑方式管理)
⑵ linux svn权限设置时某个目录该用户为只读权限,但是在客户端还是可以checkout
只读权抄限本来就是允许读袭取啊,可以checkout、update,只是不能commit
你如果想禁止他checkout,应该设置为他无任何权限,比如在集成了Apache的SVN环境中,限制user1没有任何权限,就在权限文件对应的文件夹条目下写上:
user1 =
⑶ svn文件夹权限修改为无权后,同步时不删除该目录
如果你的SVN服务器的用户ID和权限管理是基于操作系统用户的,那么可以通过设置不同操作系统用户对各文件夹的权限来限制
如果你的SVN服务器的用户ID和权限管理是基于Apache的,那么只能考虑从钩子程序下手了,研究一下pre-commit这个钩子吧,这个钩子是在正式提交操作之前服务器端自动执行的,你可以编写这个钩子,在commit时检查是否删除文件夹,如果是则返回错误信息。虽然我没验证过,但理论上应该可以解决
⑷ linux centos6.5 svn权限设置无效
如果 api是一个项目的名称
[api:/]
⑸ linux系统上svn如何实现权限控制
在你的版本库中有个conf文件夹,在这里有你要编辑的文档来设置权限。
配置SVN
1、 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
mkdir –p /home/svn/repos
#类似可以创建 mkdir –p /home/svn/repos2 /home/svn/repos3
2、 建立svn版本库(与上面目录对应)
svnadmin create /home/svn/repos
执行此命令后svn自动在repos目录下添加必须的配置文件.
注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import命令将文件导入版本库.
此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
3、 修改版本库配置文件
vi /home/svn/repos/conf/svnserve.conf
各参数功能在配置文件的注释中有说明, 此处配置如下:
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件
realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
4、 配置用户
vi /home/svn/repos/conf/passwd
输入以下内容:
[users]
admin = admin
可以添加多个,此为用户名和密码。
5、 配置权限
vi /home/svn/repos/conf/authz
此配置文件设置各用户的授权。
包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
#对仓库repos根目录权限设置
[repos:/]
admin = rw
* = r
7、 启动服务
svnserve -d -r /home/svn/
⑹ linux配置SVN,添加用户,配置用户组的权限
用xshell登陆服务器,cd切换到服务器中svn的项目仓库目录中,然后切换到conf文件中(也可使用xftp),会看到3个文件,分别是
authz、passwd、svnserve.conf
首先编辑svnserve.conf主配置文件,主要是对以下几项修改
如果后面大家要用到组权限的话,大家看authz-db = authz 前面应该会有 # 号键,记得去掉,这样才能在下面分配组权限的时候,才能起作用。
建立svn用户以及密码:
配置组:
配置各个组权限:
保存修改后的svnserve.conf ,passwd,authz 三个文件
然后用下面的命令重启一下svn
查看svn进程:ps -ef | grep svn 或者 ps aux | grep svn
强制杀死进程:kill -9 进程号
重启svn(/home/svn为自己的目录地址):svnserve -d -r /home/svn
最后看看是不是成功了,可以在本地测试一下,看看账户是否可用,对应的权限是不是已经有了,不是该组的用户应该不能访问没有赋予权限的目录的
helloword仓库:
现在对于def项目中,我不想让产品部的人看到开发部和数据部的目录下面的数据怎么办?可以通过 = 来设置,没有设置权限的人统统不能访问, = 这一句的目的,就是割断权限继承性,使得管理员可以定制某个目录及其子目录的权限,从而完全避开其父目录权限设置的影响
⑺ linux 已经安装svn 怎么配置
代码库创建
SVN软件安装完成后还需要建立SVN库
[root@Linux moles]# mkdir -p /opt/svn/repo
[root@Linux moles]# svnadmin create /opt/svn/repo
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置SVN代码库
进入上面生成的文件夹conf下,进行配置
[root@Linux moles]# cd /opt/svn/repo/conf
用户密码passwd配置
[root@Linux password]# cd /opt/svn/repos/conf
[root@Linux conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
root=raykaeso
用户名=密码
这样我们就建立了root用户, raykaeso密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
[root@Linux conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/]
root= rw
意思是root用户对repo测试库下所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
服务svnserve.conf配置
[root@Linux conf]# vim svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
配置防火墙,SVN端口为3690
[root@Linux conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存后重启防火墙
[root@Linux conf]# service iptables restart
启动SVN
svnserve -d -r /opt/svn/repo
启动SVN服务
svnserve -d -r /opt/svn/
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如
/opt/svn/project1 /opt/svn/project2 ——————-> /opt/svn/
参考:CentOS 6.2 SVN搭建 (YUM安装)-http://www.leixuesong.cn/226
⑻ linux下svn怎么配置路径权限
Linux 下可以直接通过如下命抄令直接获取svn server:(我使用的服务器系统为Debian 7.5 稳定版)
apt-get install subversion
安装完成后,可通过svnserve --version 查看安装的版本,我所使用的svn server 版本为1.6.17:
二、创建代码库
创建库(以test库为例):
sudo svnadmin create /home/user/svn/test
这样,一个简单的代码仓库就创建完成了。
接下来启动svn服务:
svnserve -d -r /home/user/svn/test
然后client端就可以通过“svn://ip.ip.ip.ip/test”来访问svn了。
⑼ 如何让 SVN 或者 GIT 保留 Linux 文件权限
如何让 SVN 或者 GIT 保留 Linux 文件权限区别1、GIT是分布式的,SVN不是这是GIT和其它非分布式的版本控制系统,最核心的区别;GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chectout代码后会在自己的机器上克隆一个自己的版本库。区别2、Git直接记录快照,而非差异比较Git和其他版本控制系统的主要差别在于销氏,Git 只关心文件数据的整体是否发生变化,而枣伏大多数其他系统则只关心文件内容的具体差异。Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照 的索引。为提高性能,若文件没有变化,Git不会再次保存,而只对上次保存的快照作一链接。区别3、近乎所有操作都是本地执行在 Git 中的绝大多数亏岩散操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。
⑽ linux下搭建的SVN,用户组无法检出新添加的目录,提示出错还有权限错误
错误提示的意思是无法连接到URL,那说明你的svn路径就是错的。
根据你的描述“版本版库是home/svn/或者是home/svn/project”,权那你的url就应该包含以上路径。
尝试在IP地址和/owner中间加上home/svn/或者是home/svn/project试下。
有问题再追问