Linux打卡Day8-用户和组

用户和组
1、使用linux时,需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行,用户限制使用者或进程的资源使用范围,而组用来方便组织管理用户:
(1)每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名;
(2)每一个用户属于一个主组(默认与用户同名),属于一个或多个附属组;
(3)每一个组拥有一个GroupID;
(4)每个进程以一个用户身份运行,并受该用户可访问的资源限制;
(5)每个可登陆用户拥有一个指定的shell。

2、用户:
(1)用户ID为32位,从0开始,为和老式系统兼容,用户ID限制在60000以下;
(2)用户分为:
------>root用户(ID为0的用户,强制性)
------>系统用户(1~499,非强制性)
------>普通用户(500以上,非强制性)
------>注意: 系统用户没有一个指定的shell(命令行或图形界面,默认为BASH),多为进程、服务(如共享服务、打印服务等)的用户;
(3)系统中的文件都有一个所属用户及所属组;
(4)命令id可以显示当前用户的信息:
------>gid=500(linuxcast) 为主组,每个用户在创建后都会创建一个和用户名相同的主组,并且默认属于这个主组
------>groups=500(linuxcast) 为附属组,一个用户最多有31个附属组;
(5)使用passwd命令可以修改当前用户密码:passwd 用户名。

3、相关文件(cat命令查看):
(1)/etc/passwd :保存用户信息
------>每一行就是一个用户信息,共7个部分,每部分用“:”隔开,格式如下
------>用户名 : 密码 : UID : 组ID : 用户描述信息 : 用户的home目录(/home/linuxcast): 用户登录shell(/bin/shell,其他非正常用户为/bin/nologin或/bin/false);
(2)/etc/shadow :保存用户密码(加密后的)

------>注意:密码部分分为三部分,用$隔开,!!表示未创建密码;
(3)/etc/group :保存组信息
------>每一行格式:组名 : 组密码(注意:旧系统中没有附属组,组密码方便用户自己换组,但新系统里已不需要,为向后兼容而保留) : 组里的用户。

4、查看登录的用户:
(1)显示当期用户:whoami;
(2)显示有哪些用户已经登录系统:who;
(3)显示有哪些用户已经登录并且在干什么:w。

5、创建一个新用户:useradd testuser(新用户名)
(1)useradd会执行以下操作·:
------>在/etc/passwd中添加用户信息
------>如果使用passwd创建密码,则将密码保存在/etc/shadow中
------>为用户创建一个新的家目录/home/testuser
------>将/etc/skel中的文件复制到用户的家目录/home/testuser中
--->注意:可以把一些用户手册事先放在/etc/skel中,后续每创建一个新用户,都会自动将/etc/skel中的文件copy到新用户的家目录下

------>建立一个与用户用户名相同的组(主组),新建用户默认属于这个同名组;
(2)useradd支持以下参数:
------>-d :指定家目录名
------>-s :指定登录的是shell
------>-u :指定userid
------>-g :指定主组名(主组存在的情况下)
------>-G :指定附属组名(附属组存在的情况下)
--->注意:可以通过直接修改/etc/passwd文件的方式实现,但是不建议(不安全)。

6、修改用户信息:usermod 参数 username ,支持的参数如下
------>-l :新用户名
------>-u :新userid
------>-d :用户家目录位置
------>-g :用户所属主组
------>-G :用户所属附属组
------>-L :锁定用户使其不能登录
------>-U :解除锁定。

7、删除用户 :
(1)userdel testuser (保留用户的家目录);
(2)userdel -r testuser (同时删除用户的家目录);

8、组:
(1)几乎所有操作系统都有组的概念,通过组可以更加方便地归类、管理用户,一般使用部门、职能或地理区域的分类方式来创建使用组;
(2)每一个组有一个组ID;
(3)组信息保存在/etc/group中;
(4)每个用户拥有一个主组,同时还可以拥有最多31个附属组。

9、组操作:
(1)创建组:groupadd linuxcast;
(2)修改组信息:
------>修改组名:groupmod -n newname oldname 
------>修改组ID:groupmod -g newgid      oldgid;
(3)删除组:groupdel linuxcast
--->注意:报错为“groupdel : cannot remove user's primary group”是因为 有用户把待删除的组当做主组了,当 没有用户把待删除的组当做主组时,就可以成功删除了。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值