用户和组
Linux 是多用户、多任务的操作系统有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事。
把linux系统比作一个公司的话,用户相当于员工,组相当于部门。
用户的相关操作命令:
useradd添加用户
userdel删除用户
usermod修改用户的属性
passwd为用户设置密码
1、manuseradd
-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系统用户
这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加系统用户
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
shell:shell是人机对话的接口,如果没有shell,就不能登录系统!
***********************************************************
3、userdel删除用户
-r删除用户的同时删除家目录
***********************************************************
4、usermod的参数和useradd基本一致,与 useradd 参数差不多,一个是在创建用户时设定,一个是用户创建好后修改
-L u1锁定用户,无法登录
-U u1为用户解锁
***********************************************************
5、passwd
root 用户可以修改任何一个用户的密码
普通用户只能修改自己的密码,并且需要输入原密码,而且要注意密码复杂度的问题
/etc/shadow - 保存了用户加密的密码
# head -1 /etc/shadow
root:$1$cqhi85DN$kUKartnMiaqXmL6N3icVA0:14677:0:99999:7:::
用户名
MD5散列的密码
最近一次更改的时间 从1970年1月1日算起
密码最小生存周期几天之内不能修改密码
密码最大生存周期几天之后必须修改密码
密码过期前几天提醒用户
密码过期几天后帐号会被取消
帐号失效时间
保留
# 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用户的家目录的内容的参考目录
常用的命令:
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,主组是g1,uid是1000
3、添加用户q2,附属组是g2,g3
4、添加用户q3,家目录是/jhome/q3,有几种办法
5、添加用户q4,不允许登录到系统,有几种办法
6、使用usermod锁定用户q4,查看/etc/shadow文件的变化
7、手动添加用户