Linux工具使用配置与管理问题
1. root 无法登录
1.Ubuntu 系统安装后,默认root 是还没有配置密码,这个时候,你需要先配置一下密码,才能进行登录
sudo passwd root ; // 在后续配置密码即可
2.ubuntu svn 服务器 的搭建
1.删除先前的下载的
sudo apt-get remove --purge subversion
2.安装
sudo apt-get install subversion
3.创建数据库文件夹
mkdir /opt/data
chmod -R 770 ./data
1.文件夹 权限的设置(指定特定的用户 以及读写权限)
1.ls -al 查看文件夹的权限信息
drwxrwxrwx 5 root root 4096 2018-12-11- hello
解析: 第一列 : d代表 目录,- 代表文件, l 代表这是一个链接文件, b 代表这是一个可供存储的块设备,
c 代表这是一个字符设备,
接下来三个一组,分别代表 文件所有者的权限 ,同组用户的权限,剩余其他人的权限
第二列 :代表有多少个文件名连接到文件系统的i-node 节点 ,每个文件名都会把它的权限和属性信息记录到i-node 节点,
目录名记录着文件名,所以每个目录会记录 着当前文件夹下 文件夹和文件 + . + .. ,总共是当前目录下
n个文件 + 2
第三列: 文件所有者的账号 第四列:文件所属用户组信息
第五列 :容量大小
2.设置文件的所有者和文件的权限
chown -R username path // 改变文件的所有者 // 这里文件的所有者必须是在本机真实存在的用户
chgrp -R groupname path // 更改文件夹拥有的组
chmod -R mod path //改变文件的执行权限 chmod -R +x path // 这里的+x 会同时对 拥有者,拥有者的用户组,
//其他用户 同时给予权限
3.如何在系统中添加新的用户
useradd/userdel -r/userdel username // 添加用户/删除用户及其文件夹/删除用户
passwd username //设置用户登录的密码
usermod -d dirctPath usrname //指定用户的登录目录
usermod -g 组名 -G 附属组名 username // 将username 指定组名,同时添加到附属组名中,这样,
//username将具所属组和附属组两个组的权限限制
4.创建版本库
svnadmin create /opt/data/svndata/uboot
svnadmin create /opt/data/svndata/linux
5.配置版本库
1. 为了集中管理,可以将 对应的版本库认证authz 和密码passwd 都放到同一个路径,只需要修改各个
版本库下对应的认证方式和密码的路径
2.svn 的配置
这里主要讲解authz 的配置
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally // 这里是用来定义一个组所拥有的成员,harry_and_sally 这个组的成员
有harry 和sally 两个,对这两人的配置,可以通过@组名来对其进行配置
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar] // 这个指定版本库下的权限,不是特别建议,我们一般不去这样设置,而是对库,及对应的库的
// 的子文件夹和文件进行配置
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz] // 这里的repository 代表的是 是用svnadmin create 出来的代码库,/baz/fuz代表的是
//repository 代码库下的baz/fuz 的文件
// 例如 svnadmin create /opt/data/svndata/linux,那么这里应当将 respository
//替换成 linux 即 [linux:/] ;代表 对linux 代码库下的所有文件配置,如果 linux 库
//下面还有 Linux-3.2.1 和 Linux-4.0.1 的两个目录要配置,那么配置要写成如下的
//[linux:/Linux-3.2.1] 代表对应Linux代码仓库下 的Linux-3.2.1 的路径进行权限配置
# @harry_and_sally = rw
# * = r
3.启动 svn 服务
sudo svnserve -d -r path ; //建议这个path 不要直接对应某个代码库,这样svn 只能为这个代码库服务
// 可以将一个专门用了存放svn 的 文件夹 ,如 /opt/data/svndata/,让svndata
//来专门存放 代码库,那么启动的时候,就可以指定
//路径为: svnserve -d -r /opt/data/svndata/, svn 会服务 svndata 下存放的
//所有代码仓库 ,如这里的linux 和 uboot
4.可以通过 sudo netstat -antp |grep svnserve 来查看 svn 服务是否开启
5.验证版本库 :
svn checkout svn://192.168.42.124/uboot // 这里的ip 是要通过ifconfig 来查看你自己的ip 地址是多少,
// 请不要用 172.0.0.1 这个地址来进行测试,可以用localhost来测试
// 即 svn checkout svn://localhost/uboot
6. 向版本库提交文件
1.先讲文件加入
svn add 文件名/文件夹 //例子 svn add hello.c
2.提交
svn commit -m " 注释,填写提交的信息,主要是给自己看的" 文件名/文件夹
eg: svn commit -m "this is a test" hello.c
3.删除内容
svn delete文件名/文件夹
svn commit 文件名或文件夹