Linux - 用户与组-useradd-userdel-usermod-passwd

目录

1.用户与组:

1.1-用户与组的关系

1.2-用户和组到底做什么使用的?

1.3-linux 操作系统的知识:

1.3.1PCB是进程控制块(process control block)

1.4-新建一个用户背后发生了什么?

1.5-用户账户

1.5.1怎么将一个普通用户变为一个超级用户?

1.5.2程序用户:用来启动程序或者登陆程序的用户

2.useradd命令

2.1-常用命令选项

-g 主要组 --》主业

-G 次要组 --》副业

-u 指定uid号

-d 指定家目录所在

useradd -s 指定用户登录的shell

-c 用户描述信息

3.userdel 删除用户

3.1 -r 删除用户的时候,把用户的家目录和邮箱都删除

3.1.2邮箱的位置

4.usermod命令

4.1常用命令选项

4.2.-u 修改uid号

4.3如何知道用户是否设置密码?

5.passwd命令

5.1交互式设置密码

5.2非交互式设置密码

5.3 -l锁定用户账号

5.4 -S查看用户的状态(是否被锁定)

5.5 -d 清除用户的密码

5.6 groupadd 新建组

5.7 groupdel 删除组

6.ftp服务(简单介绍)

6.1.安装vsftpd服务

6.2.启动vsftpd服务

6.3.安装客户端命令ftp和lftp

6.4.清除防火墙规则或者直接关闭防火墙

6.5.登陆ftp服务:

6.6允许匿名用户登录的配置

6.7如何使用ftp服务在linux和windows里面传输文件?

1.关闭防火墙

2.启动vsftpd 服务

3.登录ftp

6.8windows里面如何上传文件到ftp服务器?



1.用户与组:

用户:user

组 : grorp

uid 是用户的id号,

gid是组的id号

每个账户有一个唯一的UID.........

1.1-用户与组的关系

###############################

每个组也有一个唯一的GID

多个账户可以属于同一个组。

一个用户可以加入多个组

###############################

一个用户至少属于一个组,默认情况下用户组名和用户名同名

###############################

1.2-用户和组到底做什么使用的?

用户和组为linux系统里的资源管控服务 --》谁能访问,谁不能访问

资源管控:文件的访问,读取,执行等操作

用户的身份会嵌入到进程里面,内核对进程进行限制

用户与组 - 权限-资源管控

###############################

1.3-linux 操作系统的知识:

进程=PCB+程序产生的数据

1.3.1PCB是进程控制块(process control block)

里面存放着许多东西。 --》数据结构 - pid号,ppid号,euid,egid,程序代码在内存里的位置

程序的状态等等,每一个进程都有一个PCB,在创建进程时候,建立PCB,直到进程撤销而撤销

euid : 有效的uid

***PCB是内核管控进程的唯一凭证

进程(process):进程是正在运行的程序--》活的--》内存里面

程序(programm):存放在磁盘里的代码 --》死的

进程有三种最基本的状态

就绪

运行

阻塞

###############################

1.4-新建一个用户背后发生了什么?

[root@localhost lianxi]# useradd liming

[root@localhost /]# id liming

uid=1023(liming) gid=1023(liming) 组=1023(liming)

默认情况下会新建一个用户,会新建一个同名的组

但是uid和gid不会一样,uid和gid是唯一的

uid和gid会在前面一个用户的基础上面+1

###############################

1.5-用户账户

超级用户 root--》安装好就有的,默认只有一个超级用户

程序用户

普通用户--》useradd新建的

UID(user identity,用户标识号)

linux系统是通过识别uid是否为0来识别超级用户的

只要uid为0就是超级用户了

超级用户root的UID为0

程序用户的UID:1-999

普通用户的UID:大于等于1000

###############################

1.5.1怎么将一个普通用户变为一个超级用户?

实现方法:修改用户uid为0

因为linux里面是通过识别uid是否为0来识别超级用户的

进入/etc/passwd文件里面将普通用户的uid改成0就行

###############################

1.5.2程序用户:用来启动程序或者登陆程序的用户

专门来做某些事情的

这些都是程序用户

nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

###############################

2.useradd命令

格式: useradd [选项] ...用户名

