python 全栈 day08 用户权限

day08复习
day 08学习总结
1.复习
1.tar 压缩 解压缩 非常耗费cpu的资源
优点是:减少设备io 在业务低谷区进行压缩的操作
备份优点:节省磁盘空间 节省网络资源
参数选项-C 指定解压的路径
tf tar tf all.tar.gz 查看压缩包内容 文件名称
格式:tar zcvf all.tar.gz file/dir
打包名称 路径 最好在相对路径
解压缩: tar xf all.tar.gz 解压到当前目录
*exclude 排除某个文件
*exclude-from=file 排错的文件写入到file中 批量删除
2.find查 不要从根目录开始查找 要从相对路径开始查找
-type 按类型查找 f d l
相对路径查找 /data/didboy 目录 find /data/oldboy -type f

	-name  按名称查找 
		find ./ -name "test.avi"
		或 find ./ -type f -name"test.avi"./test.avi
	*-size  按照大小查找 K M G
		寻找大于50m的文件
		find ./ -size+50M
		寻找大于50m的文件小于100m的文件
		find ./ -size +50M -size -100M
	-maxdepth  按照深度等级查找
		find ./ -maxdepth 1 -size +50M
		find ./ -maxdepth 2 -size +50M
	find 查找后的mv cp rm 
		MV
		方法1:find ./ -maxdepth 1 -size +50M|xargs -i mv{} /opt/
			查看 ll hosts /opt/hosts
		方法2:mv `find ./ -maxdept 1 -zise +50M`/opt/hosts.bak
		CP
		RM
		find ./ -name "test.avi"|xargs rm
3.时间 时间戳
stat 查看文件的详细信息   查看文件时间 cat less vim 修改文件后的第一次查看时间会改变 不修改 不会变
-mtime按照文件的修改时间查找   修改文件时间 vi vim echo
-ctime按照文件属性的改变时间查找  属性修改时间 权限 大小 硬链接数 属主 属组
 
 进行时间同步
	安装yum   yum -y install ntpdate
	ntpdate ntpdate1.aliyu.com
	系统时间同步到软件时间
	查看date  
	hwclock -w
4.查找七天前的文件并删除 
	find ./ -mtime +7|xarges rm    ---数字可以改变数字代表天数
	查找到七天前的文件进行打包 并放在/data目录下
	find ./ -type f -mtime +7|xargs tar zcvf /data mtime.tar.gz
	
	find 按照inode号查找
	find ./ -type d -inum (inode)
	删除rm -rf`find ./ -type d -inum (inode)`

2.学习 用户管理
1.用户分类
2.用户相关的目录
3.用户相关命令
4.sudo

1.用户分类
	用户分为三类
	管理员 root uid 类似于身份证 root UID:0最高权限
	
	傀儡用户 虚拟用户 作用:在运行程序的时候 必须有一个用户来启动它但是用户不需要登录系统只用来运行程序
			centos6.x 1-499   不允许登陆操作系统 没有家目录
			centos7.x 1-999	   不允许登陆操作系统 没有家目录
	
	普通用户
		UID 
		centos6.x 500+  默认没有普通用户手动创建的用户 可以登录系统 正常运行命令 有家目录
	    centos7.x 1000+  默认没有普通用户手动创建的用户 可以登录系统 正常运行命令 有家目录
		
2.用户相关的目录	
		[root@aa ~]# ll /etc/passwd /etc/shadow /etc/group /etc/group /etc/gshadow
		-rw-r--r-- 1 root root  542 11月  9 10:44 /etc/group
		-rw-r--r-- 1 root root  542 11月  9 10:44 /etc/group
		---------- 1 root root  429 11月  9 10:44 /etc/gshadow
		-rw-r--r-- 1 root root 1070 11月  9 10:44 /etc/passwd
		---------- 1 root root  673 11月  9 10:44 /etc/shadow
		以冒号分割 看每一列的含义 root:x:0:0:root:/root:/bin/bash
		第一列:root  用户名 
		第二列:x 用户密码 x必须存在如果删除 表示清空密码 可以使用su的方式进行免密切换
		第三列:0 UID
		第四列:0 GID
		第五列:root 用户的描述信息 可有可无
		第六列:/root:家目录
		第七列:/bin/bash解释器 当前用户登录系统后默认的使用什么解释器运行命令普通用户和管理员用户
				/sbin/nologin	 不运行当前的用户登录操作系统  傀儡用户 虚拟用户
				group:默认创建后的用户属于自身命名的组

