目录
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服务器?
用户:user
组 : grorp
uid 是用户的id号,
gid是组的id号
每个账户有一个唯一的UID.........
###############################
每个组也有一个唯一的GID
多个账户可以属于同一个组。
一个用户可以加入多个组
###############################
一个用户至少属于一个组,默认情况下用户组名和用户名同名
###############################
用户和组为linux系统里的资源管控服务 --》谁能访问,谁不能访问
资源管控:文件的访问,读取,执行等操作
用户的身份会嵌入到进程里面,内核对进程进行限制
用户与组 - 权限-资源管控
###############################
进程=PCB+程序产生的数据
里面存放着许多东西。 --》数据结构 - pid号,ppid号,euid,egid,程序代码在内存里的位置
程序的状态等等,每一个进程都有一个PCB,在创建进程时候,建立PCB,直到进程撤销而撤销
euid : 有效的uid
***PCB是内核管控进程的唯一凭证
进程(process):进程是正在运行的程序--》活的--》内存里面
程序(programm):存放在磁盘里的代码 --》死的
进程有三种最基本的状态
就绪
运行
阻塞
###############################
[root@localhost lianxi]# useradd liming
[root@localhost /]# id liming
uid=1023(liming) gid=1023(liming) 组=1023(liming)
默认情况下会新建一个用户,会新建一个同名的组
但是uid和gid不会一样,uid和gid是唯一的
uid和gid会在前面一个用户的基础上面+1
###############################
超级用户 root--》安装好就有的,默认只有一个超级用户
程序用户
普通用户--》useradd新建的
UID(user identity,用户标识号)
linux系统是通过识别uid是否为0来识别超级用户的
只要uid为0就是超级用户了
超级用户root的UID为0
程序用户的UID:1-999
普通用户的UID:大于等于1000
###############################
实现方法:修改用户uid为0
因为linux里面是通过识别uid是否为0来识别超级用户的
进入/etc/passwd文件里面将普通用户的uid改成0就行
###############################
专门来做某些事情的
这些都是程序用户
nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
###############################
格式: useradd [选项] ...用户名
-u:指定UID标记号
-d:指定宿主目录,默认为/home/用户名
-e:指定账号失效时间
-g:指定用户的基本组名(或者GID号)
-G:指定用户地附加组名(或者GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录shell
-c:用户注释描述信息
-r:新建系统用户,不会有新建家目录
useradd
###############################
[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)
###############################
[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)
###############################
[root@localhost /]# useradd -s /sbin/nologin libai
[root@localhost /]# cat /etc/passwd | grep libai
libai:x:1024:1024::/home/libai:/sbin/nologin
###############################
[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
###############################
但是不会删除由该用户创建的文件
如果后面有一个用户的uid与原来被删除的用户uid一样
那么这个文件归新用户所有
[root@localhost liming]# userdel -r zhangwuji
###############################
[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来辨别的
###############################
修改用户信息
格式 : usermod[选项]...用户名
###############################
-l : 更改用户账号的登录名称
-L:锁定用户账号
-U:解锁用户账号
以下选项与useradd命令中的含义相同
-g -G -c -d
###############################
[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 (密码已被锁定。)
###############################
在/etc/shadow文件里面的密码字段
以
!!
*
开头的就是没有设置密码的
###############################
###############################
[root@localhost home]# useradd liang
[root@localhost home]# passwd liang
更改用户 liang 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
###############################
[root@localhost home]# echo 123456 | passwd liang --stdin
更改用户 liang 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]#
--stdin 的作用是告诉passwd使用前面传过来的作为密码
##################################
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 (密码已被锁定。)
#################################
本质就是去shadow文件里面删除密码字段的内容
linux系统一切皆文件
[root@localhost home]# passwd -d liang
清除用户的密码 liang。
passwd: 操作成功
[root@localhost home]# cat /etc/shadow | grep liang
liang::19060:0:99999:7:::
空密码用户是不可以远程登录的,但是可以本地登录
##################################
groupadd只能一次新建一个组,不能一次新建多个组
[root@localhost lianxi2]# groupadd nongda
[root@localhost lianxi2]# groupadd gongda
[root@localhost lianxi2]# groupadd wenli
##################################
删除gongda组,验证是否可以成功删除?
不能,group只能删除空的组,如果里面有人的话是不能删除的
如果想删除需要将里面用户的组换到别的组
[root@localhost lianxi2]# groupdel gongda
###################################
##################################
[root@localhost /]# yum install vsftpd -y
[root@localhost /]# service vsftpd restart
[root@localhost /]# cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost /]# yum install ftp lftp -y
[root@localhost /]# iptables -F 清除防火墙·的规则
[root@localhost /]# service firewalld stop 关闭防火墙
[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)登录,但是可以本地用户登录
第一步:修改文件允许匿名用户登录
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
第二步:刷新服务
service vsftpd restart
###############################
搭建一个ftp服务,
service firewalld stop
service vsftpd restart
[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服务里面看到我们上传的文件
点击一下就会自动下载
###############################
注意:只有本地用户才能登录ftp服务。
登录以后将要上传的文件移动到目录里面
然后就可以在该用户的家目录下面看到我们上传的文件