Liunx用户管理

8 篇文章 0 订阅
1 篇文章 0 订阅

 用户相关文件

1.1  /etc/passwd 用户信息文件

注意:    ":"号为一列。 

第一列:用户名   第二列:密码位(加密后) 第三列:用户ID 

第三列解释:超级用户 UID,也代表这个账号是管理员账号。那 Linux 中就是把其他用的 UID 修改为 0 (数字)就可以了,Windows 用户是以组为管理员(Administrator)账号。

1-499 这些是系统保留给系统用户的UID,这些是不能登录的,是用来运行服务的,其中1-99是系统保留账号,系统自动建立,100-499预留给用户创建账号。

500-60000 普通用户UID,普通用户UID从500开始,60000结束。2.6.X内核后已经支持到2^32。

第4列:组ID GID添加用户时,如果不定所属初始组,会建立和用户名相同的组。

第五列:用户说明  第六列:用户家目录 第七列:登录shell  /bin/bash

1.2  /etc/shadow  影子文件

 第一列:用户名   第二列:加密密码   在密码前加入“!”或“*”改变加密值让密码暂时失效,使这个用户无法登陆,达到暂时禁止用户登录的效果。注意:所有伪用户的密码都是“!!”或“*,代表没有密码是不能登录的。新用户如果不设定密码,它的密码项也是“!!”。

 第三列:密码最近更改的时间,以1970  1  1 日作为标准时间。

时间戳转日期命令:

日期转时间戳:

第四列: 两次密码的修改间隔时间(和第 3 列相比)

第五列:密码有效期(和第 3 列相比)

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

第七列:密码过期后的宽限天数(和第 5 列相比)

第八列:密码失效时间

注意:这里也是用时间戳,也就是用 1970  1  1 日进行时间换算。如果超过了失效时间,就算密码没有过期,用户也就失效无法使用了。

第九列:保留(暂时无意义)

1.3  /etc/group     组信息文件

 第一列: 组名     第二列:组密码位  第三列:GID    第四列:此组中支持其他用户,附加组是此组的用户。

初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组。

附加组:每个用户可以属于多个附加组。

组密码文件:/etc/gshadow 如果用户组设定了组管理员,用户组设定组密码,组密码就是这个文件。

用户家目录

用户的邮箱目录:/var/spool/mail 

用户模板目录:/etc/skel/

二 用户管理命令

 2.1 手工删除用户

       手工删除用需要删除以下文件目录里面相应的用户文件、信息,如果删除后还能正常建立说明删除干净。

/etc/passwd      /etc/shadow      /etc/group       /etc/gshadow         /home/user1

/var/spool/mail/用户名   邮箱目录

2.2  useradd 命令

useradd 选项 用户名  
选项:
-u   550    指定 UID
-g   组名	指定初始组	不要手工指定
-G   组名	指定附加组,把用户加入组,使用附加组
-c   说明	添加说明
-d   目录	手工指定家目录,目录不需要事先建立
-s   shell	/bin/bash.

2.3 useradd 默认值

  useradd                      /etc/default/useradd   

/etc/login.defs

 /etc/default/useradd 

解释如下:

GROUP=100    建立用户的默认组,用户的初始组就是 GID  100 的这个用户组。  

HOME=/home   用户的家目录的默认位置,所以所有的新建用户的家目录默认都在/home/下。

INACTIVE=-1    就是密码过期后的宽限天数,也就是/etc/shadow  文件的第七个字段。如果 0,代表密码过期后立即失效;如果是-1,则代表密码永远不会失效。这里默认值是-1。

 EXPIRE=      密码失效时间,也就是/etc/shadow  文件的第八个字段。这里也是使用时间戳来表示日期的。默认值是空,表示新建用户没有失效时间。

SHELL=/bin/bash    表示所有建立用户都具备 shell 的权限。

SKEL=/etc/skel   表示定义用户的模板目录的位置,/etc/skel/目录中的文件都会复制到新建用户的家目录当中。

CREATE_MAIL_SPOOL=yes  表示用户建立邮箱,默认是创建,也就是说所有的新建用户系统都会新建一个邮箱,放在/var/spool/mail/下和用户名相同。 