3.用户相关命令
	useradd  创建普通用户
		语法格式:useradd 参数选项 用户名称
			参数选项   
						-s指定解释器
						-u指定UID
						-g指定GID
						-G指定属于多个组附属组
						-M不创建家目录
						-c
					
			1.创建一个用户UID为888的可以正常登陆的普通用户
			创建:useradd -u888 aoldboy1
			切换:su - oldboy1
			2.创建一个虚拟用户UID999不允许登陆不创建家目录
			创建:useradd -u900 -M -s /sbin/nologin oldboy2
			
			
			创建一个用户的过程
			1.使用命令创建用户 自动创建/home/oldboy1
			2. 会复制/etc/skel/目录下的隐藏文件 存放环境变量的文件 到/home/oldboy1
					.bash_logout   退出操作系统
					.bash_profile  用户的环境变量 供操作系统正常使用
					.bashrc        别名的配置文件
			3.系统自动修改拷贝过去的隐藏文件权限为普通用户
				
				出现以下错误的解决方式
				-bash-4.2$ 	# 运维 笔试题 开发必会
				-bash-4.2$ 
			1.先拷贝隐藏文件到当前家目录
			-bash-4.2$ cp /etc/akel/.*
			2.退出重新登录到当前用户
				方法一:使用su的方式
				方法二:ssh远程连接的方式登录或者source和.chongxin1zhixing1.bash_profile
					-bash-4.2$source .bash_profile
					在执行$
					
	usermod  修改已经创建用户的信息
		usermod s /bin/bash -G(用户名1),root -c (内容)(名字2)
		tail -5 /etc/passqd 显示五列信息
		
		清空附加组
		id oldboy2
		usermod -G "oldboy2"
	
	userdel 删除用户
		-r  删除用户家目录及相关信息
		userdel -r oldboy1
	
	passwd 给用户设置密码
		1.交互方式
			passwd
			passwdroot
		2.非交互式
			echo 1|passwd -- stdin oldbay1
	*修改文件的属主属组
	格式
		chown olddboy.oldboy file 同时修改文件的属主属组
		chown oldboy file         只修改文件的属主
		chown.oldboy file         只修改文件的属组
	chown -R oldboy.oldboy dir
	
	
	last    如何查看当前公司的ip地址 排除安全隐患
	1.如何查看登陆ip是否是公司和家庭的公网IP
	2.看时间点
	3.查看LINUX服务器的公网ip地址
		curlcip.cc
		
	id  查看用户信息
		id(用户名)
		如何判断用户名是否存在
			1.id(用户名)
			2.cat /etc/passwor
			3.使用grep过滤文件内容
				grep '用户名' /etc/passwd
			4.useradd (用户名)
		
		grep 语法格式:
			1.直接过滤
				grep'过滤的内容'
			2.car /etc/password|grep'oldboy'
			
			
	lastlog :查看所有用户最后的登陆系统的时间
	whosmi:查看当前登陆系统用户

	
	三剑客
	awk:三剑客老大 过滤字符串 统计数据
	sed:三剑客老二:查找替换字符串 
	grep :三剑客老三:过滤字符串
		
		grep :三剑客老三:过滤字符串 过滤文件中的内容
			单引号和双引号的区别 不加引号
			单引号不能解析变量
			双引号和不加引号可以解析变量过滤文件中的内容 
			
			grep '过滤的内容' 文件     # 直接跟文件过滤
			cat 文件|grep '过滤的内容' # 过滤其他命令的输出结果
				[root@oldboyedu ~]# cat passwd|grep root
			正则 ^ 以什么什么开头的行
				[root@oldboyedu ~]# grep ^r passwd
			$ 以什么什么结尾的行
				[root@oldboyedu ~]# grep nologin$ passwd
				或:
				[root@oldboyedu ~]# grep '^$' /etc/selinux/config
			-v 对查找到的内容进行取反
				[root@oldboyedu ~]#grep -v'^$'/etc/selinux/config
			扩展正则:	
				[root@oldboyedu ~]# grep -v '^$' /etc/selinux/config|grep -v '#'
		
		awk:三剑客老大过滤字符串 统计数据
			语法格式:
				awk'/查找的内容/'file
				cat file|awk'/查找的内容/'
			awk过滤字符串
				cat passwd |awk'/root'
				
			可以按行和列进行过滤文件内容
	先过滤出文件的第二列
	表达式:
		  == 等于
		  != 不等于
		  >
		  <
		  >=
		  <=
		  
		  过滤出行数小于2的
		   awk 'NR<2' passwd    条件可以变化
		 *  并且&&
		   小于4并且等于2的
		   awk 'NR>2&&NR<5' passwd
		
			 或者||
			awk 'NR==2||NR>4' passwd 
			
			按行匹配使用过滤字符串方式 过滤时间
			 awk '/root/,/daemon/' passwd 
		
		按列
			0 1 2 3 4 5 awk的内容变量
			0 表示所有的行
			awk执行方式按一行一行的执行
	
			awk '匹配模式{动作}' file
		[root@oldboyedu ~]# awk '{print $0}' passwd 
		
		awk按列查找内容 默认以空格和tab键分割
			1 就是第一列
			2 就是第二列
			获取变量 $1 $2
		
		使用-F 指定分隔符 
		[root@oldboyedu ~]# awk -F: '{print $1}' passwd 
		
		[root@oldboyedu ~]# awk -F: '/root/' passwd 
		root:x:0:0:root:/root:/bin/bash
		[root@oldboyedu ~]# awk -F: '/root/{print $1}' passwd 
		root
		
		


		------------------------------------------------180天计划

8/180
加油 努力

上一篇:day08—李大人parttwo


下一篇:js day08 数组的方法 栈方法 队列方法 splice 数组去重,合并,翻转,截取 递归函数 排序方法(选择,冒泡,快速)