8.25用户管理

用户管理

一、Linux用户和组相关的文件

/etc/passwd:

centos:x:500:500::/home/centos:/bin/bash

各部分解释,一共分为7部分,用“:”分割

用户名:用户密码:UID:GID:注释信息:家目录:SHELL

/etc/shadow:

centos:$6$LFk9FU0x$lgGUCoCUkzJAyiEkAPWf04g8VootkRtEpWDDX68K8MbD60oHAagQx0pTqS5vETYSZZUnPwhUrMzZveCxgO/NP0:16673:0:99999:7:::

各部分同样用“:”分隔开,一共9段

1、 用户名

2、 加密的密码串,格式:$XXXXX$XXXXXXXXX

3、 上次修改密码的日期(相对于UNIX元年,1970年1月1日)

4、 最短使用期限(按天计算,0代表无限期短)

5、 最长使用期限(按天计算)

6、 密码警告期限(离密码修改时间前N天提醒)

7、 密码非活动期限(到最长使用期限N天不修改密码则限制登陆)

8、 账号到期时间(从1970年1月1日计算)

9、 保留

/etc/group:centos:x:500:

1、 组名

2、 密码

3、 GID

4、 用户列表

二、命令演示

useradd 添加用户

useradd [options] LOGIN

useradd -D [options] 设置默认选项

-u 指定UID

-g 指定GID,事先存在

-G 指定groups,事先存在

-s 指定shell

-d 指定家目录

-M 创建用户不给家目录

-r 创建系统用户(已此用户身份来启动服务,默认是不登陆系统的)不常用

-c 填写注释信息(比如什么NAME,phone number,office number等)不常用

-e 账号到期时间,格式YYYY-MM-DD

实例演示:

创建一个用户指定UID为2000,GID为1000,并且加入sql、Oracle两个所属组中,家目录为/home/database,注释信息为“test account”,指定的shell是/sbin/nologin,用户名为wkp

[root@localhost ~]# useradd -u 2000 -g 1000 -d /home/database -c "test account" -s /sbin/nologin -G sql,oracle wkp

[root@localhost ~]# id wkp

uid=2000(wkp) gid=1000(test) groups=1000(test),501(sql),502(oracle)

创建用户的时候指定用户的失效日期,不过在/etc/shadow中是按UNIX元年计算

例如:

[root@localhost ~]# useradd -e 2015-08-27 test1

[root@localhost ~]# tail -2 /etc/shadow

wkp:!!:16673:0:99999:7:::

test1:!!:16673:0:99999:7::16674:

16674:1970年1月1日至到期日期

[root@localhost ~]# useradd -M test3

[root@localhost ~]# ls /home/

centos database test1 test2

创建用户时,不给家目录

groupadd 创建组

-r 系统组

-g 指定GID

[root@localhost ~]# groupadd -g 1008 test4

[root@localhost ~]# tail -1 /etc/group

test4:x:1008:

id 查看用户UID、GID等信息

-u 仅查看uid

-g 仅查看gid

-G 仅查看groups

-n 仅查看name

su switch user 切换用户

su username 半切换

su �C username 或者su �Cl username 完全切换

su �C name �Cc “command”

以某用户身份执行命令

clip_image002

usermod 修改用户属性信息

-u 修改用户uid

-g 修改用户gid

-G 修改用户所属组,需要加上-a选项

-s 修改用户是shell

-c 修改用户注释信息

-d 修改用户家目录,如果将原来家目录移动到别处要另外加上-m

-l 修改账户的用户名

-L lock

-U unlock

clip_image004

修wkp用户uid为1001,gid为1001,所属组为2002和2003 ,shell为/bin/bash,家目录为/home/wkp

clip_image005

用户锁定

用户解锁

修改用户名

passwd 修改用户名密码

-d, --delete delete the password for the named account (root only)

-l, --lock lock the password for the named account (root only)

-u, --unlock unlock the password for the named account (root only)

-e, --expire expire the password for the named account (root only)

-x, --maximum=DAYS maximum password lifetime (root only)

-n, --minimum=DAYS minimum password lifetime (root only)

-w, --warning=DAYS number of days warning users receives before password expiration (root only)

-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)

--stdin 从标准输出接收密码

普通用户只能修改自己的密码,并且密码复杂度符合要求

clip_image006

root为其他用户设置简单的密码

clip_image007

锁定、解锁用户演示

clip_image009

加上―stdin避免了与用户的交互,可以在脚本自动化中使用

userdel 删除用户

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

clip_image010

groupmod 修改组属性信息

-n 修改组名

-g 修改组ID

clip_image011

gpasswd 修改组密码

一般情况下用不着,这种情况下用得到

newgrp:切换基本组为指定的组

clip_image012

为wkp组设置密码

clip_image013

可以看出,在临时切换基本组的时候需要用到密码,新建后的文件所属组发生变化(变成临时切换的组)

groupdel 删除组

groupdel GROUPNAME 即可

chage 修改账号和密码的有效期

-l 查看账号状态,当前的设置

-d 设置上一次修改日期

-E 设置账户过期的日期

-m 密码最小使用时间

-M 密码最长使用时间

-W 设置过期警告时间

chage --help可以查看到这些用法说明

clip_image015

clip_image017

修改账户的密码最小使用日期为3天、最长使用时间33天、密码过期前2天警告

clip_image019

finger 查看账号的信息

clip_image020

用户名、家目录、shell、是否登陆、mail和任务计划

你可能感兴趣的:(linux用户管理)