兄弟连linux(五)--用户和用户组管理

1、用户配置文件

1.1 用户信息文件         /etc/passwd

1.1.1 用户管理简介

       所以越是对服务器安全性要求高的服务器,越需要建立合理的用户权限登记制度和服务器操作规范。

       在Linux中主要是通过用户配置文件来查看和修改用户信息。

1.1.2 /etc/passwd

       第1字段:用户名称

       第2字段:密码标志

       第3字段:UID(用户ID)

              0                   超级用户

              1-499             系统用户(伪用户)

              500-65535      普通用户

       第4字段:GID(用户初始组ID)

       第5字段:用户说明

       第6字段:家目录

              普通用户:/home/用户名/

              超级用户:/root/

       第7字段:登陆之后的Shell

1.1.3 初始组和附加组

       初始组:就是指用户已登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户名相同的组名作为这个用户的初始组。

       附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,福家族可以有多个。

1.1.4 Shell是什么

       Shell就是Linux的命令解释器

       在/etc/passwd当中,除了标准Shell是/bin/bash之外,还可以写如/sbin/nologin

1.2 影子文件                  /etc/shadow

1.2.1 影子文件

       第1字段:用户名

       第2字段:加密密码

              加密算法升级为SHA512散列加密算法

              如果密码位是“!!”或“*”代表没有密码,不能登录

       第3字段:密码最后一次修改日期

              使用1970年1月1日作为标准时间,每过一天时间戳加1

       第4字段:两次密码的修改间隔时间(和第3字段相比)

       第5字段:密码有效期(和第3字段相比)

       第6字段:密码修改到期前警告天数(和第5字段相比)

       第7字段:密码过期后的宽限天数(和第5字段相比)

              0     代表密码过期后立即失效

              -1    代表密码永远不会失效

       第8字段:账号失效时间

              要用时间戳表示

       第9字段:保留

1.2.2 时间戳换算

       把时间戳换算成日期

              date -d “1970-01-01 16066 days”

       把日期换算为时间戳

              echo $(($(date --date=”2014/01/06” +%s)/86400+1))

1.3 组信息文件    /etc/group  和 组密码文件       /etc/gshadow

1.3.1 组信息文件

       第1字段:组名

       第2字段:组密码标志

       第3字段:GID

       第4字段:组中附加用户

1.3.2 组密码文件

       第1字段:组名

       第2字段:组密码

       第3字段:组管理员用户名

       第4字段:组中附加用户

2、用户管理相关文件

2.1 用户的家目录

       普通用户:/home/用户名/,所有者和所属者都是此用户,权限是700

       超级用户:/root/,所有者和所属组都是root用户,权限是550

2.2 用户的邮箱

       /var/spool/mail/用户名/

2.3 用户模板目录

       /etc/skel/

3、用户管理命令

3.1 用户添加命令useradd

3.1.1 useradd命令格式

       $ useradd -udcgGs 用户名

              -u UID                  手工指定用户的UID号

-d 家目录             手工指定用户的家目录

-c 用户说明          手工指定用户的说明

-g 组名                手工指定用户的初始组

-G 组名                手工指定用户的附加组,用逗号对附加组之间进行分割

-s Shell                 手工指定用户的登录shell。默认是/bin/bash

3.1.2 添加默认用户

       $ useradd user1

              $ grep user1 /etc/passwd

              $ grep user1 /etc/shadow

              $ grep user1 /etc/group

              $ grep user1 /etc/gshadow

              $ ll -d /home/user1/

              $ ll /var/spool/mail/user1

3.1.3 指定选项添加用户

       $ useradd -u 550 -G root,bin -d /home/user2 -c “test user” -s /bin/bash user2

