Linux-用户和用户组管理

avatar
作者
猴君
阅读量:0

用户管理

创建

useradd USERNAME(名字)

[root@localhost ~]# useradd bao    创建指令

怎么判断创建成功与否(是否报错)

观察是否报错可行但用变量的方式判断会更加直观

[root@localhost ~]# echo $?    变量

什么是变量?(概念引入)

说明

变量是一块命名的内存空间,可以通过变量的名称来调用变量的值

在系统里声明一个变量

[jian@localhost ~]$ bianliang=zhangsan

注:不是比较运算,是用来赋值的

把zhangsan赋值给bianliang

调用该变量就能把所赋的值显示出来

[jian@localhost ~]$ echo $bianliang

当zhangsan变成lisi,调用也会显示lisi

[jian@localhost ~]$ bianliang=lisi

[jian@localhost ~]$ echo $bianliang

可以调用“?”变量,该变量的值为0说明程序正常执行,在Linux里叫程序的退出码

[jian@localhost ~]$ echo $?

退出码范围0-255

其中0表示正常,1-255 表示不正常

当程序执行完以后会返回一个退出码,如果返回码为0表示程序可以正常退出,如果退出码是其他非零值,则表示程序不能正常退出。

通过man手册可以了解到一些常见退出码的含义:

[root@localhost jian]# man useradd 打开手册并往下翻阅

0.成功

1.无法更新密码文件

2.命令语法有问题(命令格式无效)

3.选项所对应的值有问题(选择参数无效)

4.所对应的UID已经被占有

6.指定的组不存在

9.用户名已经被使用

10.不能更新组文件

12.不能更新家目录

14.无法更新SELinux用户映射

举例

创建用户时如果已经被创建,再次创建会出现报错(如下)

[jian@localhost ~]$ useradd bao    

[jian@localhost ~]$ echo $?

查看

创建完成查看该用户的信息id USERNAME  查看指定用户信息

[jian@localhost ~]$ id bao     查看指令

uid(userid)用户对应的数字编码

gid(groupid)用户组对应的数字编码

groups 基本组(用户默认的组)信息以及附加组信息

注:创建用户时,若未指定组则创建同名的组

拥有基本组之后还可以加入附加组

删除

删除不再想使用的用户

[root@localhost ~]# userdel bao        删除指令

[root@localhost ~]# echo $?

删除成功

[root@localhost ~]# id bao

显示已经没有该用户,但在家目录和邮箱还可以看到

[root@localhost ~]# ll /home  家目录

[root@localhost ~]# ll /var/spool/mail/   邮箱

如果在删除时想把信息全部删除,在末尾加-r选项

[root@localhost ~]# userdel -r USERNAME

表示同时删除该用户的家目录和邮箱

删除用户的同时也会删除用户组

修改

usermod USERNAME 修改用户

现在使用man手册了解常用的一些选项

[root@localhost ~]# man usermod  

如图所示界面可往下翻阅

举例:(常用的指令)

-a/-G

添加用户到一个附加组,也可只使用-G的选项

[root@localhost jian]# ll /home

创建几个用户(都有基本组),再继续创建一个用户duo

让用户duo属于用户bao的组,在创建用户时就指定选项

[root@localhost jian]# useradd -g bao duo

[root@localhost jian]# id duo

用户duo的基本组是用户bao的,基本组信息也是用户bao的

再加上一个附加组

[root@localhost jian]# usermod -G lai duo

[root@localhost jian]# id duo

附加组已经添加完成

-g 表示修改基本组

-G 表示修改附加组 GROUPNAME,GROUPNAME,GROUPNAME(指定多个

-c

表示注释或描述(昵称)

登录界面只有jian用户,如果让用户bao出现在界面应该怎么实现?

给用户bao添加用户密码

[root@localhost jian]# passwd bao

屏幕上出现名字为bao的用户,并且可以正常登录使用

同理,其他用户也可添加用户密码来实现登录界面的显示

用户登录显示设置好,再使用-c更改描述(昵称)

[root@localhost jian]# usermod -c zheyang bao

让用户bao描述为zheyang,变化很明显(如下图所示

-l

更改用户登录名称(登录后显示的名称)

[root@localhost jian]# id bao

显示的用户名称是bao,把用户名称改成pao

[root@localhost jian]# usermod -l pao bao

[root@localhost jian]# id bao

查找不到bao的信息,但查找修改后的名称pao可以继续查找到相关信息

[root@localhost jian]# id pao

登录界面依然显示设置的comment

使用密码登录“zheyang”并查看终端情况

终端显示的名字是已经修改的pao

-L

用来锁定用户密码在Linux下账号如果没有密码是不能登录操作系统的,如果把密码锁住,该用户就不能登录到操作系统

禁用用户pao进行实验举例:

[root@localhost jian]# usermod -L pao

此时界面没有pao的登录方式“zheyang”

不允许登录,怎么解锁

-U

使用-U解锁

[root@localhost jian]# usermod -U pao

重新出现登录方式

-s

注:如果一个用户的shell是/bin/bash,则允许登录操作系统

例子:

[root@localhost jian]# usermod -s /sbin/nologin pao

[root@localhost jian]# grep pao /etc/passwd

不能登录用户pao图中无登录方式

[root@localhost jian]# su – pao

此时账号也不可以使用,现在去恢复账号的使用(操作)

[root@localhost jian]# usermod -s /bin/bash pao

[root@localhost jian]# su – pao

切换账号成功,可以使用

[pao@localhost ~]$ id

-u

修改UID

先查看原有UID

[root@localhost jian]# id pao

UID为1002

[root@localhost jian]# usermod -u 8888 pao

[root@localhost jian]# id pao

现在的UID已经修改完成,若切换GID则需要事先存在

用户组管理

指令的使用格式

 groupadd GROUPNAME  添加组

 groupdel GROUPNAME 删除组

 groupmod GROUPNAME 修改组

 grep GROUPNAME /etc/group   查看组(一般查看方法)

演示:

[root@localhost jian]# groupadd yue   添加

[root@localhost jian]# grep yue /etc/group   查看

[root@localhost jian]# groupmod -g 8888 yue   修改GID

[root@localhost jian]# grep yue /etc/group    查看

[root@localhost jian]# groupdel yue     删除

[root@localhost jian]# grep yue /etc/group  查看

注:删除之后将不会显示该组,如果还有用户属于该组,默认不能删除。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!