| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Part4——Linux系统中的用户管理 -> 正文阅读 |
|
[系统运维]Part4——Linux系统中的用户管理 |
一、用户及用户组存在的意义1、用户存在的意义系统资源是有限的,如何合理分配系统资源? 2、用户组存在意义用户组是一个逻辑容器 二、用户及用户组在系统中的存在方式 三、用户切换1、用户查看命令1)whomai????????????????????? ??? #查看当前用户 3)用户id范围: ????????????????????????0-65535(2的16次方) 2、用户切换su? username??????????????????????? #切换用户名,但是不切换用户环境,一般很少用 su - usernam??????????????????????? #切换用户名,也切换用户环境。(<->可以理解为用户环境,<username>可以理解为用户名)
??????????????????????? #切换用户环境(可以概括为超级用户想看谁就看谁,普通用户想看自己之外的任何人都需要密码) ?四、用户涉及到的系统配置文件1)/etc/passwd????????????????????? ? ? ##用户身份信息文件
2)/etc/group ??????????????????????????? #组身份信息文件 这里使用<tail>命令查看了上述两个文件的最后10行内容,如下图所示。
五、用户和用户组的建立及删除注意:这一步开始要管理系统用户以及稍后的分配权限,都要在root用户下进行,所以我们接下来转虚拟机里操作。 1、建立监控用户操作的命令
命令解析:<watch> 是监视命令,<1>是更新频率,单位为秒;引号中的命令为我们要运行的命令,多条命令中间可以用分号<;>隔开,这样就可以每隔1秒刷新一次引号内容的变化。 2、useradd:建立新用户
useradd test1????????????????????? #新建用户 useradd -u 1234 test2??????? #新建用户并指定用户id useradd -g 7777 test3????????#新建用户并指定主组id useradd -G 1234??????????????? #新建用户并指定附加组id (注意:使用这两条命令时要求所加入的“组”必须存在,否则程序无法向后执行) 可以看出,创建<test1>用户时没有指定用户id,默认id是从1000往后排序;创建<test2>用户时指定用户id是1234,从监视窗口可以看出<test2>的id是指定的1234;创建<test3>时主组id指定的为7777,但是报错了,所以指定的组必须要存在才可以执行,所以先创建了一个id为7777的组<testa>,然后重新创建用户<test3>,监视窗口显示创建成功,且主组id为7777;同样的,在创建用户<test4>时,指定它的附加组为<1234>,这个id刚好是用户<test2>的主组,所以通过<id>命令可以看到<test4>用户除了自己的主组之外还有一个附加组<test2>。 useradd? -d? /tmp/hahaha/? test5 ????? #新建用户并指定家目录 这里先创建了一个目录</tmp/hahaha>,然后创建用户<test5>并指定其家目录为这个路径,切换用户后可以看到,此用户的家目录已经在指定的路径了,同时查看之前创建的用户<test4>的家目录,没有经过特别设置默认家目录就在</home/test4>下。 useradd -M test6??????????????????????? #创建用户且不建立家目录 useradd -c “hello zzh” test7??????? #创建用户时指定用户说明(这个说明会在登陆时显示) useradd -s /bin/sh test8?????????????? #创建用户时指定此用户使用的shell 这里创建<test6>时没有创建家目录,所以使用<su>命令切换时会显示“家目录不存在”;创建<test7>时指定用户说明为“hello zzh”,在监视窗口可以看到给用户<test7>指定的说明,此说明会在登陆用户时显示;创建<test8>用户时,先看了一下<etc/shells>文件中有哪些可以使用的shell,从中选择了</bin/sh>作为此用户的shell,创建完成后在监视窗口可以看到<test8>的信息中最后一处已经成为了我指定的shell。 3、userdel:删除用户
4、groupadd:创建用户组
? 5、groupdel:删除用户组
六、用户和用户组的信息管理usermod:更改用户和用户组基本信息这里解释一下即将要涉及到的几个名词的区别: 用户id:用户创建下来就带有的id,类似于张三出生时就拿到的身份证号,想改变的话只有超级用户可以改。 主组:用户创建下来默认属于的主组,类似于张三出生后他的家庭就是他的主组,主组只能有一个。 附加组:区别于用户的主组,类似与于张三加入了学生会、党组织等等,张三具有这些组织的组内成员的身份,这些组织都是张三的附加组。 用户说明:一般在登陆的时候显示出来的名称,如果不特别设置默认就是用户名称。
usermod -l? zzhlinux? zzh ????????????? ? ?? #更改用户名称 这里先创建了用户<zzh><zzh1>,用户组<linux><linux1>。先修改了用户<zzh>的用户名为<zzhlinux>;然后再通过第二条命令改变了用户<zzhlinux>的用户id为“1234”;接下来再通过第三条命令更改用户主组id为“1002”,这里可以看出,这个用户和用户<zzh1>的属于同一个主组。
这里可以看出,用户<zzh1>原本的附加组就是自己本身,通过执行第一条命令后(<1003>),给它的附加组增加了用户组<linux>下的新身份,再次执行同样的操作(<1004>),发现只保留了用户组<1004>附加组身份,可见此命令会更改用户的附加组身份,不会保留之前已经拥有的附加组身份;但是通过再次执行第二条命令<1003>后,发现此用户的附加组既有<linux>又有<linux1>,也就是说第二条命令可以在添加用户的附加组身份的同时不改变之前的附加组身份。 usermod -c "hello zzh" zzh1 ??????????????????? ? ? ? ?? #更改用户说明 这里分别用第二条命令和第三条命令对<zzh1>和<zzhlinux>执行操作(悄悄说一句,这里我看不到两个命令有啥不同,但一般改家目录指向的时候家目录名称也一起改了,这样便于后续操作,即参数取<-md>);对用户<zzh1>执行第一条命令,可以把用户说明改称想要的名称,在登陆账户的时候显示用的。 usermod -s /usr/bin/bash zzh1 ??????????? #更改默认shell ?这里先查看</etc/shells>文件中我们有哪些可用的shells,然后执行第一条命令将用户<zzh1>的shell由</bin/bash>改为了</usr/bin/sh>,通过命令监视窗口可以看出用户<zzh1>的shell更改成功。 ?七、用户认证信息管理~~~~~~~~~~未完待续~~~~~~~~~~~~~~~~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:14:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |