Linux用户与组

day07

多用户多任务的管理系统

linux管理模式私有模式: 每一个用户对应一个和用户同名的组

​ 公有模式

1.用户类别(65535个用户)

管理员: root 0

普通用户:redhat 1-60000

​ 系统用户: 系统安装自动创建 1-200 201-999

​ 一般用户: 手动添加 1000-60000

1.1创建用户

useradd 用户名

/usr/sbin/useradd
-u   更改用户UID        
-g   更改用户的基本组(主组)     
-G   更改用户的附加组   
-c   注释信息          
-d   家目录 
-s   更改shell字段(可交互式shell、非交互式shell)                  

1.2查看用户

grep ‘^用户名’ /etc/passwd

id 用户名

cat /etc/passwd 用户配置文件

xiao1:x:1001:1001::/home/xiao1:/bin/bash
用户名:密码的占位符:UID:GID:注释、描述字段:用户的家目录:shell字段/bin/bash   /sbin/nologin

1.3修改用户

usermod [option…] [选项参数] 用户名

-l   修改用户登录名称     #usermod -l newxiao1  xiao1   把xiao1改名为newxiao1
-u   更改用户UID         #usermod  -u 1111 newxiao1   #usermod new1xiao1  -u 1111
-g   更改用户的基本组(主组)     #usermod -g redhat  newxiao1
-G   更改用户的附加组    #groupadd  g1      #usermod  -G g1  newxiao1
-c   注释信息           #usermod -c 18123827227   newxiao1
-d   家目录 
-s   更改shell字段(可交互式shell、非交互式shell)
                       #usermod -s /sbin/nologin  newxiao1
eg:
usermod   -l  newname   -u 1234 -g 1000  -c dashazi  name

1.4删除用户

userdel -r 用户 删除用户以及创建用户相关的所有文件

1.5用户设置/修改密码

passwd [用户名]

-d   删除用户密码
-l   锁定用户密码
-u  解锁用户密码
管理员:可以指定用户名更改系统任意用户的密码不需要输入之前的密码,不严格匹配密码等级设置
普通用户:不可以指定用户名,只能更改自己的密码,需要输入之前的密码,严格匹配密码等级设置
echo mima | passwd --stdin 用户名

chpasswd

[root@www ~]# cat users
redhat:1234
root:1234
xiao1:1234
[root@www ~]# cat users | chpasswd
[root@www ~]# echo redhat:123456 | chpasswd

1.6破解密码:

关机-->开机-->鼠标进入启动界面-->第一个引导菜单-->e --->找到linux这一行在行尾添加rd.break 
--->ctrl-x--->mount     -o       remount,rw    /sysroot    --->chroot   /sysroot -->passwd root-->设置密码--确认密码--->touch   /.autorelabel -->exit --exit  (等待)

2.组类别

管理组: root 0

普通组: 1-60000

​ 系统组

​ 一般组

主组,基本组、私有组,用户的默认组

附加组,额外组 用户组默认组之外的组

2.1组添加

groupadd 组名

2.2查看组

grep ‘^组名’ /etc/group

cat /etc/group 组配置文件

root:x:0:
组名:组密码占位符:GID:组中的用户名

2.3修改组信息

groupmod [option…] [选项参数] 组名

-n  修改组名     #groupmod -n grp1   g1
-g  修改组id     #groupmod -g 2222   g1

2.4删除组

groupdel 组名

2.5设置,修改组密码

gpasswd 组名

gpasswd 组名  设置组密码
-r   删除组密码
-a   把指定用户加入组     #usermod -G g1 redhat ==  #gpasswd -a redhat  g1
-M   指定多个用户加入组(指定新的组成员列表)   #gpasswd -M  user1,user2,user3   g1
-d   将指定用户从组中移除   #gpasswd -d user1 g1
-A   指定组长(可以在组中添加成员或删除一个组用户)   #gpasswd  -A   user2   g1
-R   锁定组(用户知道组密码也不能验证登录)                             

2.6 登录新组

newgrp 组名

练习题

1.新建组,shengchan,caiwu,jishu

#groupadd shengchan
#groupadd caiwu
#groupadd jishu

2.新建用户要求如下:

​ * wjx 是shengchan组的附加用户

​ * liuy 是caiwu组的附加用户

​ * zxx 是jishu组的附加用户

​ * 新建admin用户,此用户不属于以上提到的三个部门,以上用户密码设置为redhat

