linux 用户和组基础

/etc/passwd

保存用户的账号基本信息

每一行对应一个用户记录

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

字段意义

1.用户名

2.密码占位符“x”

3.UID(UID=0 就是超级用户root)

4.所属基本组(主要组)的GID

5.用户全名

6.宿主(家)目录

7.登陆shell信息 (不能登录的shell: /sbin/nologin /bin/false)

/etc/shadow

保存密码字串、密码有效期等信息

u1:$6$d5W98FYW$M30lNIzPb45nI2b5OxVnKa8e1Z/dkPNlJjZB813u69/zrOE96newoMVYzGdn8R25C5x37AIDuigjZwZdKDU/p0:17848:0:99999:7:::

字段意义:

1.用户账号名称

2.加密的密码字串信息

加密算法 1 MD5 2a Blowfish 5 SHA-256 6 SHA-512

3.上次修改密码的时间

4.最短有效天数,默认为0

5.密码的最长有效天数,默认值为99999(永远有效)

6. 提前多少天警告用户口令将过期,默认值为7

7.在密码过期之后多少天禁用此用户

8.帐号失效时间,默认值为空

9.保留字段(未使用)

/etc/group

root:x:0:

1.组账号名

3.GID

4.组成员名 (用户本身不显示)

用户至少属于一个组(主要组)也可以属于多个组(次要组)

默认:创建用户时,会自动创建一个组,组名和用户名一样,这个组就是这个用户的主要组

/etc/skel/*

新建用户帐号时,将此文件里所有内容复制到用户宿主目录中

主要控制用户初始配置文件

.bash_profile:用户每次登录时执行

.bashrc:每次进入新的Bash环境时执行

.bash_logout:用户每次退出登录时执行

/etc/profile 所有用户每次登录时会执行

/etc/gshadow

保存组账号的密码信息(应用极少)

/etc/login.defs

对账户初始的属性设置

设置普通用户的UID和GID范围等

命令

useradd 添加用户

useradd  [选项]...  用户名

-u 指定UID

-d 指定宿主目录 默认/home/用户名

-e 指定账号失效时间 -e 2018-12-12

-g 指定主要组GID

-G 指定次要组

-M 不建立宿主目录

-s 指定用户登录shell /bin/bash /bin/sh 不能登录的shell等

useradd命令在后台到底做了哪些工作(哪些文件发生改变)

/etc/shadow /etc/passwd /etc/group /home /etc/skel/* /var/spool/mail

passwd 管理密码

passwd  [选项]...  用户名

-d 清空用户密码,使之无需密码即可登录(本地登录)

-l 锁定用户账号

-u 解锁

-S 查看用户账号状态(是否被锁定)

-n 设置密码的最短有效天数 (对应/etc/passwd 第4字段)

-x 设置密码的最长有效天数 (对应/etc/passwd 第5字段)

--stdin (非交互设置密码)接受标准输入作为密码 echo "123" | passwd --stdin u2 |(管道)

root用户可以修改所有用户密码,不要求复杂性

普通用户只能修改自己的密码,要求复杂性

userdel

删除用户

userdel [-r] 用户名

-r 连同宿主目录一并删除

usermod 修改用户参数

usermod  [选项]...  用户名

-l 更改账户名称

-L 锁定用户(破坏密码段)

-U 解锁

-c 注释 /etc/passwd 第5块

-u、-d、-e、-g、-G、-s命令与useradd相同

更改用户主目录/home/user1为/home/user11 -m选项仅与-d(或——home)选项组合有效

usermod -d /opt/user11 -m user1

chsh 更改shell

chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version [ username ]

chsh -l 列出所有shell

chsh -s 更改shell

chsh -u 帮助--help

chsh -v 版本

chage

chage  [选项]...  用户名

-l 列出密码时效的具体信息

-d 0 用户下次登录时 强制改密码

groupadd 添加组

       groupadd  [-g GID]  组帐号名

groupdel 删除组

        groudel 组帐号名

groupmod

修改组名或组id groupmod [选项]...  组帐号名

-n 修改组名

-g 修改组id

gpasswd

设置组帐号密码(极少用)、添加/删除组成员(即用户)

-a 添加

-d 删除

-M 重置组成员

查询

id id u1

finger

chfn 修改用户的备注信息,/etc/passwd第5字段 usermod -c

who w users

groups 查询用户所属的组

验证1:

将/etc/passwd的字段2删除

用户的密码为空

登录时不用输入密码

本地登录、远程登录,哪一种可以用空密码登录? (本地登录)

验证2:

将/etc/shadow的字段2删除

是不是空密码? (是,只能本地登录)

猜你喜欢

转载自blog.csdn.net/Not__lazy/article/details/84720650