/etc/login.defs

  1 #
  2 # Please note that the parameters in this configuration file control the
  3 # behavior of the tools from the shadow-utils component. None of these
  4 # tools uses the PAM mechanism, and the utilities that use PAM (such as the
  5 # passwd command) should therefore be configured elsewhere. Refer to
  6 # /etc/pam.d/system-auth for more information.
  7 #
  8 
  9 # *REQUIRED*
 10 #   Directory where mailboxes reside, _or_ name of file, relative to the
 11 #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
 12 #   QMAIL_DIR is for Qmail
 13 #
 14 #QMAIL_DIR      Maildir
 15 MAIL_DIR        /var/spool/mail
 16 #MAIL_FILE      .mail
 17 
 18 # Password aging controls:
 19 #
 20 #       PASS_MAX_DAYS   Maximum number of days a password may be used.
 21 #       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
 22 #       PASS_MIN_LEN    Minimum acceptable password length.
 23 #       PASS_WARN_AGE   Number of days warning given before a password expires.
 24 #
 25 PASS_MAX_DAYS   99999
 26 PASS_MIN_DAYS   0
 27 PASS_MIN_LEN    5
 28 PASS_WARN_AGE   7
 29 
 30 #
 31 # Min/max values for automatic uid selection in useradd
 32 #
 33 UID_MIN                   500
 34 UID_MAX                 60000
 35 
 36 #
 37 # Min/max values for automatic gid selection in groupadd
 38 #
 39 GID_MIN                   500
 40 GID_MAX                 60000
 41 
 42 #
 39 GID_MIN                   500
 40 GID_MAX                 60000
 41 
 42 #
 43 # If defined, this command is run when removing a user.
 44 # It should remove any at/cron/print jobs etc. owned by
 45 # the user to be removed (passed as the first argument).
 46 #
 47 #USERDEL_CMD    /usr/sbin/userdel_local
 48 
 49 #
 50 # If useradd should create home directories for users by default
 51 # On RH systems, we do. This option is overridden with the -m flag on
 52 # useradd command line.
 53 #
 54 CREATE_HOME     yes
 55 
 56 # The permission mask is initialized to this value. If not specified, 
 57 # the permission mask will be initialized to 022.
 58 UMASK           077
 59 
 60 # This enables userdel to remove user groups if no members exist.
 61 #
 62 USERGROUPS_ENAB yes
 63 
 64 # Use SHA512 to encrypt password.

解释如下:

MAIL_DIR  /var/spool/mail

表示:新建用户的默认邮箱位置

PASS_MAX_DAYS         99999

指定密码有效期,也就是/etc/shadow文件第五列,代表多少天之后必须修改密码。

PASS_MIN_DAYS         0

指定两次密码修改间隔时间,也就是/etc/shaolw  文件第4列字段,默认值0。

PASS_MIN_LEN  5

代表密码的最小长度,默认不小于 5 位。但是我们现在用户登录时验证已经被 PAM 模块取代,

所以这个选项并不生效。

PASS_WARN_AGE         7

代表密码修改到期前的警告天数,也就是/etc/shadow  文件的第六字段,默认值是 7 天。

UID_MIN    500

UID_MAX    60000

表示最小 UID 和最大的 UID 的范围。我们 2.6.x 内核开始,Linux 用户的 UID最大可以支持 2^32  ,如果超过60000可以手工修改。

GID_MIN    500

GID_MAX    60000

两行指定了 GID 的最小值和最大值之间的范围。

CREATE_HOME    yes

指定建立用户时是否自动建立用户的家目录,默认是建立。

UMASK                         077

指定的是建立的用户家目录的默认权限,因为 umask 值是 077,所以新建的用户家目录的权

限是 700。

USERGROUPS_ENAB     yes

指定的是使用命令 userdel 删除用户时,是否删除用户的初始组,默认是删除。

ENCRYPT_METHOD       SHA512

指定  Linux  用户的密码使用  SHA512  散列模式加密。

3    设定密码

[root@localhost  ~]#passwd  [选项]  用户名
选项:
-l:	暂时锁定用户。仅 root 用户可用
-u:	解锁用户。仅 root 用户可用
--stdin:	可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用

[root@localhost  ~]#passwd
#passwd 直接回车代表修改当前用户的密码

 也可以使用字符串作为密码:

[root@localhost  ~]#  echo  "123"  |  passwd  --stdin  user1
更改用户  user1  的密码  。

可以通过命令,把密码修改日期归零(shadow  3 字段).这样用户一登陆就要修改密码

[root@localhost  ~]#  chage  -d  0  user1

 4      用户信息修改

usermod 命令是修改已经添加的用户的信息的,命令如下:

[root@localhost  ~]#usermod  [选项]  用户名
选项:
-u  UID:	修改用户的 UID
-d  家目录:	修改用户的家目录。家目录必须写绝对路径
-c  用户说明:	修改用户的说明信息,就是/etc/passwd 文件的第五个字段
-g  组名:	修改用户的初始组,就是/etc/passwd 文件的第四个字段
-G  组名:	修改用户的附加组,其实就是把用户加入其他用户组
-s  shell:	修改用户的登录 Shell。默认是/bin/bash
-e  日期:	修改用户的失效日期,格式为“YYYY-MM-DD”。也就是/etc/shadow
文件的第八个字段
-L:	临时锁定用户(Lock)
-U:	解锁用户(Unlock)

 5      删除用户

[root@localhost  ~]#  userdel  [-r]  用户名
选项:
-r:	在删除用户的同时删除用户的家目录

6      切换用户身份 

su 命令可以切换成不同的用户身份,命令格式如下:

[root@localhost  ~]#  su  [选项]  用户名
选项:
-:	选项只使用“-”代表连带用户的环境变量一起切换
-c  命令: 仅执行一次命令,而不切换用户身份

  组管理命令

1      添加用户组:groupadd

[root@localhost  ~]#  groupadd  [选项]  组名
选项:
-g  GID:   指定组 ID

2      删除用户组:groupdel

[root@localhost  ~]#groupdel  组名

3     把用户添加进组或从组中删除:gpasswd 

[root@localhost  ~]#  gpasswd  [选项]  组名
选项:
-a  用户名:	把用户加入组
-d  用户名:	把用户从组中删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值