Linux介绍---用户管理

1.用户相关文件
1./etc/passwd 用户信息文件。
root❌0:0:root:/root:/bin/bash
第一列: 用户名
第二列:密码位
第三列:用户ID
0 超级用户UID。如果用户UID为0,代表这个账号是管理员账号,那么Linux中如何吧普通用户升级为管理员呢?就是把其他用户的UID修改为0就可以了,这点和Windows不同,不过不建议多个管理员账号。
1-499系统用户(伪用户)UID。这些UID账号是系统保留用户的UID,也就是所UID是1-499范围内的用户登陆系统的。100-499是预留给用户创建系统账号的。
500-60000 普通用户UID,建立的普通用户UID从500开始,最大到60000。这些用户足够用了,但是如果不够用的话也不用害怕,2.6.x内核以后的Liunx系统用户UID已经可以支持2的32次方这么多了。
第四列:组ID GID添加用户时,如果不指定用户所属的的初始祖,那么会建立和用户相同的组。
第五列:用户说明
第六列:用户家目录 ~
第七列:登陆shell /bin/bash
把普通用户变成超级用户:把用户UID改为0.
/etc/shashadow影子文件
root:$6 0 f p R F i N p s m 1. R X / Z 0fpRFiNpsm1.RX/Z 0fpRFiNpsm1.RX/ZySn/hVOYRc3VUop5GwpRN0plKCGfAyOUCVlAPKyCUuGQBgF5/H8sKa2xHxxb/m4./vwGxXuuvvGfE6CBOBwBP/::0:99999:7:::
第一列:用户名
第二列:加密密码(我们也可以在密码前面人为的加入!或者*改变加密值让密码暂时失效,使这个用户米有办法登录,达到暂时禁止用户的登陆的效果。注意,所有伪用户的密码都是!或者星号,代表没有密码是没法登录的。当然我们新创建的用户不设定密码它的密码也是!! ,代表这个用户没有密码,不可以登录。)
第三列:密码最近更改时间,1970年1月1日作为标准日期。
时间戳转日期
在这里插入图片描述
第四列:两次修改密码的修改间隔时间,和(第三个3字段相比)
第五列:密码有效期和第三字段相比
第六列:密码修改到期前的警告天数,(和第五字段相比)
第七列:密码过期后的宽限天数(和第五字段相比)
第八列:密码失效时间。这里同样写时间戳也就是用1970年1月1日进行时间换算,
第九列:保留。
/etc/group组信息文件
在这里插入图片描述
第一列:组名。
第二列:组密码位。
第三列:GID。
第四列:此组中支持的其他用户,附加组是此组用户。
初始祖:每个用户初始祖只能又一个,初始祖只能又一个,一般都是和用户名相同的组作为初始祖。
附加组:每个用户可以属于多个附加组,要把用户加入组中,都是附加组。
4组密码文件/etc/gshadow
如果我们给用户设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中,组管理员就可以利用这个密码管理这个用户组了。
5用户家目录。
6用户邮箱目录。
7用户模版目录。/etc/skel。
用户管理命令
1.添加用户:
1.1手动删除用户。
手动删除用户实验:手动删除,如果可以正常建立用户,证明用户删除干净。
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home/user1
/var/spool/mail/user1 邮箱。
1.2useradd 命令:
useradd 选项 用户名。
选项:
-u 550 指定uuid
-g 组名 指定初始祖,不要用于手动指定。
-G组名 指定附加组,把用户加入组中,使用附加组。
-c说明 添加说明。
-d 目录 手动指定家目录,目录不需要事先建立。
-s shell /bin/bash
groupadd testlamp:手动添加testlamp用户组。
useradd -u 550 -g testlamp -G root -d /home/testlamp -c “test user” -s /bin/bash testlamp
建立testlamp用户同时指定uuid 初始祖 附加组 家目录 用户说明 和用户登录。
cat /etc/passwd | grep testlamp 查看是否添加成功。
1.3useradd默认值:
useradd 添加用户时参考的默认值文件主要有两个,分别时/etc/default/useradd 和/etc/login.defs.
1./etc/default/useradd
在这里插入图片描述
解释一下:
GROUP=100
这个选项是建立用户的默认组,也就是说添加每个用户时,用户的初始组就是GID为100的这个用户组,目前我们采用的机制似有用户组机制。
HOME=/home
这个选项是用户家目录的默认位置,所以所有的新建用户的家目录默认在/home/下
INACTIVE= -1
这个选项是密码过期后的宽限天数,也就是/etc/shado文件的第七个字段,如果是天数,比如10代表密码过期后10天后失效。如果是0代表密码过期后会立即失效,如果是-1 则代表密码永远不会失效。
EXPIRE=
这个是密码失效时间。也就是/etc/shadow文件的第八个字段,也就是说用户达到这个日期后就会直接失效,当然这里也是使用时间戳来表示日期,默认是空。所有新建用户没有失效时间,永久失效。
SHELL=/bin/bash
这个选项是用户默认的shell的。/bin/bash是Linux的标准的shell,所以所有新建的用户默认具备shell赋予权限。
SKEL=/etc/skel
这个选项就是定义用户模板目录的位置,/etc/skel目录中的文件都会复制到新建用户的家目录当中。
CREATE_MALL_SPOOL=yes
这个选项定义是否给新建用户建立邮箱,默认是创建,也就是说所有的新建用户系统都会新建一个邮箱,放在/var/spool/mail下和用户名相同。
/etc/login.defs
vi在这里插入图片描述
解释一下:
MAIL_DIR /var/spool/mail
指定了新建用户的默认邮箱位置。
PASS_MAX_DAYS 99999
这行指定了密码的有效期,也就是/etc/shadow文件的第五字段,代表多少天之后必须修改密码。默认是9999
PASS_MIN_DAYS 0
这行指定的是两次密码的修改间隔时间,也就是/etc/shadow文件的第四段,代表第一次修改密码之后,几天后才能再次修改密码,默认值是0.
PASS_MIN_LEN 5
这行代表密码的最小长度,默认是不小于5位。但是我们现在用户登录是验证已经被PAM模块取代,所以这个选项并不生效。
PASS_WARN_AGE 7
这行代表密码修改到期前的警告天数,也就是/etc/shadow文件的第六字段,代笔密码到底有效期前多少天开始进行警告,默认是7天。
UID_MIN 1000
UID_MAX 60000
这两行代表创建用户时,最小的UID和最大 的UID的范围,我们在2.6.x内核开始,Linux用户的UID最大可支持2的32次方,但是真正使用时最大范围时6000,还要注意如果我们手动指定了一个用户的UID时550,那么一下子创建的用户的UID就会从551开始,哪怕是500-549之间的UID没有使用
SYS_UID_MIN 201
SYS_UID_MAX 999

