用户管理,目录权限,定时任务及软件包管理工具

linux用户管理

linux有几种用户身份,好比qq群

1.QQ群主,想干嘛就干嘛,想踢人就踢人------等于linux的root用户,权利最大
2.QQ群管理员,群主给与他的比较大的权限--------等于linux命令加上sudo,默认以root去执行命令
3.渣渣用户,QQ群里的小白,权利特别低--------等于linux的普通用户,用于保证服务器安全,防止删除等危险操作

UID,GID

UID 用户的id号,root是0,普通用户从1000开始

GID,是用户组的ID号

linux下存放用户账户信息的文件是/etc/passwd

useradd

只有root有权限才能创建普通用户,默认uid从1000开始递进

useradd zhoushen

su命令

su命令用于用户切换,root切换普通用户不要密码,普通切root要密码

普通用户之间切换需要密码~~~~

su   -   zhoushen  #切换到zhoushen用户,中间的减号代表完全的环境变量切换,一定要加上

id命令

id命令用于查看用户的uid等信息

id root
id zhoushen

sudo命令

当普通用户执行命令权限不够的时候,使用sudo,强大自己的权限

root ---------皇帝------/root  这里是皇宫,其他用户无法查看
sudo --------黄马褂,圣旨----默认是拥有root的超级权限的
普通用户-----老百姓---- /home/caixukun  /home/haohao 

sudo命令需要配置一下,步骤如下

1.打开sudo的配置文件
执行visudo,会编辑sudoers这个配置文件,在/etc/sudoers,这个命令提供语法检测,更专业
visudo /etc/sudoers


2.找到如下配置行,添加你允许使用sudo的用户名字
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
caixukun        ALL=(ALL)       ALL
haohao        ALL=(ALL)       ALL
laowang        ALL=(ALL)       ALL

3.使用sudo命令,在你敲的命令前,加上sudo即可
sudo ls /root

linux的文件和目录权限

这一串信息,如何解读
#解读
happy.txt是一个普通文件
他的user属主是root,user属主的权限是 rw-  (可以读,可写,不可执行)
他的属组group,是root,group属组的权限,是只读的,代表在root组里的用户都可以读这个happy.txt
此时caixukun这个普通用户登录了机器,对于happy.txt来说,caixukun就是一个other其他用户,只读权限

- rw-(uesr) r--(group) r--(other). 1 root root  0 2月   5 16:14 happy.txt

drwxr-xr-x. 3 root root 37 2月   5 15:32 kuaile

文件的权限解读,第一列
-     rw-   r--    r--  
代表文件的属性
	- 是普通文本
	d 是一个文件夹
	
r read 有可读的权限  
w write 可以写
x  可执行
-  没有权限
###################
对于文件来说,
r   cat  more   读取
w   vim vi  echo  写入
x   可以用解释器执行的意思

#对于文件夹来说
r    ls  读取
w    可以进入文件夹,在里面创建文件  touch  mkdir  
x    cd 可以进入文件夹  

linux的用户身份分3类

-当前这个文件属于谁-------user---属主

-当前在这个文件属于哪个组----group---属组

-其他人---这个文件和当前登录的系统用户没有任何关系-----other

这3类角色都有不同的读、写、执行权限

chmod

change mode,更改文件权限的命令

chmod u+x file  #给user用户添加一个x可执行权限

用zhoushen普通用户给文件的other添加一个w写的权限

[zhoushen@s26linux s26linux]$ sudo chmod o+w happy.txt
-rw-r--rw-. 1 root root 78 2月   5 16:31 happy.txt

修改这个文件,只有属主可写,其他人都没有权限,用数字权限转化


chmod  200   happy.txt   #这个代表 user是 2 只写的,group和other都没有权限

#给文件,user可读可写,group可读可写,其他人只能写
chmod  662  happy.txt

#解读如下权限
chmod 235  happy.txt 
user只有2的权限,只写
group 是3的权限  2+1 ,可写,可执行的
other是5的权限 4+1  ,可读,可执行的

ln命令

创建软连接的命令,创建快捷方式

ln  -s  源文件绝对路径  快捷方式绝对路径
ln -s  /s26linux/happy.txt  /tmp/hp.txt    

tar命令

打包、压缩、解压缩的命令(用户后缀为.tgz)

常用参数如下

-z  调用gzip压缩资源,节省磁盘空间
-x  解压缩
-v 显示过程
-f 这个参数必须写在结尾,指定压缩文件名字
-c  打包参数

案例

把/tmp下所有的内容,进行压缩打包,节省磁盘空间