2.1-常用命令选项

-u:指定UID标记号

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

-e:指定账号失效时间

-g:指定用户的基本组名(或者GID号)

-G:指定用户地附加组名(或者GID号)

-M:不为用户建立并初始化宿主目录

-s:指定用户的登录shell

-c:用户注释描述信息

-r:新建系统用户,不会有新建家目录

useradd

###############################

-g 主要组 --》主业

-G 次要组 --》副业

[root@localhost liming]# groupadd mingjiao
[root@localhost liming]# groupadd wudang
[root@localhost liming]# useradd -g mingjiao -G wudang zhangwuji
[root@localhost liming]# cat /etc/passwd | grep zhangwuji
zhangwuji:x:1029:1029::/home/zhangwuji:/bin/bash
[root@localhost liming]# id zhangwuji
uid=1029(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)

###############################

-u 指定uid号

-d 指定家目录所在

[root@localhost mail]# useradd -g mingjiao -G wudang -d /guangmingdin -u 9000 zhangwuji
[root@localhost mail]# cat /etc/passwd | grep zhangwuji
zhangwuji:x:9000:1029::/guangmingdin:/bin/bash
[root@localhost mail]# id zhangwuji
uid=9000(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)

############################### 

useradd -s 指定用户登录的shell

[root@localhost /]# useradd -s  /sbin/nologin libai
[root@localhost /]# cat /etc/passwd | grep libai
libai:x:1024:1024::/home/libai:/sbin/nologin

###############################

-c 用户描述信息

[root@localhost mail]# useradd -g mingjiao -G wudang -d /guangmingdin -c mingjiaomaster -u 9000 zhangwuji
[root@localhost mail]# cat /etc/passwd | grep zhangwuji
zhangwuji:x:9000:1029:mingjiaomaster:/guangmingdin:/bin/bash

###############################

3.userdel 删除用户

3.1 -r 删除用户的时候,把用户的家目录和邮箱都删除

但是不会删除由该用户创建的文件

如果后面有一个用户的uid与原来被删除的用户uid一样

那么这个文件归新用户所有

[root@localhost liming]# userdel -r zhangwuji

###############################

3.1.2邮箱的位置

[root@localhost liming]# cd /var/spool/mail/

如果删除用户的时候不接-r的话,会出现一堆的问题

[root@localhost mail]# usedel feng1

-bash: usedel: 未找到命令

[root@localhost mail]# userdel feng1

[root@localhost mail]# useradd feng1

useradd:警告:此主目录已经存在。

不从 skel 目录里向其中复制任何文件。

正在创建信箱文件: 文件已存在

[root@localhost mail]# userdel -r feng1

userdel:/var/spool/mail/feng1 并不属于 feng1,所以不会删除

userdel:/home/feng1 并不属于 feng1,所以不会删除

因为删除以后在新建一个用户,它的uid已经发生变化

因为遗留下来许多问题,这个时候我们可以手动删除它的家目录和邮箱 

然后再新建就不会出现问题了

其实这也再次说明了linux识别用户是通过识别uid来辨别的

###############################

4.usermod命令

修改用户信息

格式 : usermod[选项]...用户名

###############################

4.1常用命令选项

-l : 更改用户账号的登录名称

-L:锁定用户账号

-U:解锁用户账号

以下选项与useradd命令中的含义相同

-g -G -c -d 

###############################

4.2.-u 修改uid号

[root@localhost home]# usermod -u 1029 zhangwuji
[root@localhost home]# id zhangwuji
uid=1029(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)

-L 锁定用户账号

LOCK 禁用用户 --》不能ssh登录linux系统

本质:将某个用户锁住,其实就是在/etc/shadow里面该用户的密码字段前面加一个!,就可以将该用户锁定,也可以直接vim该文件在密码前面修改

[root@localhost home]# usermod -L feng2
[root@localhost home]# passwd -S feng2
feng2 LK 2022-02-27 0 99999 7 -1 (密码已被锁定。)

###############################

4.3如何知道用户是否设置密码?

在/etc/shadow文件里面的密码字段

!!

*

开头的就是没有设置密码的

###############################

5.passwd命令

 ###############################