3.1.4 用户默认值文件

       /etc/default/useradd

              GROUP=100                       用户默认值

              HOME=/home                            用户家目录

              INACTIVE=-1                            密码过期宽限时间(shadow文件第7字段)

              EXPIRE=                                   密码失效时间(shadow文件第8字段)

              SHELL=/bin/bash                 默认shell

              SKEL=/etc/skel                           模板目录

              CREAT_MAIL_SPOOL=yes  是否建立邮箱

 

       /etc/login.defs

              PASS_MAX_DAYS            99999            密码有效期(shadow文件第5字段)

              PASS_MIN_DAYS              0                   密码修改间隔(shadow文件第4字段)

              PASS_MIN_LEN         5                   密码最小5位(PAM)

              PASS_WARN_AGE            7                   密码到期警告(shadow文件第6字段)

              UID_MIN                    500                最小和最大UID范围

              GID_MAX                  60000           

              ENCRYPT_METHOD SHA512         加密模式

3.2 修改用户密码passwd

3.2.1 passwd命令格式

       $ passwd -luS 用户名

              -l            暂时解锁用户。仅root用户可用

              -u           解锁用户。仅root用户可用

              -S           查询用户密码的密码状态,仅root用户可用。

              --stdin     可以通过管道符输出的数据作为用户的密码

3.2.2 查看密码状态

       $ passwd -S user2

              user2 PS 2013-01-06 0 99999 7 -1             

用户名密码设定时间(2013-01-06);密码修改间隔时间(0);密码有效期(99999);警告时间(7);密码不失效(-1)

3.2.3 锁定用户和解锁用户

       $ passwd -l user2

       $ passwd -u user2

3.2.4 使用字符串作为用户的密码

       $ echo “123” | passwd --stdin user2

3.3 修改用户信息usermod  和  修改用户密码状态chage

3.3.1 修改用户信息usermod

       $ usermod -ucGLU 用户名

              -u UID                  修改用户的UID号

-c 用户说明          修改用户的说明信息

-G 组名                修改用户的附加组

-L                         临时锁定用户(Lock)

-U                        解锁用户锁定(unlock)

 

       $ usermod -c “test user” user2       修改用户说明

       $ usermod -G root user2              将user2用户加入root组

       $ usermod -L user2                      锁定用户

       $ usermod -U user2                     解锁用户

3.3.2 修改用户密码状态chage

       $ chage -ldmMWIE 用户名

-l                   列出用户的详细密码状态

-d 日期         修改密码最后一次更改日期(shadow第3字段)

-m 天数        两次密码修改间隔(shadow第4字段)

-M 天数        密码有效期(shadow第5字段)

-w 天数         密码过期前警告天数(shadow第6字段)

-I 天数          密码过期后宽限天数(shadow第7字段)

-E 日期         账号失效时间(shadow第8字段)

 

       $ chage -d 0 user2

              这个命令其实是把密码修改日期归0了

              这样,用户一旦登录,需要先修改密码,在进行使用

3.4 删除用户userdel  和 用户切换命令su

3.4.1 删除用户userdel

       $ userdel -r 用户名

              -r 删除用户的同时删除用户家目录

3.4.2 手工删除用户

       $ vi /etc/passwd

       $ vi /etc/shadow

       $ vi /etc/group

       $ vi /etc/gshadow

       $ rm -rf /var/spool/mail/user2

       $rm -rf /home/user2

3.4.3 查看用户ID

       $ id 用户名

3.4.4 切换用户身份su

       $ su -c 用户名

              -     选项只使用“-”代表连带用户的环境变量一起切换

              -c    仅执行一次命令,而不切换用户身份

 

       $ su - root                                  切换成root用户

       $ su - root -c “useradd user3”       不切换成root,但是执行useradd命令添加user3用户

4、用户组管理命令

4.1 添加用户组

       $ groupadd -g 组名

              -g GID           指定组ID

4.2 修改用户组

       $ groupmod -gn 组名

              -g GID           修改组ID

              -n 新组名      修改组名

 

       $ groupmod -n newgroup testgroup      将组名testgroup改为newgroup

4.3 删除用户组

       $ groupdel 组名

4.4 把用户添加入组或从组中删除

       $ gpasswd -ad 组名

              -a 用户名      把用户加入组

              -d 用户名      把用户从组中删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值