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安装软件有几种方式
- 源代码编译安装(最好的安装形式,可以自由定义安装路径,第三方功能扩展,以及获取官网最新的代码进行编译安装,缺点是对新手不友好)
- yum工具(新手最好的工具,自动化解决程序安装所需的依赖关系,自动下载且安装依赖,要求得配置yum仓库源,软件版本可能较低)
- 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
来源:https://www.cnblogs.com/zzsy/p/12299955.html