目录
userdel -r 用户名 -->家目录和本地邮件目录全部删除
用户和组
用户 user -->登陆的人
组 group -->组织
用户 -- 加入组 -- 继承权限
多个账户可以属于同一个组;一个用户可以加入多个组
为什么要引入这个用户和组?
1、安全性
2、权限管理
3、资源管控:文件的访问、读取、执行
为了对Linux系统里的资源进行管控 -- 谁能访问,谁不能访问
用户账户
[root@kafka01 usergroup]# id root
uid=0(root) gid=0(root) groups=0(root)
UID -- 每个用户的身份证号 --唯一
GID -- 每个组的标识 -- 唯一
超级用户root(最高权限),超级用户root的UID为0
程序用户,程序用户的UID1-1000
普通用户,普通用户的UID大于等于1001
用户的家目录
默认情况下,创建用户时会在/home 目录下创建一个同名文件夹
UID_MIN 1000 #普通用户uid最小为1000
UID_MAX 60000
小练习:找出/etc/passwd里用户id大于或等于1000的用户名
[root@kafka01 sc3]# awk -F:'$3>=1000{print $1,$3}' /etc/passwd
组账号
主要组(私有组)
与用户相关的默认组,在/etc/passwd文件的第四个字段定义
次要组(附属组)
用户可以属于其他的组,在/etc/group文件的第四字段定义
用户的主要组的名称和GID相关
[root@kafka01 usergroup]# useradd chaochao
[root@kafka01 usergroup]# id chaochao
uid=1001(chaochao) gid=1001(chaochao) groups=1001(chaochao)
[root@kafka01 usergroup]# useradd sc1
[root@kafka01 usergroup]# id sc1
uid=1002(sc1) gid=1002(sc1) groups=1002(sc1)
创建用户背后发生了什么?
/etc/passwd -- 记录用户信息 当用户登录的时候,会查看这个文件
一行记录一个用户
[root@kafka01 usergroup]# tail -3 /etc/passwd
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
chaochao:x:1001:1001::/home/chaochao:/bin/bash
sc1:x:1002:1002::/home/sc1:/bin/bash
使用:进行分割
字段1:用户名
字段2:用户密码字段和密码占位符
字段3:用户id -->唯一,创建的普通用户uid都是在上一个用户的基础上+1
字段4:所属基本组的id -->用户在创建的时候默认会创建一个同名的组,这个组会成为用户的基本组 -g 可以指定
字段5:用户的描述信息‘-->默认是空 -c 可以指定
字段6:家目录 -d 可以指定
字段7:登录shell信息 -s 可以指定
小练习:# 截取第七字段并查找出几种
sort先排序,让相同文本在一起,然后在做uniq去重(uniq去重只能去重挨在一起的相同项)
[root@kafka01 usergroup]# awk -F: '{print $7}' /etc/passwd|sort|uniq
/bin/bash #普通的shell
/bin/false #禁止用户登录
/bin/sync #内存的缓存同步到磁盘
/sbin/halt #
/sbin/nologin
/sbin/shutdown
useradd命令
格式:useradd [选项]... 用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
-c:用户注释描述信息
-r: 新建系统用户,不会有新建家目录
指定登录 -s
[root@sc usergroup]# useradd -s /sbin/nologin sc3 #禁止登录
[root@sc usergroup]# tail -1 /etc/passwd
sc3:x:1063:1063::/home/sc3:/sbin/nologin
[root@sc usergroup]# echo 123456|passwd sc3 --stdin #指定密码
更改用户 sc3 的密码 。
passwd:所有的身份验证令牌已经成功更新。
ssh linux中远程登录命令 xshell
使用sc3用户 远程登录到主机
[root@sc usergroup]# ssh sc3@192.168.0.204 -p 2233
The authenticity of host '[192.168.0.204]:2233 ([192.168.0.204]:2233)' can't be established.
ECDSA key fingerprint is SHA256:JccgoJ9N7Tel3N/Zehpgraddu8nLaQUlepsJrQNX34c.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.0.204]:2233' (ECDSA) to the list of known hosts.
sc3@192.168.0.204's password:
Connection closed by 192.168.0.204 port 2233
[root@sc usergroup]# su - sc3
This account is currently not available.
更改用户密码
[root@sc usergroup]# useradd -s /bin/false sc4
[root@sc usergroup]# echo 123456|passwd sc4 --stdin
passwd:所有的身份验证令牌已经成功更新。
[root@sc usergroup]# su - sc4
[root@sc usergroup]# ssh sc4@192.168.0.204 -p 2233
sc4@192.168.0.204's password:
Last login: Tue Aug 3 11:23:46 2021
Connection to 192.168.0.204 closed.