Ubuntu管理多用户
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu管理多用户相关的知识,希望对你有一定的参考价值。
参考技术A 前段时间,实验室买了新服务器,老板也是说了不止一次要把实验室服务器给管理起来,俗话说好奇心是最好的老师。趁此机会,我学习了一下Linux的用户管理。在本地,我一般都会记录到OneNote,现在再次记录一下,方便今后查找。首先是要了解Linux系统的文件权限分为所有者、同组的人以及其他人,所以在新建用户的时候,要指定该用户属于哪个组或者哪些组。为什么会有哪些组呢?一般来说,一个组不就行了嘛?其实不行,我们可以这么想,在大一刚入学的时候,会有很多社团,那每个人加入社团的数量是没有限制的。这里,大一新生就代表“Ubuntu系统用户”,社团就代表“组”。到这里,应该都能理解用户和组之间的关系了。在Ubuntu系统里,需要设定一个组为主组,其余的为附属组,主组与附属组之间的区别我现在还不是很清楚,在实际使用中还没有遇到需要区别主组与附属组的情况。
介绍完基本情况后,就可以敲命令了,首先查看系统中有哪些组以及这些组包含哪些用户:(这里显示的用户指的是把该组作为附属组的用户,无法显示把该组作为主组的用户)
运行上面这个命令,就可以得到类似下图的结果:
上图中的docker即代表docker组,组id是998,该组中有ubuntu这个用户,其中,ubuntu用户的附属组是docker,主组是什么这里看不到。如果想看主组,可以用下面的命令:
一般情况下,Ubuntu系统是没有nosu组,如果我们想要建普通用户,那么就要有一个nosu组。我第一次听到nosu组这个名字是从我室友那得知的,不过当时他认为“nosu”这个名字是自定义的,事实并非如此。为什么呢?从系统文件中就可以看出来。我们要启动nosu组的话,就得编辑一下系统文件:
看到的界面类似于下图:
如果没有经过任何修改的话,图中第23行应该是被注释掉的(或者其他不能被读取到的情况),但是这一行中出现了“nosu”这个名词,所以说明这是系统指定的组名,而不是自定义的。那么为了达到我们的目的,我们只需要改成如图所示就行。修改完上面这个文件后,我们可以再次查看group,核实下是否多了一个nosu组,如果没有的话,重启服务器再看看。
准备了这么多,接下去可以正式新建用户了,建用户反而简单,如果/home目录够用的话,可以不指定新用户的/home目录:
其中,-g nosu代表将新用户的主组指定为nosu。如果需要指定新用户的/home目录:
这样就把新用户的家目录改到“/data/account/用户名”下了。
然后,如果新用户需要用到docker的话,就得把新用户加到docker组。那么,好奇的同学就会问:这个docker组怎么来的呢?我一开始也有这个问题,我第一次得到结果是问的我室友,第二次,我是自己重装了Ubuntu系统,再装了docker,从而验证了一下。当遇到问题时,问别人是最快的方式,但是如果自己动手加以验证,那就更好了。
此时,还需要设置一下新用户的登录密码:
至此,新用户就可以登录了。
修改新用户的主组为docker:
删除用户在系统文件中的记录(以及用户家目录):
Ubuntu下Apache+SVN搭建SVN服务多项目管理
一、系统环境
[email protected]:~# cat /etc/issue
Ubuntu 16.04.2 LTS \n \l
二、创建svn组和用户
[email protected]:~# addgroup svnser
Adding group `svnser‘ (GID 1001) ...
Done.
[email protected]:~# useradd svnser -g svnser -m #新增svnser用户,-g并指定所在的组svnser,-m同时创建svnser用户所在的家目录
三、安装Apache和svnserver
[email protected]:~# apt-get -y install apache2
[email protected]:~# apt-get -y install subversion libapache2-svn
四、创建版本库目录
[email protected]:~# mkdir -p /data/svn
[email protected]:~# svnadmin create /data/svn/repos01
[email protected]:~# svnadmin create /data/svn/repos02
[email protected]:~# svnadmin create /data/svn/repos03
[email protected]:~# ls /data/svn/
repos01 repos02 repos03
[email protected]:~# ls /data/svn/repos01/
conf db format hooks locks README.txt
五、创建项目目录结构并导入
[email protected]:~# mkdir -p test/{branches,tags,trunk}
导入项目到版本库(初始化):
[email protected]:/data/svn# svn import /root/test file:///data/svn/repos01 -m "test import"
Adding /root/test/branches
Adding /root/test/tags
Adding /root/test/trunk
Committing transaction...
Committed revision 1.
========================================================
/root/test ----------------> 需要导入的项目
file:///data/svn/repos01 -----> 表示一个项目的版本库
六、将SVN配置到apache中通过web方式访问
[email protected]:/etc/apache2# mkdir svn-repos
[email protected]:/etc/apache2/svn-repos# vim repos01.conf
<Location /svn/repos01>
DAV svn
SVNPath /data/svn/repos01
AuthzSVNAccessFile /data/svn/repos01/conf/authz
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /data/svn/repos01/conf/dev_passwd
Require valid-user
</Location>
注:此配置文件告诉apache关于svn的访问路径已经相关配置文件,这里注意访问的根目录。重启apache服务器,然后就可以通过http://192.168.0.66:8000/svn/repos01进行访问
###############################################
/etc/apache2/apache2.conf <===========此文件新增如下一行:
IncludeOptional svn-repos/*.conf
################################################
/etc/apache2/ports.conf <===========此文件修改Listen 80为:Listen 8000
################################################
/etc/apache2/sites-enabled/000-default.conf <====此文件修改<VirtualHost *:80>为:<VirtualHost 127.0.0.1:8000> ,新增一行ServerName 127.0.0.1
重启apache服务:/etc/init.d/apache2 restart
======================================
七、添加svn用户
[email protected]:/data/svn/repos01/conf# htpasswd -m -b -c /data/svn/repos01/conf/dev_passwd test01 ‘PWDtest‘ #第一次创建svn用户需要通过-c参数,第二次增加用户不用-c参数。
通过客户端或者浏览器进行访问输入http://192.168.0.66:8000/svn/repos01
命令行使用svn checkout http://192.168.0.66:8000/svn/repos01 --username test01 --password PWDtest
八、用户权限设置
新增如下配置
[email protected]:/etc/apache2/mods-enabled# cat dav_svn.load
.........略
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
用户目录权限设置:
[email protected]:~# cat /data/svn/repos01/conf/authz
[groups] #设置组
admin = test01,test #设置组用户
[/] #项目版本库根目录,admin拥有读写权限
@admin = rw
* = # 其他用户无任何权限
可以通过nginx+proxy+allow 来控制用户IP访问限制
本文出自 “点滴集” 博客,请务必保留此出处http://1606496.blog.51cto.com/1596496/1929869
以上是关于Ubuntu管理多用户的主要内容,如果未能解决你的问题,请参考以下文章