Ubantu服务器创建多个用户,多个用户互不干扰
实验室采购了一台Linux服务器,需要几个人使用。我们希望几个人在使用的过程中,互不干扰。自己所安装的各种环境不会对其他人或root账号下的主系统环境有影响。要达成此目的,需要使用拥有超级管理员权限的root建立几个用户。
1.使用ssh远程访问服务器(如果服务器就在你面向,也可以直接操作服务器,省略此步骤)
# 默认端口22登录
ssh 用户名@IP地址
# 自定义端口登录
ssh -p 端口 用户名@IP地址
2.添加用户
sudo adduser 用户名
注:这里使用了adduser命令添加用户,与之相似的还有一个useradd命令。
在Ubuntu中创建新用户,通常会用到两个命令:useradd和adduser,虽然作用一样,但用法却不尽相同。
可参考Ubuntu中useradd和adduser的区别
3.为用户赋权,这里赋予超级管理员(sudo)权限
sudo vi /etc/sudoers
注:所用拥有超级管理员sudo权限的用户都在 /etc/sudoers文件中。这里我们通过vi编辑器打开sudoers文件,然后对该文件进行编辑,在该文件中添加一行命令 用户名 ALL=(ALL) ALL ,就可为该用户赋予sudo权限
4.在root ALL=(ALL) ALL
后面添加新的一行用户名 ALL=(ALL) ALL
,保存并退出,添加超级用户权限完成。
注:vi编辑器的用法
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
5.创建完用户后,发现/home
目录下生成了以用户名命名的文件
使用 cd /home
命令进入该目录下
在使用ls
命令查看该目录下的用户目录有哪些
amax@amax:/$ cd /home
amax@amax:/home$ ls
amax tyb gjb
这里amax用户拥有超级管理员权限。在使用Linux过程中,Root账号拥有最大的操作权限。为保证Root账号安全,一般不直接使用Root账号,而是直接创建一个拥有Root权限的其它账号来使用。这里的amax就是如此。
使用拥有超级管理员权限的amax创建了tyb用户。可以在home目录下找到以该用户名命令的文件
6.进一步查看tyb用户目录下有什么
amax@amax:/home$ cd tyb
amax@amax:/home/tyb$ ls
examples.desktop
examples.desktop是什么呢?有什么用?
查看https://segmentfault.com/q/1010000016976365
得知:
问题:ubuntu18.04用户目录中的examples.desktop是什么文件? 有什么作用?
在终端中打开用户主目录可以看到examples.desktop文件,但是在文件管理器中却看不到这个文件。 在文件管理器中却有Examples文件夹。这两个文件有什么关联吗? 为什么要有这两个文件?
回答:.desktop文件是Linux图形桌面的快捷方式文件。也就是说你的图形化程序期望能在开始-菜单中打开,那么你必须有一个.desktop文件放在对应的目录下。
Ubuntu的那个Example只是一个演示,让你看看自己写一个desktop该怎么写而已,删掉也不影响。只有图形桌面才会带那个文件,Server无图形桌面就没这个文件。
7.因为tyb是新建的用户,所以该目录下并无其它东西。同时我们需要验证当使用tyb登录服务器,并安装一些环境时,对其它用户并无影响。
使用pip list命令查看amax下的环境
pip list 命令列出所有安装包和版本信息
amax@amax:/$ pip list
Package Version
---------------------------------- ---------
alabaster 0.7.10
anaconda-client 1.6.14
anaconda-navigator 1.8.7
anaconda-project 0.8.2
asn1crypto 0.24.0
astroid 1.6.3
astropy 3.0.2
attrs 18.1.0
Babel 2.5.3
backcall 0.1.0
backports.shutil-get-terminal-size 1.0.0
beautifulsoup4 4.6.0
bitarray 0.8.1
bkcharts 0.2
blaze 0.11.3
bleach 2.1.3
bokeh 0.12.16
boto 2.48.0
Bottleneck 1.2.1
certifi 2018.4.16
cffi 1.11.5
chardet 3.0.4
......
8.切换到tyb用户
使用命令:su tyb
amax@amax:/$ su tyb
Password:
tyb@amax:/$ ls
bin core etc initrd.img.old lib64 mnt root sbin sys usr vmlinuz.old
boot data home lib lost+found opt run snap test.log var
cdrom dev initrd.img lib32 media proc save_pid.txt srv tmp vmlinuz
tyb@amax:/$ pip list
Package Version
---------- -------
pip 18.1
setuptools 40.6.2
You are using pip version 18.1, however version 20.2.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
tyb@amax:/$
注:切换到tyb后,使用ls查看当前所在位置有哪些文件。与之前使用amax用户切换tyb时所在的位置有关。如果使用远程访问,使用tyb登录,会发现此时所在位置就是该用户的用户目录/home/tyb,稍后验证。
使用pip list 可以发现该用户环境下没有安装什么,只有一些工具类。与amax用户使用pip list作对比,发现不同。这就说明了,当我们切换到另外一个用户时,就切换到了该用户的环境,与其它用户环境并不干扰。我们就可以放心在自己用户环境中安装配置了。
9.tyb用户使用ssh远程访问服务器
ctrl+D 退出远程访问,然后使用tyb用户ssh远程访问服务器:
ssh tyb@IP地址
C:\Users\Administrator>ssh tyb@58.206.101.115
tyb@58.206.101.115's password:
使用pwd
命令查看当前位置:
tyb@amax:~$ pwd
/home/tyb
tyb@amax:~$
发现所在位置就是tyb的用户目录。我们就可以放心在该用户目录下进行操作了,这样就不会印象到其他用户。除非你进入了他们的用户目录,对他们的文件做了增删改。