四、Linux学习笔记 -- 用户和用户组管理

whoami:     查看用户名

一、用户配置文件

          ①. 用户信息文件/etc/passwd

                    1.用户管理简介

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

                          在Linux中主要是通过用户配置文件来查

                    2./etc/passwd

                           bin:x:1:1:bin:/bin:/sbin/nologin

                           第1字段:用户名称

                           第2字段:密码标志

                           第3字段:UID(用户ID)

                                   0:               超级用户

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

                    500-65535:              普通用户

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

                           第5字段:用户说明

                           第6字段:家目录

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

                                   超级用户:/root/

                            第7字段:登录之后的Shell

                    3.初始组合附加组

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

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

                    4.Shell是什么

                            Shell就是Linux的命令解释器。

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

          ②. 影子文件

                   1.影子文件/etc/shadow

                           第1字段:用户名

                           第2字段:加密密码

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

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

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

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

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

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

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

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

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

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

                           第8字段:账号失效时间

                                     要用时间戳表示

                           第9字段:保留

                    2.时间戳换算

                           把时间戳换算为日期

                                  date -d "1970-01-01 16066 days"

                           把日期换算为时间戳

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

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

                    1.组信息文件/etc/group

                           第一字段:组名

                           第二字段:组密码标志

                           第三字段:GID

                           第四字段:组中附加用户

                     2.组密码文件/etc/gshadow

                            第一字段:组名

                            第二字段:组密码

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

                            第四字段:组中附加用户

   

二、用户管理相关文件

             1.用户的家目录

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

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

             2.用户的邮箱

                       /var/spool/mail/用户名/           系统自动创建

             3.用户模板目录

                       /etc/skel/            用户创建后,家目录中默认有模板目录中的文件

三、用户管理命令

          ①. 用户添加命令useradd

                   1.useradd命令格式

                         useradd[选项]用户名

                          选项:

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

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

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

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

                                  -G组名:     指定用户的附加组

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

                           useradd -u 666 -G root,bin(系统中已存在) -c"test user" -d /liming -s /bin/bash liming 

                   2.添加默认用户

                           useradd sc

                           查看其默认添加的文件信息:

                                  grep sc /etc/passwd

                                  grep sc /etc/shadow

                                  grep sc /etc/group

                                  grep sc /etc/gshadow

                                  ll -d /home/sc/

                                  ll /var/spool/mail/sc

                    3.指定选项添加用户

                            useradd -u 550 -G root,bin -d /home/lampl -c"test user" -s /bin/bash sc

                    4.用户默认值文件

                             /etc/default/useradd

                                    GROUP=100                                  #用户默认组

                                    HOME=/home                               #用户家目录

                                    INACTIVE=-1                                 #密码过期宽限天数(shadow文件7字段)

                                    EXPIRE=                                         #密码失效时间(8)

                                    SHELL=/bin/bash                           #默认shell

                                    SKEL=/etc/skel                               #模板目录

                                    CREATE_MAIL_SPOOL=yes             #是否建立邮箱

                              /etc/login.defs

                                     PASS_MAX_DAYS  99999              #密码有效期(5)

                                     PASS_MIN_DAYS  0                       #密码修改间隔(4)

                                     PASS_MIN_LEN  5                         #密码最小5位(PAM)

                                     PASS_WARN_AGE  7                      #密码到期警告(6)

                                     UID_MIN  500                                #最小和最大UID范围

                                     GID_MAX  60000

                                     ENCRYPT_METHOD  SHA512         #加密模式

          ②. 修改用户密码passwd

                     1.passwd命令格式

                              passwd[选项] 用户名

                               选项:

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

                                       -l          暂时锁定用户。仅root用户可用 (将/etc/shadow文件的密码前加!)

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

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

                               

                                    passwd  更改自己的密码

               

                      2.查看密码状态

                               passwd -S lamp

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

                                    #用户名密码设定时间(2013-01-06)    密码修改间隔时间(0)

                                    #密码有效期(99999)    警告时间(7)     密码不失效(-1)

                      3.锁定用户和解锁用户

                               passwd -l lamp        锁定用户不能登录

                               passwd -u lamp       解锁用户

                      4.使用字符串作为用户的密码

                               echo "123" | passwd --stdin lamp(shell编程中,批量增加)

                               #将输入的字串作为密码(|将第一个命令的输出作为第二个命令的输入)

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

                      1.修改用户信息usermod

                              usermod[选项] 用户名

                                 选项:

                                     -u UID:       修改用户的UID号

                                     -c用户说明: 修改用户的说明

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

                                     -L:              临时锁定用户(Lock)

                                     -U:             解锁用户锁定(Unlock)

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

                                 示例:

                                         usermod -c "test user" lamp      #修改用户的说明

                                         usermod -G root lamp               #把lamp用户加入root组

                                         usermod -L lamp                       #锁定用户

                                         usermod -U lamp                      #解锁用户

                        2.修改用户密码状态 chage

                                 chage [选项] 用户名

                                  选项:

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

                                        -d 日期:      修改密码最后一次更改日期(shadow3字段)

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

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

                                        -W 天数:     密码过期前警告天数(6字段)

                                        -I 天数:       密码过后宽限天数(7字段)

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

                                  示例:

                                        chage -d 0 lamp

                                        #这个命令其实是把密码修改日期归0了(shadow第3字段)  

                                        #这样用户一登录就要修改密码   

          ④. 删除用户userdel和用户切换命令su

                       1.删除用户userdel

                                 userdel [-r] 用户名

                                   选项:

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

                                 手工删除用户

                                       vi /etc/passwd

                                       vi /etc/shadow

                                       vi /etc/group

                                       vi /etc/gshadow

                                       rm -rf /var/spool/mail/lamp

                                       rm -rf /home/lamp/

                         2.查看用户ID

                                   id 用户名

                         3.切换用户身份su

                                    su [选项] 用户名

                                     选项:

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

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

                                     示例:

                                            su - root                                     #切换成root 

                                            su - root -c "useradd user3"       #不切换成root,但是执行useradd命令添加user

用户

    

                                     env                 #查看用户环境变量

                                         

          

四、用户组管理命令

               1.添加用户组

                          groupadd [选项] 组名

                           选项:

                                  -g GID:          指定组ID

               2.修改用户组(尽量不要改)

                          groupmod [选项] 组名

                          选项:

                                 -g GID:           修改组ID

                                 -n 新组名:       修改组名

                          示例:

                                 groupmod -n testgrp group1

                                 #把组名group1修改为testgrp 

               3.删除用户组

                           groupdel 组名

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

                          gpasswd 选项 组名

                          选项:

                               -a 用户名:     把用户加入组

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值