Linux系统管理
Linux系统中的用户管理、权限管理、文件系统管理、软件安装等文档。
勿忘VS初心
这个作者很懒,什么都没留下…
展开
-
Ubuntu系统中清理DNS缓存
在下一篇文章中,我们将看一看 我们如何在Ubuntu中刷新DNS缓存。DNS被认为是Internet连接的关键部分之一。目的是更快地访问访问的网站。更常见的是,我们的机器会跟踪DNS记录,或者将其缓存。迄今为止,IP地址的命名是DNS协议中最著名的功能。例如,如果Google网站的IP地址是 216.58.210.163,大多数人来写作而不是IP地址,因为它更容易记住。网站的IP地址可能会更改,由于多种原因,您无需重命名网站。如果从未清除DNS缓存,则可能导致不同类型的错误。原创 2022-10-08 15:27:47 · 6925 阅读 · 0 评论 -
在Ubuntu Desktop系统中打开jnlp扩展名的文件
今天超微服务器出现了点问题,无法通过SSH进行连接。2、无法验证应用程序的数字签名。你想运行应用程序吗?它将被授予对您计算机的无限制访问权限。4、下图为进入服务器IPMI系统界面图,可点击菜单栏上的。3、这个显示的是远程主机连接信息和连接文件路进,点击。1、使用的是系统自生成的证书,直接点击。原创 2022-09-23 11:58:45 · 1085 阅读 · 0 评论 -
使用parted命令为磁盘扩容
4、现在磁盘和分区的大小已经扩容了,但是当我们使用df命令查看时,分区的容量还是5T,因此我们还需要刷新文件系统的大小。3、在虚拟机中扩容磁盘后,需要重新启动虚拟机。重启虚拟机后我接下来将为/dev/sdc1分区进行扩容。2、在虚拟机管理界面中将sdc磁盘扩容至7T。原创 2022-09-21 10:20:53 · 3509 阅读 · 1 评论 -
python build时出现ERROR: Failed building wheel for evdev解决方案
【代码】python build时出现ERROR: Failed building wheel for evdev解决方案。原创 2022-09-03 16:15:08 · 1920 阅读 · 1 评论 -
Linux系统下修改系统和进程的Max open files
Linux系统修改系统和进程的Max open files原创 2022-06-07 09:27:13 · 5076 阅读 · 0 评论 -
Ubuntu 18.04多网卡创建bond并使用VMLAN
准备工作DDNS就是将用户的动态IP地址映射到一个固定的域名解析服务上,要求本地设备拥有公网IP。外网设备访问域名的时候,DNS服务器就会返回从DDNS服务器更新到的DDNS客户端的地址,从而与本地设备建立连接。在IPv4时代,DDNS客户端一般指的是路由器,国产路由器自带的花生壳插件就是提供DDNS服务的。以前把路由器配置成DDNS客户端,是因为只有路由器才有公网IP。而到了IPv6时代,局域网中的每台设备都拥有一个公网地址,也就意味着可以绕过路由器,直接在服务器端上配置DDNS服务。这样的好处是省去原创 2022-04-07 14:34:51 · 1091 阅读 · 0 评论 -
Ubuntu 18.04多网卡配置VLAN实战
该服务器共有4张网卡,两张千兆卡,两张万兆卡。现在需要为其中一张万兆卡配置VLAN,配置案例如下所示:# vim /etc/netplan/00-installer-config.yamlnetwork: ethernets: eno1: dhcp4: true eno2: dhcp4: true ens1f0: dhcp4: true ens1f1: dhcp4: true version: 2 vlans:原创 2022-04-02 20:51:58 · 1967 阅读 · 0 评论 -
CentOS 7.x系统中安装pyenv环境
一、pyenv安装1、安装gityum install git -y2、安装Python编译依赖yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel3、git下载pyenvpyenv在github上的地址:https://github.com/pyenv/pyenv默认安装在当前用户$HOME目录下git clone https:/原创 2022-02-25 17:19:25 · 2884 阅读 · 0 评论 -
手把手教你给 SSH 启用二次身份验证
目前来说,二次验证(这里就不做过多解释了)是比较常用的安全手段,通过设置二次验证(谷歌或其他工具),就可以有效的避免账户密码的泄露导致的安全问题。因为,每次登陆前都需要获取一次性验证码,如果没有验证码的话就无法成功登陆。1、安装 PAM 模块# 时间与客户端进行校验$ ntpdate pool.ntp.org# Ubuntu$ sudo apt install -y libpam-google-authenticator# CentOS7$ yum install -y epel-relea原创 2022-01-15 17:46:51 · 968 阅读 · 0 评论 -
在 bash 中使用 {} 范围表达式
在编写 shell 脚本时,有时需要生成数字或字符串序列。这种序列数据的一种常见用途是用于循环迭代。虽然可以使用 seq 之类的专用工具来生成一系列数字,但 bash 本身提供大括号扩展,实际上没有必要在 bash 脚本中添加此类外部依赖项。在本教程中,让我们了解如何使用大括号扩展在 shell 脚本中生成数据序列和一些有用的大括号扩展示例。{}花括号使用说明Bash 内置的 range 函数是通过所谓的{}大括号扩展实现的。简而言之,大括号扩展允许根据提供的字符串和数字数据生成字符串序列。大括号扩展原创 2022-01-15 09:58:50 · 372 阅读 · 0 评论 -
fatal: git fetch-pack: expected shallow list
今天新安装了git-runner,在执行git-ci的时候,提示如下错误:Running with gitlab-runner 14.6.0 (5316d4ac) on Inboc-Gitlab-Runner for linux jqG_RmvRPreparing the "shell" executor00:00Using Shell executor...Preparing environment00:00Running on Inboc-Gitlab-Runner...Gettin原创 2022-01-11 16:42:45 · 5979 阅读 · 0 评论 -
ssh通过密钥无法登录远程服务器,提示 Load key “/root/.ssh/id_rsa“: bad permissions
使用SSH密钥对登录远程服务器,一直登录不上,提示如下错误:[root@backup .ssh]# ssh -p 6022 inboc@10.11.1.15@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: UNPROTECTED PRIVATE KEY FILE! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@原创 2022-01-04 17:30:52 · 10872 阅读 · 0 评论 -
单用户模式下执行 chroot: failed to run command ‘/bin/bash’: No such file or directory
在登陆服务器时,使用账户密码都无法登录,总是提示拒绝访问:Access deniedroot@10.11.17.100's password:第一个想法是先重置下密码,于是进入单用户模式,在执行chroot /sysroot时出现以下报错:switch_root:/# chroot /sysrootchroot: failed to run command ‘/bin/bash’: No such file or directory由提示可以看到是因为没有找到 /bin/bash,于是看下s原创 2022-01-03 14:37:03 · 13206 阅读 · 4 评论 -
使用ssh命令连接远程服务器报错-bash: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8)
使用ssh命令连接远程服务器出现如下报错提示:[root@localhost opc]# ssh 192.168.10.3Last login: Mon Aug 24 17:30:59 2020 from 192.168.10.74-bash: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8)/bin/sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8)本地原创 2021-12-24 14:23:40 · 3832 阅读 · 0 评论 -
debian系统中安装gcc报错g++ : Depends: g++-6 (>= 6.3.0-9~) but it is not going to be installed
今天在postgres容器中安装scws分词插件时,预编译报错,如下所示:checking whether the C compiler works... noconfigure: error: in `/var/lib/postgresql/data/scws-1.2.1':configure: error: C compiler cannot create executablesSee `config.log' for more details从报错中可以看出是缺少g++编译器,那么我们就安原创 2021-12-24 14:22:58 · 1411 阅读 · 0 评论 -
CentOS 7系统配置VLAN网络
在CentOS 7系统中VLAN的完整配置文件如下所示:PHYSDEV=ens192VLAN=yesTYPE=VlanVLAN_ID=1622REORDER_HDR=yesGVRP=noMVRP=noBOOTPROTO=noneIPADDR=172.16.22.208PREFIX=24GATEWAY=172.16.22.254DNS1=61.139.2.69DEFROUTE=yesIPV4_FAILURE_FATAL=yesNAME=ens192ONBOOT=yes..原创 2021-12-17 10:23:58 · 4045 阅读 · 0 评论 -
使用newgrp命令改变用户的有效组
我们说过,每个用户可以属于一个初始组(用户是这个组的初始用户),也可以属于多个附加组(用户是这个组的附加用户)。既然用户可以属于这么多用户组,那么用户在创建文件后,默认生效的组身份是哪个呢?当然是初始用户组的组身份生效了,因为初始组是用户一旦登录就直接获得的组身份。也就是说,用户在创建文件后,文件的属组是用户的初始组,因为用户的有效组默认是初始组。既然用户属于多个用户组,那么能不能改变用户的有效组呢?使用命令 newgrp 就可以切换用户的有效组,命令格式如下:[root@localhost ~]# ne原创 2020-06-09 18:54:17 · 740 阅读 · 0 评论 -
一文精通Iptables防火墙
文章目录1 IPtables入门简介2 IPtables表与链功能3 IPtables数据包流程4 IPtables四张表&五条链5 IPtables下Filter表6 IPtables下NAT表7 IPtables 安装8 IPtables 命令9 IPtables规则文件解析10 IPtables案例详解11 IPtables企业案例规则实战1 IPtables入门简介Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的原创 2020-06-30 21:12:45 · 402 阅读 · 0 评论 -
Linux系统中目录和文件权限介绍
为什么需要权限我们发现,初学者并不是不能理解权限命令,而是不能理解为什么需要设定不同的权限。所有的人都直接使用管理员身份,不可以吗?现在由于绝大多数用户使用的是个人计算机,而使用个人计算机的用户一般都是被信任的用户。在这种情况下,大家都可以使用管理员身份直接登录。又因为管理员拥有最大权限,所以给我们带来了错觉,以为在计算机中不需要分配权限登记,不需要使用不同的账户。但是在服务器上就不是这种情况了,在服务器上运行的数据越重要,价值越高,那么对权限的设定就要越详细,用户的分级也要越明确。所以,在服务器上.原创 2020-06-09 18:56:19 · 356 阅读 · 0 评论 -
Linux中如何将用户添加进组或从组中删除:gpasswd命令详解
其实 gpasswd 命令是用来设定组密码并指定组管理员的,不过我们在前面已经说了,组密码和组管理员功能很少使用,而且完全可以被 sudo 命令取代,所以 gpasswd 命令现在主要用于把用户添加进组或从组中删除,命令格式如下:[root@localhost ~]# gpasswd [选项] 组名 选项说明-a 用户名把用户加入组-d 用户名把用户从组中删除举两个例子说明下这两个选择的作用,例子如下:[root@localhost ~]# groupadd gr原创 2020-06-09 18:53:16 · 5330 阅读 · 0 评论 -
使用groupdel命令删除用户组
groupdel 命令用于删除用户组,命令格式如下:[root@localhost ~]#groupdel 组名 实例演示:[root@localhost ~]#groupdel testgrp #删除 testgrp 组不过大家要注意,要删除的组不能是其他用户的初始组,也就是说这个组中没有初始用户才可以删除。如果组中有附加用户,则删除组时不受影响。...原创 2020-06-09 18:51:32 · 2867 阅读 · 0 评论 -
使用groupmod命令修改用户组信息
Group命令用于修改用户组的相关信息,命令格式如下:[root@localhost ~]# groupmod [选项] 组名选项说明-g GID修改组ID-n 新组名修改组名给大家举个例子演示下这两个选项的作用。[root@localhost ~]# groupmod -n testgrp lamp#将lamp组名修改为testgrp[root@localhost ~]# groupmod -g 2000 testgrp#将新修改的testgrp组ID修改原创 2020-06-09 18:50:54 · 1522 阅读 · 0 评论 -
使用groupadd命令添加用户组
添加用户组的命令是 groupadd,命令格式如下:[root@localhost ~]# groupadd [选项] 组名选项说明-g GID指定组 ID添加用户组的命令比较简单,举个例子。[root@localhost ~]# groupadd group1 #添加 group1 组 [root@localhost ~]# grep "group1" /etc/group group1:x:502: ...原创 2020-06-09 18:49:55 · 3792 阅读 · 0 评论 -
切换用户身份命令 su 的使用方法详解
su 命令可以切换成不同的用户身份,命令格式如下:[root@localhost ~]# su [选项] 用户名选项说明-选项只使用“-”代表连带用户的环境变量一起切换-c 命令仅执行一次命令,而不切换用户身份“-”不能省略,它代表切换用户身份时,用户的环境变量也要切换成新用户的环境变量。大家知道环境变量是用来定义用户的操作环境的,如果环境变量没有随用户身份切换,那么很多操作将无法正确执行。比如put用户lamp切换成超级用户,但是没有加入“-”,那么虽然是root原创 2020-06-09 18:46:07 · 2682 阅读 · 0 评论 -
使用id命令查看用户的UID和GID
id命令可以查询用户的UID、GID和附加组的信息。命令比较简单,格式如下:[root@localhost ~]# id [用户名]我们还是举个例子来看下。[root@localhost ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023#直接使用id命令,查询当前用户的UID、GID和附加组信心[root@localhost ~]原创 2020-06-09 18:45:03 · 10469 阅读 · 0 评论 -
使用userdel命令删除Linux系统中用户
这个命令比较简单,就是删除用户。命令格式如下:[root@localhost ~]# userdel [-r] 用户名 选项说明-r在删除用户的同时删除用户的家目录在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,也就是垃圾文件。前面我们说过,可以手动修改用户的相关文件来建立用户,但在实际工作中,这样做没有实际的意义,因为用户管理命令可以更简单的完成这项工作。在学习时,手工添加用户是有助于加深我们对用户相关文件的理解的。不过手工添加用户还是比原创 2020-06-09 18:29:18 · 689 阅读 · 0 评论 -
使用chage命令修改用户状态
通过chage命令可以查看和修改/etc/shadow文件的第三个字段和第八个字段的密码状态。我个人建议直接修改/etc/shadow文件更加直观和简单,那么为什么还要讲解chage命令呢?因为chage命令有一种很好的用法,就是强制用户在第一次登录时必须修改密码。Chage命令的格式如下:[root@localhost ~]# chage [选项] 用户名选项说明-l列出用户的详细密码状态;-d 日期密码最后一次修改日期(/etc/shadow文件的第3个字段),格式为原创 2020-06-09 18:11:03 · 705 阅读 · 0 评论 -
使用usermod命令修改Linux系统中用户信息
在添加了用户之后,如果不小心添加错了用户的信息,那么是否可以修改呢?当然可以了,我们可以直接使用编辑器修改用户相关文件,也可以使用usermod命令进行修改。我们来学习一下usermod命令。该命令的格式如下:[root@localhost ~]#usermod [选项] 用户名 选项说明-u UID修改用户的 UID;-d 家目录修改用户的家目录。家目录必须写绝对路径;-c 用户说明修改用户的说明信息,就是/etc/passwd 文件的第五个字段;-g 组原创 2020-06-08 20:47:47 · 1954 阅读 · 0 评论 -
使用passwd命令修改Linux系统中用户密码
命令格式我们在上一小节中介绍了添加用户的命令,但是新添加的用户如果不没定密码是不能登录系统的,那么我们来学习一下密码设置命令passwd。[root@localhost ~]#passwd [选项] 用户名选项说明-s查询用户密码状态,也就是/etc/shadow文件中的内容。仅root用户可用-l暂时锁定用户,仅 root 用户可用-u解锁用户,仅 root 用户可用–stdin可以将通过管道符输出的数据作为用户的密码,主要在批量添加用户时使用.原创 2020-06-08 20:44:51 · 3558 阅读 · 0 评论 -
Linux中使用 useradd 命令添加用户
命令格式添加用户的命令是useradd,命令格式如下:[root@localhost ~]# useradd [选项] 用户名选项说明-u UID指定该用户的UID,注意手工添加的用户的UID不要小于500-d 家目录指定用户的家目录(默认为/home/username)。家目录必须写绝对路劲,而且如果需要手动指定家目录则一定要注意权限;-c 用户说明添加用户说明。还记得/etc/passwd文件的第五个字段吗?这里就是指定该字段内容的;-g 组名手.原创 2020-06-08 20:43:16 · 4390 阅读 · 0 评论 -
linux系统中与用户管理相关的文件解读
用户的家目录每个用户在登录Linux系统时,必须有一个默认的登录位置,该用户对这个目录一定的权限,我们把这个目录称作用户的家目录。普通用户的家目录位于/home/下,目录名和用户名相同。例如,lamp 用户的家目录就是/home/lamp/,这个目录的权限如下:[root@localhost ~]# ll -d /home/lamp/drwx------. 2 lamp lamp 62 Mar 18 12:22 /home/lamp/目录的属主是lamp用户,属组是lamp用户组,权限是700.原创 2020-06-08 20:28:42 · 908 阅读 · 0 评论 -
组密码文件/etc/gshadow内容详解
这个文件就是保存组密码的文件。如果我们给用户组设定了组管理员,并给该用户组设定了组密码,那么组密码就保存在这个文件中,组管理员就可以利用这个密码管理这个用户组了。该文件的内容如下:[root@localhost ~]# vim /etc/gshadowroot:::bin:::daemon:::...省略部分内容...lamp:!::这个文件同样使用“:”作为分隔符,把文件划分为4个字段,每个字段的含义如下:组名第一个字段是这个用户的组名。组密码第二个字段就是实际加密的组密码原创 2020-06-08 20:27:17 · 1641 阅读 · 1 评论 -
组信息文件/etc/group内容详解
这个文件是记录组ID (GID)和组名的对应文件。/etc/passwd文件的第四个字段记录的是每个用户的初始组的ID,那么这个GID的组名到底是什么呢?就要/etc/group文件中查找。这个文件的内容如下:[root@localhost ~]# vim /etc/grouproot:x:0:bin:x:1:...省略部分输出...lamp:x:1000:我们手工添加的用户lamp也会默认生成一个lamp用户组,GID是1000,作为lamp用户的初始组。这个文件和上面两个文件一样,用“:”原创 2020-06-08 20:23:03 · 3919 阅读 · 0 评论 -
影子文件/etc/shadow内容详解
这个文件中保存着用户的实际加密密码和密码有效期等参数。我们已经知道这个文件的限是000,所以保存的实际加密密码除root用户外,其他用户是不能查看的,这样做有效地保证了密码的安全。如果这个文件的权限发生了改变,则需要注意是否是恶意攻击。我们打开这个文件看看,例如:[root@localhost ~]# vim /etc/shadowroot:$6$tMDOfPy3gwivk/Iu$2.YkQW4P15i7c/3s8171LUnY2SdYGSSays77f0mUnG7r16Nf5jzU8qw2LwG/vB原创 2020-06-08 20:21:14 · 1625 阅读 · 0 评论 -
用户信息文件/etc/passwd内容详解
这个文件中保存的就是系统中所有的用户和用户的主要信息。我们打开这个文件来看看内容到底是什么。[root@localhost ~]# vim /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologin这个文件的内容非常规律,每行代表一个用户。大家可能会比较惊讶原创 2020-06-08 20:20:29 · 5913 阅读 · 1 评论 -
在Linux中如何对源码包软件进行升级?
我们的软件如果进行了数据更新,那么是否需要先把整个软件卸载,然后重新安装呢?当然不需要,我们只需要下载补丁、打上补丁,重新编译和安装就可以了(不用./configure生成新的Makefiel文件,make命令也只是重新编译数据),速度会比重新安装一次快得多。怎么知道两个软件之间的不同呢?难道需要手工对比两个软件吗?当然不是,Linux有diff命令用来比较两个软件的不同,当然也是利用这个命令生成补丁文件的。那么我们先看看这个命令的格式:[root@localhost ~]# diff 选项 old n原创 2020-06-08 11:57:02 · 579 阅读 · 1 评论 -
Linux中源码包的安装方法
支持软件的安装Linux下的绝大多数源码包都是用c语言编写的,还有少部分是用C++等其他程序语言编写的。所以,要想安装源码包,必须安装C语言编译器gcc (如果是用C++编写的程序,则还需要安装gcc-c++)。我们可以先检测一下gce是否已经安装,命令如下:[root@localhost ~]# rpm -qa | grep gccgcc-4.8.5-36.el7.x86_64如果没有安装gcc,则推荐大家采用yum安装方式安装。因为如果手工使用rpm命令安装,那么gcc所依赖的包太多了。命.原创 2020-06-08 11:49:15 · 488 阅读 · 0 评论 -
在使用YUM命令安装软件包时常见的错误及解决方案集合
安装软件的时候提示错误;[root@localhost ~]# yum install dhcpLoaded plugins: fastestmirror, securitySetting up Install ProcessCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was14: PYCURL ER.原创 2020-06-08 11:39:37 · 2058 阅读 · 0 评论 -
在Linux中如何使用yum命令进行软件组管理
在安装Linux的过程中,在选择软件包的时候,如果选择了“选择自定义”,就会看到Linux支持的许多软件组,比如编辑器、系统工具、开发工具等。那么,在系统安装完成后,是否可以利用yum安装这些软件组呢?当然可以,只需要利用yum软件的软件组管理命令,命令格式如下:[root@study ~]# yum [选项] [软件组名]选项说明grouplist列出所有可使用的『软件组名』,例如 Development Tools 之类的;groupinfo后面接 group_nam原创 2020-06-07 11:45:25 · 577 阅读 · 0 评论 -
常用YUM命令及选项详解
查询功能查询YUM服务器上所有可安装的软件包列表。[root@localhost ~]# yum list#查询所有可安装软件包列表Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfileInstalled Packages#已经安装的软件包GeoIP.x86_64 1.5.0-13.el7 @anacondaNetworkMan.原创 2020-06-07 11:44:22 · 1606 阅读 · 0 评论
分享