#useradd wjx
#usermod -G shengchan  wjx   == #useradd -G shengchan  wjx
#useradd -G caiwu liuy
#useradd zxx
#gpasswd -a zxx jishu 
#useradd admin
(1)#passwd wjx
(2)#echo redhat | passwd --stdin  liuy
(3)#echo zxx:redhat | chpasswd
(4)#vim file
wjx:redhat
liuy:redhat
zxx:redhat
admin:redhat
#cat file | chpasswd 

3.实验

创建学习组1,学习组2 ;他们的组gid分别为1111,2222,添加成员并将uid为1088,

和uid为1066的成员为两组的组长,其中一组组长有一个‘外号’laoda。

不同学习组成员进入其他组需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入。

添加组
#groupadd std1 
#groupmod -g 1111 std1

#groupadd -g 2222 std2
创建用户
#useradd user1
#useradd -u 1088 user2 
把用户加入组
#usermod -G std1  user1
#gpasswd -a user2 std1
#gpasswd -A user2  std1

#useradd da1
#useradd -u 1066 da2
#gpasswd -M  da1,da2  std2
#gpasswd -A d2 std2

#usermod  -c laoda  user2
组密码设置
#gpasswd  std1
#gpasswd std2
#gpasswd -R std1
#gpasswd -R  std2

不允许用户远程登录

usermod -s /sbin/nologin u1

passwd -d u1

passwd -l u1

扩展

/etc/shadow 用户密码文件

用户名:加密密码:最后一修改密码的天数(1970):密码生效最短时间:最长时间:警告时间:延长时间:精确过期时间(1970):保留字段

/etc/gshadow 组密码信息

组名:组密码:组长:组成成员

/etc/default/useradd 用户创建默认加载的配置文件

参数含义
GR0UP=100这个选项用于建立用户的默认组,也就是说,在添加每个用户时,用户的初始组就是 GID 为 100 的这个用户组。但 CentOS 并不是这样的,而是在添加用户时会自动建立和用户名相同的组作为此用户的初始组。也就是说这个选项并不会生效。 Linux 中默认用户组有两种机制:一种是私有用户组机制,系统会创建一个和用户名相同的用户组作为用户的初始组;另一种是公共用户组机制,系统用 GID 是 100 的用户组作为所有新建用户的初始组。目前我们采用的是私有用户组机制。
HOME=/home指的是用户主目录的默认位置,所有新建用户的主目录默认都在 /home/下。
INACTIVE=-1指的是密码过期后的宽限天数,也就是 /etc/shadow 文件的第七个字段。这里默认值是 -1,代表所有新建立的用户密码永远不会失效。
EXPIRE=表示账号过期时间,也就是 /etc/shadow 文件的第八个字段。默认值是空,代表所有新建用户没有失效时间,永久有效。
SHELL=/bin/bash表示所有新建立的用户默认 Shell 都是 /bin/bash。
SKEL=/etc/skel在创建一个新用户后,你会发现,该用户主目录并不是空目录,而是有 .bash_profile、.bashrc 等文件,这些文件都是从 /etc/skel 目录中自动复制过来的。因此,更改 /etc/skel 目录下的内容就可以改变新建用户默认主目录中的配置文件信息。
CREATE_MAIL_SPOOL=yes指的是给新建用户建立邮箱,默认是创建。也就是说,对于所有的新建用户,系统都会新建一个邮箱,放在 /var/spool/mail/ 目录下,和用户名相同。

/etc/login.defs 登录用户默认匹配的配置文件

注:配置文件中的#表示注释 
 MAIL_DIR    /var/spool/mail   \#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
 PASS_MAX_DAYS  99999    \#密码最大有效期
 PASS_MIN_DAYS  0    \#两次修改密码的最小间隔时间
 PASS_MIN_LEN  5      \#密码最小长度,对于root无效
 PASS_WARN_AGE  7   \#密码过期前多少天开始提示

 #创建用户时不指定UID的话自动UID的范围
 UID_MIN          500\#用户ID的最小值
 UID_MAX         60000  \#用户ID的最大值

 #自动组ID的范围
 GID_MIN          500\#组ID的最小值
 GID_MAX         60000    \#组ID的最大值

USERDEL_CMD  /usr/sbin/userdel_local  \#当删除用户的时候执行的脚本
CREATE_HOME   yes     \#使用useradd的时候是够创建用户目录
USERGROUPS_ENAB yes    \#用MD5加密密码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳阳真的很菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值