5.1交互式设置密码

[root@localhost home]# useradd liang

[root@localhost home]# passwd liang

更改用户 liang 的密码 。

新的 密码:

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

###############################

5.2非交互式设置密码

[root@localhost home]# echo 123456 | passwd liang --stdin

更改用户 liang 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@localhost home]#

--stdin 的作用是告诉passwd使用前面传过来的作为密码

##################################

5.3 -l锁定用户账号

5.4 -S查看用户的状态(是否被锁定)

usermod禁用用户的时候,在shadow文件里的密码字段加一个!

passwd 禁用用户的时候,在shadow文件里的密码字段加两个!

[root@localhost home]# passwd -l feng3

锁定用户 feng3 的密码 。

passwd: 操作成功

[root@localhost home]# passwd -S feng3

feng3 LK 2022-02-27 0 99999 7 -1 (密码已被锁定。)

#################################

5.5 -d 清除用户的密码

本质就是去shadow文件里面删除密码字段的内容

linux系统一切皆文件

[root@localhost home]# passwd -d liang

清除用户的密码 liang。

passwd: 操作成功

[root@localhost home]# cat /etc/shadow | grep liang

liang::19060:0:99999:7:::

空密码用户是不可以远程登录的,但是可以本地登录

##################################

5.6 groupadd 新建组

groupadd只能一次新建一个组,不能一次新建多个组

[root@localhost lianxi2]# groupadd nongda 
[root@localhost lianxi2]# groupadd gongda 
[root@localhost lianxi2]# groupadd wenli

##################################

5.7 groupdel 删除组

删除gongda组,验证是否可以成功删除?

不能,group只能删除空的组,如果里面有人的话是不能删除的

如果想删除需要将里面用户的组换到别的组

[root@localhost lianxi2]# groupdel gongda

###################################

6.ftp服务(简单介绍)

##################################

6.1.安装vsftpd服务

[root@localhost /]# yum install vsftpd -y

6.2.启动vsftpd服务

[root@localhost /]# service vsftpd restart

[root@localhost /]# cat /etc/passwd | grep ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

6.3.安装客户端命令ftp和lftp

[root@localhost /]# yum install ftp lftp -y

6.4.清除防火墙规则或者直接关闭防火墙

[root@localhost /]# iptables -F 清除防火墙·的规则

[root@localhost /]# service firewalld stop 关闭防火墙

6.5.登陆ftp服务:

[root@localhost /]# ftp 192.168.44.130

Connected to 192.168.44.130 (192.168.44.130).

220 (vsFTPd 3.0.2)

Name (192.168.44.130:root): ftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

第一次可能会被拒绝,将vsftpd服务重启就行了

centos8里面vsftp服务默认不允许匿名(ftp)登录,但是可以本地用户登录

6.6允许匿名用户登录的配置

第一步:修改文件允许匿名用户登录

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=yes

第二步:刷新服务

service vsftpd restart

###############################

6.7如何使用ftp服务在linux和windows里面传输文件?

搭建一个ftp服务,

1.关闭防火墙

service firewalld stop

2.启动vsftpd 服务

service vsftpd restart

3.登录ftp

[root@localhost lianxi]# ftp 192.168.44.130

Connected to 192.168.44.130 (192.168.44.130).

220 (vsFTPd 3.0.2)

Name (192.168.44.130:root): ftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ldj666666

注意:只有本地用户才能登录ftp服务。

例:

将rr.sh脚本复制到/var/ftp/pub/目录下面

[root@localhost lianxi2]# cp rr.sh /var/ftp/pub/

[root@localhost lianxi2]# cd /var/ftp/pub/

[root@localhost pub]# ls

rr.sh

在浏览器输入我们的ip地址

ftp://192.168.44.130/pub/

这个时候我们就可以在ftp服务里面看到我们上传的文件

点击一下就会自动下载

 ###############################

6.8windows里面如何上传文件到ftp服务器?

注意:只有本地用户才能登录ftp服务。

登录以后将要上传的文件移动到目录里面

然后就可以在该用户的家目录下面看到我们上传的文件

 

猜你喜欢

转载自blog.csdn.net/qq_48391148/article/details/123388443