用户的创建

Linux下的用户有什么用,或者说我们为什么要创建用户?

1.系统上的每一个进程(运行的程序),都需要一个特定的用户身份运行,不允许登录

2.避免直接使用root,因为root权限过大,容易出现误操作.

 

跟用户相关的配置文件

/etc/passwd

/etc/shadow

 

PS:在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户

 

1.创建一个oldgirl,指定UID为8888,指定附加组dba,dev,指定注释信息,使用默认的家目录,使用/bin/bash作为登录的shell

 

[root@www ~]# groupadd dev

[root@www ~]# groupadd dba

[root@www ~]# useradd oldgirl -u 8888 -G dba,dev -c "No.1"

[root@www ~]# id oldgirl

uid=8888(oldgirl) gid=8888(oldgirl) groups=8888(oldgirl),5005(dev),5006(dba)

 

#看不到附加组的信息

[root@www ~]# tail -1 /etc/passwd

oldgirl:x:8888:8888:No.1:/home/oldgirl:/bin/bash

 

2.创建zk,系统用户

-r -M不指定家目录 -s指定登录的shell

[root@www ~]# useradd zk -r -M -s /sbin/nologin

[root@www ~]# id zk

uid=987(zk) gid=981(zk) groups=981(zk)

 

 

usermod

#选项

# -u 修改用户的UID

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

# -G 修改用户附加组,使用逗号隔开添加多个附加组, 覆盖原有的附加组

# -a 追加更多的附加组,必须和-G使用:-aG追加附加组

# -md 家目录迁移,必须和-d 一起使用,移动用户的新位置。

# -s 指定要修改用户的bash shell

# -c修改用户的注释信息

# -l 更改用户的登陆名

# -L 锁定的用户

# -U 解锁的用户

 

[root@www ~]# grep "bgx" /etc/passwd

bgx:x:5001:1003:2019 New Student:/home/bgx:/bin/bash

 

#2.修改bgx用户uid 5005、gid,附加组

[root@www ~]# groupadd -g 6666 devops

[root@www ~]# groupadd -g 7777 gougou

[root@www ~]# usermod bgx -u 5555 -g6666 -aG 7777 #注意-aG代表追加,-G覆盖

 

#3.修改bgx用户的注释信息, 用户家目录, 登录shell, 登录名

[root@www ~]# grep "bgx" /etc/passwd

bgx:x:5555:6666:2019 New Student:/home/bgx:/bin/bash

[root@www ~]# usermod bgx -c "No.2" -md /tmp/low -s /bin/sh -l low

[root@www ~]# id low

uid=5555(low) gid=6666(devops) groups=6666(devops),7777(gougou)

 

#4.锁定用户[扩展]

[root@bgx ~]# echo "1" |passwd --stdin oldboy

[root@bgx ~]# usermod -L oldboy #锁定后会无法登陆系统

 

#5.解锁用户[扩展]

[root@bgx ~]# usermod -U oldboy

 

 

PS: 当然还有很多命令可以查看用户的信息,以下简单列举一些,但都是我们常用,所以了解即可

1) 使用finger命名查询用户信息以及登录信息,示例: finger UserName

2) 使用chfn命令修改用户信息,示例: chfn UserName

3) 使用chsh命令修改用户登录Bash Shell,示例: chsh UserName

4) 使用who、whoami、w检查用户登陆情况

 

w

系统的当前时间 开机到现在总运行时长 当前有几个用户登录 cpu的负载状态 1分钟 5分钟 15分钟

18:09:56 up 1:39, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 10.0.0.1 16:34 4.00s 0.40s 0.03s w

oldboy pts/1 10.0.0.1 17:32 9:32 0.02s 0.02s -bash

 

3.使用userdel命令删除账户

#选项 -r 删除用户同时删除它的家目录

 

#1.删除user1用户,但不删除用户家目录和 mail spool

[root@bgx ~]# userdel user1

 

#2.-r参数可以连同用户家目录一起删除(慎用)

[root@bgx ~]# userdel -r user1

 

 

4.创建用户的时,系统会根据/etc/login.defs /etc/defaults/useradd 两个文件作为参照物.

PS: 可以了解两个文件中是什么,但不要随意的修改.

 

 

 

 

 

密码passwd

 

echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin oldboy

# echo "123" | passwd --stdin xuliangwei #非交互式修改密码

[root@www ~]# yum install -y expect