GID_MIN 1000
GID_MAX 60000
这两行指定了GID的最小值和最大值。
CREATE_HOME yes
这行指定建立用户时是否自动创建用户的家目录,默认是建立的。
UMASK 077
建立用户家目录的默认权限,因为umask值是077 所以新建的用户家目录的权限是700umask的具体作用和修改方法我们可以参考下一张权限设置章节。
USERGROUPS_ENAB yes
这行指定的是使用userdel删除用户时,是否删除用户的初始组,默认是删除。
ENCRYPT_METHOD SHA512
这行制定了Linux用户的密码使用的书SHA512散列模式加密,这是新密码的加密模式,原来使用的DES或者MD5方式加密。
设定密码
passwd [选项] 用户名:
选项:
-l:暂时锁定用户,仅限root用户使用。
-u:解锁用户,仅root用户可用。
–stdin:可以将通过管道符输出到数据作为用户的密码,主要在批量添加用户时使用
在这里插入图片描述
echo “123456” | passwd --stdin user4
也可以使用字符串作为密码:
在这里插入图片描述

在这里插入图片描述
可以通过命令,把密码修改日期归零,这样用户已登陆就要修改密码。

用户信息修改
usermod [选项] 用户名:
选项:
-u UID x修改用户UID。
-d 家目录,修改用户的家目录,家目录必须写绝对路径。
-c 用户说明,修改用户的说明信息,就是/etc/passwd 文件的i 第五个字段。
-g 组名 修改用户的初始组。就是/etc/passwd文件的第四个字段。
-G 组名 修改用户的附加组,其实就是把用户加入到其他用户组中。
-s shell 修改用户的登录shell,默认是/bin/bash
-e 日期 修改用户失效日期,格式为‘YYYY-MM-DD’,也就是/etc/shadow文件的第八个字段。
-L 临时锁定用户。
-U 解锁用户。
删除用户
userdel [-r] 用户名。
选项:
-r:在删除用户的同时删除用户的家目录。
切换用户
su 命令可以切换成不同的身份,
su [选项] 用户名。
选项:
-:只使用“-” 代表连带用户的环境变量一切切换。
-c命令:仅执行一次命令,而不用切换命令。
- 不能省掉,它代表切换用户身份时,用户的环境变量也要切换成新用户的环境变量。
三组管理命令
1.添加用户 groupadd
添加用户组的命令是groupadd,格式如下:
groupadd [选项] 组名。
选项:
-g GID:指定组ID。
添加用户组的命令的命令比较简单。
2.删除用户:groupdel
groupdel 命令主要用于删除用户组.
3.把用户添加进组或者从组中删除。gpasswd
其实gpasswd命令是用来设定组密码并指定组管理员,不过我们在前面已经说了,组密码和组管理员功能很少使用。而且完全可以被sudo命令取代,所以gpasswd命令 现在主要用户把用户添加进组或者从组中删除。
命令格式
gpasswd [选项] 组名
选项:
-a 用户名:把用户加入组
-d 用户名 :把用户从组中删除。
4.改变有效组:
每个用户可以属于一个初始组,也可以属于多个附加组。用户创建文件后,文件的属组是用户的初始组,因为用户的有效默认是初始组。
使用newgrp 组名 可以切换用户的有效组。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值