用户与组管理

 

Linux系统对用户分配:
-系统管理员:root
-普通用户:普通用户分为以下两种

系统用户:系统用户通常是不可登陆的,执行某些服务及进程的帐号

登录用户:一般用户,

我们登录linux系统时,输入的是我们的帐号,但是linux系统并不会直接识别你的帐号,而是通过我们建立帐号时系统分配的ID(UID)号码,对于用户类型ID(UID)分配如下:
-系统管理员ID:0 (root用户ID)
-普通用户ID:1~65535,
系统用户ID:1~499(CentOS 6),1 ~999(CentOS 7)
登录用户ID:500~60000(CentOS 6),1000~60000+(CentOS 7)
在建立用户帐号时,系统会为用户帐号分配至少两个ID,一个用户ID(UserID,简称UID),一个用户组ID(GroupID,简称GID),上面是UID,下面了解一下GID:
-管理员组:0 (root组ID)


-普通组:1~65535,
系统组ID:1~499(CentOS 6),1 ~999(CentOS 7)
非系统组ID:500~60000+(CentOS 6),1000~60000+(CentOS 7)
对于一个用户而言,只有唯一个UID,但是可以有多个不同的组,分别为主组和附加组,主组组名与用户名相同,且只有一个用户,也可以称为私有组。主组以外的组为附加组

 

但我发现ID不是绝对的,不是说1-65535就只能在里面的才可以创建成功

                      //系统用户也不一定在规定的范围里面

// 很大的uid也是可以设定的

 

所以,可能65535只是规定系统里面最多有多少个用户而言,而不是精确的说UID一定要在里面。

对于GID也是一样的。

 

关于用户和组,存储的几个文件

①、/etc/passwd 是用户信息的解析库,存储很多用户信息

Example:用户名

x:占位符,是加密的密码

10002:UID

1000000:GID

Hello:注释信息

/home/Example:用户的家目录

/bin/sh:shell环境

 

②、/etc/group

和/etc/passwd对应,它是一个组的信息库。存储的是组的信息

maxgid:相对应的是一个组的名字

x:是一个占位符,也可以是一个加密的密码

1000000:是一个GID

最后一个字段是一个以这个组为附属组的用户名

③、/etc/shadow

存放用户密码的信息

第一个字段:是用户名

第二个字段:是加密的密码

第三个字段:最近一次修改密码的时间

第四个字段:最短使用期限(0是不用修改的意思)

第五个字段:最长使用期限

第六个字段:警告期(离密码过期多少天提醒)

第七个字段:过期期限:保留字段

④、/etc/gshadow

对应的是组密码的一个库

第一个字段:用户组

第二个字段:加密的密码

第三个字段:占位符,GID

第四个字段:以此组为附加组的用户列表

 

关于用户和组的命令操作:

useradd、userdel、usermod、groupadd、groupdel、groupmod、passwd、gpasswd、chage、id、su、chsh

一、添加操作:

①useradd:添加用户(添加的用户名必须 是系统没有的)

-u :指定uid (uid 可以超过65535,但是太大也是不行),如果不用-u 默认是/passwd的最后一个用户的uid+1

默认情况

指定uid

 

 

-g :  指定基本组ID(GID) ,此组需要事先存在

-G:指明用户所属的附加组,可以有多个附加组,以逗号隔开

所有的组

用一个没有存在的组

只有用存在的组才可以做附属组和属组(root也可以,如果加进wheel组,用户是会有特别的权力去运行一些特别的命令)

 

 

-c:指明注释信息

-d:以指定的路径为用户的家目录,—–通过复制/etc/skel此目录并重命名实现,指定的家目录存在,则不会复制环境配置文件

 不指定的话默认创建在/home/$username里面

指定的话就以指定的目录为准

 就像我这个用户,fileman,是ftp专门存放文件的用户,家目录的/FtpFile,自己指定的。

-s:指定shell,可用的shell存放在/etc/shells

这就是我们可以使用的shell环境

 

-r:创建一个系统用户

 

 

 

groupadd:添加组(组名一定不能是存在的)

-g GID:指定GID,默认是上一个组的GID+1


-r:创建系统组

二、删除操作

①、userdel

 

-r:删除用户时一并删除家目录

如果默认不加-r,家目录还是会存在

我们删掉cuser,并且加上他的家目录

以及成功删除,再看看家目录还存在吗?不存在了

但是如果一个用户的主组里面,存在别的用户,那个组会删除失败

②、groupdel

如果组删除了,里面虽然有其他组员,但是也可以正常删除

三、修改操作

①、用户的属性修改操作

1)usermod(如果正在登陆的是改不了)

-u:UID:修改用的户ID为UID(不能和其他用户uid重复)

-g:修改用户的所属组的基本组

-G:修改用户所属的附加组,可以有多个附加组,以逗号隔开,原来的附加组是直接覆盖的
-a:一般与——G一起使用,为用户追加新的附加组

如果想再加一个附加组的话,要加上-a选项才不会覆盖掉

否则会覆盖

-c:修改注释信息


-d:修改家目录
-m:只能与-d一起使用,把用户家目录原有的文件转移至新位置

 

 

-l:修改用户名

-s:修改默认的shell,可用的shell存放在/etc/shells


-L:锁定用户密码


-U:解锁用户密码

就可以登录上去了

 

修改用户名

 

 分清楚位置,选项后面应该接的是要改成的名字

 

2)passwd(修改密码)

 

passwd + 用户名;

用管道进行非交互修改

3)chage(修改关于密码的属性)

-m:密码可更改的最小天数

-M:密码有效的最大天数

-d:上一次的更改日期

-W:密码到期前,提前收到的警告的天数

-i:如果密码过期X天,那么此账号不能使用

 

②、组的属性修改操作

1)groupmod

-g GID:修改GID

-n:修改组名

2)gpasswd(修改组密码,踢以此为附加组的成员)

1、修改密码

2、把成员从附加组移除 (特别是在你把一个用户加到wheel组里面,现在想把他从中移除,用-d)

3)newgrp(临时指定基本组组)

当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。

 

四、查看用户和组的信息的操作

①、查看用户信息

1)通过查看passwd

2)通过查看shadow

3)ID命令

 

②、查看组信息

1)通过查看gpasswd

2)通过查看gshadow

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值