admin 管理员组文章数量: 1086019
用户的创建
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
------------------------------------------------------------------
本文标签: 用户的创建
版权声明:本文标题:用户的创建 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1686558759a10166.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论