tar  -zcvf  /opt/alltmp.tgz    ./*  #打包且压缩/tmp下所有内容,生成一个压缩文件,放到opt下

#演示解压缩,吧/opt下alltmp.tgz解压缩
tar -zxvf   /opt/alltmp.tgz  ./

unzip命令

当你是后缀.zip的压缩文件时就用unzip
下载unzip
yum install unzip -y

zip 压缩
(1)将当前文件夹下的所有文件打包成一个 new1.zip 文件
zip new1.zip *
(2)把当前文件夹下所有 my1*.doc 的文件打包成一个 new1.zip 文件
zip new1.zip my1*.doc
(3)把一个文件 abc.txt 和一个目录 dir1 压缩成为 yasuo.zip
zip -r yasuo.zip abc.txt dir1

unzip 解压缩
(1)把文件解压到当前目录下
unzip test.zip
(2)如果要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip
(3)解压的时候,有时候不想覆盖已经存在的文件,那么可以加上 -n 参数
unzip -n test.zip
unzip -n -d /temp test.zip

crontab定时任务

语法如下
分 时  日 月 周     你要执行的命令绝对路径
*  *   *   *   *     绝对路径的命令

例子:
#每分钟执行一次命令
*  *  *  *  *   命令  #每分钟执行命令 

#每小时的整点,执行命令
0 * *  *  *    #每小时的整点执行

#每小时的3,15分组执行命令
3,15  *  *  *  *    命令绝对路径

#在上午8-11点的第3和第15分钟执行
3,15   8-11   *  *  *   命令绝对路径

#每晚6点半执行命令
30  18  *  * *  command

#没周六、日的凌晨1:30执行命令
30  1   *  *  6,7  command

#每周一到周五的凌晨1点,清空/tmp目录的所有文件
0 1  * *  1-5     /usr/bin/rm  -rf /tmp/*

#每晚的21:30重启nginx
30  21  * *  *    /usr/bin/systemctl restart nginx

#每月的 1,10,22日的下午4:45重启nginx
45  16  1,10,22   *  *    /usr/bin/systemctl restart nginx

#每个星期一的上午8点和11点的第3到15分钟执行命令
3-15    8,11  *  *  1   command  

如何用crontab

1.输入命令,打开定时任务配置文件
crontab -e  
2.写入定时任务语句即可
3.crontab -l 查看定时任务语句

linux的软件包管理工具

linux安装软件有几种方式

  1. 源代码编译安装(最好的安装形式,可以自由定义安装路径,第三方功能扩展,以及获取官网最新的代码进行编译安装,缺点是对新手不友好)
  2. yum工具(新手最好的工具,自动化解决程序安装所需的依赖关系,自动下载且安装依赖,要求得配置yum仓库源,软件版本可能较低)
  3. rpm软件包手动安装(弃用,需要手动解决依赖关系,贼难受,不用)

不同系统的软件包安装格式

windows  exe
macos   dmg
linux   rpm 格式

软件的依赖关系

如何安装django的?
下载django源码进行python3  setup.py  build  

#相比我们都是用的pip安装,为什么呢?
能够自动的解决django模块的依赖关系

#pip3是安装python模块的工具,自动搜索依赖,解决依赖关系

#yum工具是linux系统安装软件的工具,例如安装redis数据库,安装mysql数据库等等

yum工具

对于redhat,centos系列的操作系统,90%的软件都可以yum自动安装,前提是要配置好软件仓库(yum源)

安装,卸载nginx
yum install nginx -y 
yum remove nginx -y   #自动解决所有依赖关系,很nice,好用

配置阿里的yum源

1.找到阿里的开源镜像站
https://developer.aliyun.com/mirror/

2.备份linux本地现有的yum仓库文件,
/etc/yum.repos.d/  这个文件夹,默认yum仓库地址,注意!只有在这个目录第一层的以*.repo结尾的文件
才会被识别为是一个yum仓库文件

3.备份以前的yum仓库文件
[root@s26linux yum.repos.d]# pwd
/etc/yum.repos.d
[root@s26linux yum.repos.d]# mv ./*  allrepoBak/   #备份repo仓库文件

4.下载新的仓库文件,下载阿里的
# 参数解释 -O  将下载的文件,指定一个路径存放,且改名
# 这是第一个仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
# 下载第二个epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

5.清空之前的yum缓存
yum clean all

6.可以测试用yum安装nginx软件,或是redis数据库软件
yum install nginx -y 
yum install redis -y  

7.只要是通过yum安装的软件,都可以用systemctl  系统服务管理命令,进行启停管理
systemctl start/stop/restart/status nginx  #分别是 启动,停止,重启,查看状态
systemctl start nginx
systemctl stop nginx

systemctl start/stop/restart  redis

8.验证redis和nginx软件是否正常
[root@s26linux yum.repos.d]# redis-cli
127.0.0.1:6379> ping
PONG

退出redis,可以直接ctrl + c 


验证nginx,直接浏览器访问网站的80端口即可
192.168.xxx.xxx:80

9.此时可以修改一下nginx的首页内容,一分钟做一个dnf官网   ~~~~~逗乐
nginx首页页面默认在
vim /usr/share/nginx/html/index.html  #自行去复制dnf官网的源码,修改即可

10.如果没法连接nginx  别忘了关闭防火墙
iptables -F   
posted @ 2020-02-12 17:46  zz洲神在此  阅读(...)  评论(...编辑  收藏