文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Ubuntu 多用户管理及 SSH 远程连接

2023-09-10 07:44

关注

目录

1、Ubuntu 多用户管理的场景

2、多用户管理理解

3、多用户管理

1、创建用户组

2、创建用户

3、给用户分配权限

4、SSH远程连接


1、Ubuntu 多用户管理的场景

多人需要远程登录服务器完成各自的任务,同时各用户之间还不能共享各自的数据,另外系统管理员需要给远程登陆用户限制系统资源或者文件的访问权限。linux 的权限系统主要是由用户用户组权限组成,权限分为执行三种。典型的例子就是服务器的管理。

2、多用户管理理解

Ubuntu 的多用户管理包含用户组 groupname 与用户 username 的管理。用户就是一个个登录并使用 Ubuntu 的用户。Ubuntu 内部用UID表示。用户组就是用户的分组。Ubuntu 内部用GID表示。用户用户组可以是一对一、一对多、多对一或者多对多的关系。用户组一般是放置具有相同访问权限的用户。

Ubuntu 本身含有多个自带的用户组及用户,可以使用命令 cat /etc/group 查看,
/etc/group 的内容包括用户组(group)用户组口令GID及该用户组所包含的用户(user),每个用户组一条记录,格式为 用户组名:组密码:GID:组内用户
在 /etc/group 中的每条记录分四个字段:

可以使用命令 sudo cat /etc/passwd 查看当前的所有用户。 

3、多用户管理

1、创建用户组

# 简单创建的一个用户组sudo groupadd groupname# 指定用户组的 GID 号sudo groupadd --gid num groupname

比如分别执行下面这组指令:

# 创建一个名为 test 的用户组sudo groupadd test# 创建一个名为 test2 的用户组,GID 为 1234sudo groupadd  --gid 1234 test2# 查看系统下的多有用户组cat /etc/group

会看到以下结果

删除用户组:

sudo groupdel groupname

图省事的话可以不用管用户组,而是直接使用 adduser 命令创建用户,用户组只是为了方便管理用户而来的。adduser 会自动为创建的新用户创建同名用户组。

2、创建用户

用户组有两种方式创建用户,分别为 adduser 和 useradd,推荐使用 adduser

使用 adduser 的方法:

############################  方法一  ############################# adduser 会在/home下自动创建与用户名同名的用户目录,系统shell版本# 会在创建时会提示设置密码、填写用户信息等,对管理者更加友好。sudo adduser username# 使用 id 命令查询用户所在的组信息id username# 修改创建的用户的用户名、uid、gidsudo usermod -l newname oldnamesudo usermod -u uid usernamesudo usermod -g gid usrname# 使用 passwd 命令设置对应用户名的密码,不管设置过没有,新密码将覆盖调旧密码sudo passwd username

使用 adduser 命令创建用户时的界面如下,每步都有提示,操作起来对人类非常友好

使用命令 sudo cat /etc/group 会发现 adduser 命令会创建一个同名的用户组,因此使用这个命令时可以没有创建用户组。

这个命令会在系统目录 /home 下新建一个名为 username 的文件夹,比如我创建了一个名为 user1 的用户,结果如下:

用户的角色是通过 UID 和识别的,设置时一定要保证 UID 的唯一性

删除用户的命令 userdel:

# userdel 只能删除用户,并不会删除相关的目录文件。userdel -r 可以删除用户及相关目录# 如果 username 还处于进程中,需要加上 -f 强制删除sudo userdel -r [-f] username

使用 useradd 的方法:

个人感觉 useradd 用起来挺不方便的,我在尝试使用 useradd 创建用户的时候遇到了挺多问题,比如使用 -p 参数设置的密码在远程连接时不能用,必须使用 passwd 命令设置新的密码才能用,有知道为什么的朋友欢迎留言讨论,还有 useradd 的参数种类太多看的头大。具体可以自行执行指令 useradd -h 查看,如下:

########################  方法二(不建议用)  ######################### 注意!使用 useradd 时,如果后面不加任何参数,则创建出来的用户将没有 home 目录、没有密码、没有系统shellsudo useradd -u 1234 -g groupname -s /bin/bash -b /home/username -p password username

3、给用户分配权限

使用 chmod 命令给用户设置权限

sudo chmod xxx /home/username

其中 xxx 三个位置的值分别对应u/g/o,即用户user(文件或目录的所有者)、同组用户group(与文件属主有相同组ID的所有用户)、其他用户others。,权限有读、写、执行三种可选,具体的数值由拥有权限之的和来确定,以下分别为三种权限的值。

不同的组合会有不同的数值,比如 700 代表u=7、g=0、o=0,文件只有本用户才有读写执行权限,其他所有用户对该文件不能有任何操作。比如我给 user1 用户设置了 700 权限

sudo chmod 700 /home/user1

然后就会在该文件上显示一个叉叉,系统管理员账户也无法访问:

如果此时想访问该用户文件,可以使用 root 权限 ,然后 cd 进去即可查看:

su sudo

sudo 权限:新创建的用户默认是没有 sudo 权限的,可以使用以下命令为用户增加 sudo 权限

adduser username sudo

原理就是将用户 username 加入到 sudo 用户组,比如:

删除 sudo 权限:

sudo gpasswd -d username sudo 

切换用户:

在 ubuntu 系统中可以使用 su 命令切换用户:

su username

4、SSH远程连接

SSH 远程连接时使用以下指令,然后会提示输入密码之类的,正常输入就行啦~

ssh username@ip

username 是你需要连接的那个用户的名字,ip 是用户所在主机的 ip 地址,同一台主机的用户公用同一个 ip 地址。

假如我刚才创建了一个名为 user1 的用户,ubuntu 的 ip 地址为:123.123.123.123,然后在我的 win10 电脑上进行远程连接的指令为:

ssh user1@123.123.123.123

比如我用win10系统远程连接实验室的服务器中用户user1的资源: 

参考:

linux下查看所有用户及所有用户组_黄老湿的技术博客_51CTO博客

ubuntu多用户权限管理及远程连接_ywfwyht的博客-CSDN博客_ubuntu 多用户

来源地址:https://blog.csdn.net/Flag_ing/article/details/127746679

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