[root@www ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4

D1bB$+3$\y

lastpasswd 支持生成随笔的密码

1passwd

 

 

 

 

基本组,用户只能有一个基本组,创建时可通过-g指定,如未指定则创建一个默认的组(与用户同名,默认叫私有组)

附加组,基本组不能满足授权要求,创建附加组,将用户加入该组,用户可以属于多个附加组

 

 

 

groupadd添加组

[root@www ~]# groupadd new_1

[root@www ~]# tail -1 /etc/group

new_1:x:7780:

[root@www ~]# groupadd -g 7788 new_2

[root@www ~]# tail -1 /etc/group

new_2:x:7788:

[root@www ~]# groupadd -r new_3

[root@www ~]# tail -1 /etc/group

new_3:x:980:

 

 

groupmod修改组

[root@www ~]# groupmod -g 8899 new_3 #修改GID

[root@www ~]# tail -1 /etc/group

new_3:x:8899:

 

修改组名 新的组名是什么 要修改的组名

[root@www ~]# groupmod -n oldboy_new new_3

[root@www ~]# tail -1 /etc/group

oldboy_new:x:8899:

 

 

 

 

 

groupdel删除组

[root@www ~]# groupdel oldboy_new #没有消息,就是好消息,代表删除了

[root@www ~]# groupdel new #删除基本组的时候需要先删除用户

groupdel: cannot remove the primary group of user 'new'

[root@www ~]# groupdel new_1 #如果该组是用户的附加组,可随意删除

 

 

[root@www ~]# groupadd siyou #创建一个组,名称叫siyou

[root@www ~]# useradd xx -g siyou #创建一个xx用户,指定基本为siyou

 

[root@www ~]# groupdel siyou #如果直接删除组,会提示报错,因为该组下有成员

groupdel: cannot remove the primary group of user 'xx'

 

[root@www ~]# userdel xx -r #删除用户正常删除,但不会删除该用户的基本组

[root@www ~]# tail -1 /etc/group 但是:如果该用户没有指定基本组使用的是默认私有组,删除用户的同时会删除该私有组

siyou:x:7780:

 

 

 

 

为某个组设定密码

[root@www ~]# gpasswd devops

Changing the password for group devops

New Password:

Re-enter new password:

[root@www ~]# grep "devops" /etc/gshadow

devops:$6$pUzva/epLfx/A$HN3kigGqR3JTUFvwLMV9.JXPArrkciX2RC5un64vDP3mp3rClOhDqUFKzrXFqE1BtXNzQVP/t5n2WMD3O/tSL/::

 

 

newgrp切换到某个组的身份

[oldboy@www tmp]$ touch This_Oldboy

[oldboy@www tmp]$ ll This_Oldboy

-rw-rw-r--. 1 oldboy oldboy 0 Apr 11 20:34 This_Oldboy

 

身份的切换

[oldboy@www tmp]$ newgrp devops

Password: #提前准备密码

 

再次创建文件

[oldboy@www tmp]$ touch This_Oldboy_2

 

[oldboy@www tmp]$ ll This*

-rw-rw-r--. 1 oldboy oldboy 0 Apr 11 20:34 This_Oldboy

-rw-r--r--. 1 oldboy devops 0 Apr 11 20:35 This_Oldboy_2

 

----------------------

用户管理

1.什么是用户

2.用户有什么用

3.如何去创建用户

4.创建用户保存在哪里

5.如何查看创建好的用户

6.如何给用户创建密码

7.用户的创建流程?

 

组的管理

1.组是干什么?

2.怎么创建组?

3.组的信息保存在哪?

4.如何修改和删除组?

5.如何给组设置密码,以及普通用户切换到某个指定的组(扩展了解项)

 

涉及到命令有哪些?

useradd 创建用户

usermod 修改用户

userdel 删除账户

groupadd 添加组

groupmod 修改组

groupdel 删除组

passwd 修改用户密码

w who whoami 查看当前用户信息

 

扩展涉及到命令

finger 用于查找并显示用户信息。

包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。

单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,

包括帐号名称,真实姓名,登入终端机,

闲置时间,登入时间以及地址和电话。

参数

-l: 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,

登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;

-m: 排除查找用户的真实姓名;

-s: 列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;

-p: 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,

转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。

不指定finger的选项如果提供操作者的话,缺省设为-l输出风格,否则为-s风格,

注意在两种格式中,如果信息不足,都有一些域可能丢失,

如果没有指定参数finger会为当前登录的每个用户打印一个条目。

chsh

 

chfn

gpasswd

newgrp

涉及到的配置文件?

1./etc/passwd

2./etc/shadow

3./etc/login.defs

4./etc/default/useradd

5./etc/group

6./etc/gshadow

------------------------------------------------------------------

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值