正课二(2)

用户和组

Linux 是多用户、多任务的操作系统有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事。

 

 

linux系统比作一个公司的话,用户相当于员工,组相当于部门。

 

用户的相关操作命令:

useradd添加用户

userdel删除用户

usermod修改用户的属性

passwd为用户设置密码

1manuseradd

-c描述信息

-d家目录

-g指定主组 可以用ID或组名(组必须先创建)

-G指定附加组 可以用ID或组名(组必须先创建)

//指定组信息的时候,组必须存在于系统

-s指定登录的shell

-u 指定uid

举例:

useradd -c testuseru1描述信息

useradd -d /tmp/u1u2家目录

Useradd -g 555 u5指定主组

Useradd -G 555 u6指定附属组

useradd -s /bin/zshu7指定shell然后为7个用户设置密码,切换到文本F1~F6尝试登录系统!~

***********************************************************

useradd的创建流程

useradd user1

1、会在/etc/passwd 添加一行

2、会在/etc/group 添加一行

3、会在/etc/shadow 添加一行

4、会在/etc/gshadow 添加一行

5、会在/home 目录下建立一个与用户同名的目录作为家目录,

同时会从/etc/skel 目录中复制出所有的隐藏文件到该目录

6、修改权限

用户名:组名用户家目录

用户家目录

 

2/etc/passwd文件介绍

# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:密码控位键:UID:GID:描述:用户的家目录:shell

# tail -1 /etc/passwd

u1:x:500:500::/home/1:/bin/bash

1)用户名

2)x:不是真实的密码,但是代表密码在/etc/shadow

3)uid,gid:用来区分用户的权限!~

0

系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;

1-499系统用户

这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bindaemonadmftpmail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加系统用户

500-60000普通用户

这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的

 

4)描述字段:默认是空的!是给该账户添加描述信息用的!

相关命令

chfnusername用来设置用户的描述

finger username查看用户的描述信息

# chfn u1

Changing finger information for u0.

Name [u1]: u1

Office []: a

Office Phone []:b

Home Phone []:c

# finger u1

Login: u1Name: u01

Directory: /home/u1Shell: /bin/bash

Office: a, bHome Phone: c

Last login 11 15 14:30 (CST) on tty2

No mail.

No Plan.

5)家目录:用来存放用户的信息,默认在/home目录下!

修改:vim /etc/default/useradd

shellshell是人机对话的接口,如果没有shell,就不能登录系统!

***********************************************************

3userdel删除用户

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

***********************************************************

4usermod的参数和useradd基本一致,与 useradd 参数差不多,一个是在创建用户时设定,一个是用户创建好后修改

-L u1锁定用户,无法登录

-U u1为用户解锁

***********************************************************

5passwd

root 用户可以修改任何一个用户的密码

普通用户只能修改自己的密码,并且需要输入原密码,而且要注意密码复杂度的问题

#!/bin/bash

 

 

/etc/shadow - 保存了用户加密的密码

# head -1 /etc/shadow

root:$1$cqhi85DN$kUKartnMiaqXmL6N3icVA0:14677:0:99999:7:::

用户名

MD5散列的密码

最近一次更改的时间 197011日算起

密码最小生存周期几天之内不能修改密码

密码最大生存周期几天之后必须修改密码

密码过期前几天提醒用户

密码过期几天后帐号会被取消

帐号失效时间

保留

 

# tail -1 /etc/shadow

u1:!!:14734:0:99999:7:::!!密码是空

 

可以使用chage这个命令比较友好的查看!

#chage -l username 查看

# chage -l u1

最近一次密码修改时间

密码过期时间

密码失效时间

帐户过期时间

两次改变密码之间相距的最小天数

两次改变密码之间相距的最大天数

在密码过期之前警告的天数

 

#chage username可以修改相关字段!

 

***********************************************************

# cat /etc/login.defs useradd -D

PASS_MIN_LEN5

UID_MIN500

UID_MAX60000

GID_MIN500

GID_MAX60000

CREATE_HOMEyes

UMASK077

USERGROUPS_ENAB yes

MD5_CRYPT_ENAB yes

***********************************************************# cat /etc/default/useradd

GROUP=100预设的组

HOME=/home默认的家目录

INACTIVE=-1密码的实效时间

EXPIRE=用户的过期时间

SHELL=/bin/bash默认的shell

SKEL=/etc/skel用户的家目录的内容的参考目录

CREATE_MAIL_SPOOL=yes给用户创建邮箱

 

常用的命令:

id显示用户的系统标识,报告用户名,UID,组名,GID

su切换用户

# su - 用户

who查看哪个用户登录到系统

w查看哪个用户登录到系统并做了什么

whoami 显示当前用户

who am i显示当前用户的位置和登录时间

write给某个用户发信息

wall给所有用户发信息 ctrl+d结束

users有几个用户登录到主机

groups输出用户属于哪些组

newgrp登录到一个新的组里

last打印登陆过的用户

lastlog显示所有用户的登录信息***********************************************************

练习题:

按要求添加如下用户,登录测试,并查看

/etc/passwd

/etc/shadow

/etc/group

文件:

1、添加组g1 g2 g3

2、添加用户q1,主组是g1uid1000

3、添加用户q2,附属组是g2g3

4、添加用户q3,家目录是/jhome/q3,有几种办法

5、添加用户q4,不允许登录到系统,有几种办法

6、使用usermod锁定用户q4,查看/etc/shadow文件的变化

7、手动添加用户

8 、如何删除用户的主组 ?

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