Ubantu服务器创建多个用户,多个用户互不干扰

tech2025-06-05  10

实验室采购了一台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的用户目录。我们就可以放心在该用户目录下进行操作了,这样就不会印象到其他用户。除非你进入了他们的用户目录,对他们的文件做了增删改。

最新回复(0)