linux 删除文件指令(linux sha)-编程知识网

linux安装rpm时候报错:error: unpacking of archive failed: cpio: Bad magic?

warning:epel-release-6-5.noarch.rpm:HeaderV3RSA/SHA256signature:NOKEY,keyID0608b895key部队,要导入当前版本的key rpm–import/etc/pki/rpm-gpg/RPM*error:Faileddependencies: rpmlib(FileDigests)<=4.6.0-1isneededbyepel-release-6-5.noarch rpmlib(PayloadIsXz)<=5.2-1isneededbyepel-release-6-5.noarch rpmlib版本不对,加nodeps忽略依赖性,可能有问题。

如何给linux安装新内核?

一、获取内核源码

二、解压内核源码

首先以root帐号登录,然后进入/usr/src子目录。如果用户在安装Linux时,安装了内核的源代码,则会发现一个linux-x.y.z的子目录。该目录下存放着内核x.y.z的源代码。此外,还会发现一个指向该目录的链接linux。删除该连接,然后将新内核的源文件拷贝到/usr/src目录中,并解压:

#tarzxvfLinux-2.3.14.tar.gz

文件释放成功后,在/usr/src目录下会生成一个linux子目录。其中包含了内核2.3.14的全部源代码。将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中。

 #cd/usr/include

  #rm-Rfasmlinux

  #ln-s/usr/src/linux/include/asm-i386asm

  #ln-s/usr/src/linux/include/linuxlinux

  #ln-s/usr/src/linux/include/scsiscsi

删除源代码目录中残留的.o文件和其它从属文件。

  #cd/usr/src/linux

  #makemrproper

三.增量补丁

有时不需要完全重新安装,只需打增量补丁,类似升级,在内核源码树根目录运行:

patch-p1<../patch-x.y.z

四.内核源码树目录:

arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。

block:部分块设备驱动程序。

crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。

Documentation:关于内核各部分的通用解释和注释。

drivers:设备驱动程序,每个不同的驱动占用一个子目录。

fs:各种支持的文件系统,如ext、fat、ntfs等。

include:头文件。其中,和系统相关的头文件被放置在linux子目录下。

init:内核初始化代码(注意不是系统引导代码)。

ipc:进程间通信的代码。

kernel:内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放在arch/*/kernel目录下。

lib:库文件代码。

mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。

net:网络相关代码,实现了各种常见的网络协议。

scripts:用于配置内核文件的脚本文件。

security:主要是一个SELinux的模块。

sound:常用音频设备的驱动程序等。

usr:实现了一个cpio。

在i386体系下,系统引导将从arch/i386/kernel/head.s开始执行,并进而转移到init/main.c中的main()函数初始化内核。

五.配置内核

#cd/usr/src/linux

内核配置方法有三种:

(1)命令行:makeconfig

(2)菜单模式的配置界面:makemenuconfig

(3)Xwindow:makexconfig

Linux的内核配置程序提供了一系列配置选项。对于每一个配置选项,用户可以”y”、”m”或”n”。其中”y”表示将相应特性的支持或设备驱动程序编译进内核;”m”表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;”n”表示内核不提供相应特性或驱动程序的支持。由于内核的配置选项非常多,本文只介绍一些比较重要的选项。

  1、Codematurityleveloptions(代码成熟度选项)

  Promptfordevelopmentand/orincompletecode/drivers(CONFIG_EXPERIMENTAL)如果用户想要使用还处于测试阶段的代码或驱动,可以选择“y”。如果想编译出一个稳定的内核,则要选择“n”。

 2、Processortypeandfeatures(处理器类型和特色)

  (1)、Processorfamily(386,486/Cx486,586/K5/5×86/6×86,Pentium/K6/TSC,PPro/6x86MX)选择处理器类型,缺省为Ppro/6x86MX。

  (2)、MaximumPhysicalMemory(1GB,2GB)内核支持的最大内存数,缺省为1G。

  (3)、Mathemulation(CONFIG_MATH_EMULATION)协处理器仿真,缺省为不仿真。

  (4)、MTRR(MemoryTypeRangeRegister)support(CONFIG_MTRR)

  选择该选项,系统将生成/proc/mtrr文件对MTRR进行管理,供Xserver使用。

  (5)、Symmetricmulti-processingsupport(CONFIG_SMP)选择“y”,内核将支持对称多处理器。

  3、Loadablemodulesupport(可加载模块支持)

  (1)、Enableloadablemodulesupport(CONFIG_MODULES)选择“y”,内核将支持加载模块。

  (2)、Kernelmoduleloader(CONFIG_KMOD)选择“y”,内核将自动加载那些可加载模块,否则需要用户手工加载。

  4、Generalsetup(一般设置)

  (1)、Networkingsupport(CONFIG_NET)该选项设置是否在内核中提供网络支持。

  (2)、PCIsupport(CONFIG_PCI)该选项设置是否在内核中提供PCI支持。

  (3)、PCIaccessmode(BIOS,Direct,Any)该选项设置Linux探测PCI设备的方式。选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”,Linux将直接探测PCI设备,如果失败,再使用BIOS。

  (4)Parallelportsupport(CONFIG_PARPORT)选择“y”,内核将支持平行口。

  5、PlugandPlayconfiguration(即插即用设备支持)

  (1)、PlugandPlaysupport(CONFIG_PNP)选择“y”,内核将自动配置即插即用设备。

  (2)、ISAPlugandPlaysupport(CONFIG_ISAPNP)选择“y”,内核将自动配置基于ISA总线的即插即用设备。

  6、Blockdevices(块设备)

  (1)、NormalPCfloppydisksupport(CONFIG_BLK_DEV_FD)选择“y”,内核将提供对软盘的支持。

  (2)、EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport(CONFIG_BLK_DEV_IDE)选择“y”,内核将提供对增强IDE硬盘、CDROM和磁带机的支持。

  7、Networkingoptions(网络选项)

  (1)、Packetsocket(CONFIG_PACKET)选择“y”,一些应用程序将使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。

  (2)、Networkfirewalls(CONFIG_FIREWALL)选择“y”,内核将支持防火墙。

  (3)、TCP/IPnetworking(CONFIG_INET)选择“y”,内核将支持TCP/IP协议。

  (4)TheIPXprotocol(CONFIG_IPX)选择“y”,内核将支持IPX协议。

  (5)、AppletalkDDP(CONFIG_ATALK)选择“y”,内核将支持AppletalkDDP协议。

  8、SCSIsupport(SCSI支持)

  如果用户要使用SCSI设备,可配置相应选项。

  9、Networkdevicesupport(网络设备支持)

  Networkdevicesupport(CONFIG_NETDEVICES)选择“y”,内核将提供对网络驱动程序的支持。

  10、Ethernet(10or100Mbit)(10M或100M以太网)

  在该项设置中,系统提供了许多网卡驱动程序,用户只要选择自己的网卡驱动就可以了。此外,用户还可以根据需要,在内核中加入对FDDI、PPP、SLIP和无线LAN(WirelessLAN)的支持。

  11、Characterdevices(字符设备)

  (1)、Virtualterminal(CONFIG_VT)选择“y”,内核将支持虚拟终端。

  (2)、Supportforconsoleonvirtualterminal(CONFIG_VT_CONSOLE)

  选择“y”,内核可将一个虚拟终端用作系统控制台。

  (3)、Standard/generic(dumb)serialsupport(CONFIG_SERIAL)

  选择“y”,内核将支持串行口。

  (4)、Supportforconsoleonserialport(CONFIG_SERIAL_CONSOLE)

  选择“y”,内核可将一个串行口用作系统控制台。

  12、Mice(鼠标)

  PS/2mouse(aka”auxiliarydevice”)support(CONFIG_PSMOUSE)如果用户使用的是PS/2鼠标,则该选项应该选择“y”。

  13、Filesystems(文件系统)

  (1)、Quotasupport(CONFIG_QUOTA)选择“y”,内核将支持磁盘限额。

  (2)、Kernelautomountersupport(CONFIG_AUTOFS_FS)选择“y”,内核将提供对automounter的支持,使系统在启动时自动mount远程文件系统。

  (3)、DOSFATfssupport(CONFIG_FAT_FS)选择“y”,内核将支持DOSFAT文件系统。

  (4)、ISO9660CDROMfilesystemsupport(CONFIG_ISO9660_FS)

  选择“y”,内核将支持ISO9660CDROM文件系统。

  (5)、NTFSfilesystemsupport(readonly)(CONFIG_NTFS_FS)

  选择“y”,用户就可以以只读方式访问NTFS文件系统。

  (6)、/procfilesystemsupport(CONFIG_PROC_FS)/proc是存放Linux系统运行状态的虚拟文件系统,该项必须选择“y”。

  (7)、Secondextendedfssupport(CONFIG_EXT2_FS)EXT2是Linux的标准文件系统,该项也必须选择“y”。

  14、NetworkFileSystems(网络文件系统)

  (1)、NFSfilesystemsupport(CONFIG_NFS_FS)选择“y”,内核将支持NFS文件系统。

  (2)、SMBfilesystemsupport(tomountWfWsharesetc.)(CONFIG_SMB_FS)

  选择“y”,内核将支持SMB文件系统。

  (3)、NCPfilesystemsupport(tomountNetWarevolumes)(CONFIG_NCP_FS)

  选择“y”,内核将支持NCP文件系统。

  15、PartitionTypes(分区类型)

  该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择“y”即可。

  16、Consoledrivers(控制台驱动)

  VGAtextconsole(CONFIG_VGA_CONSOLE)选择“y”,用户就可以在标准的VGA显示方式下使用Linux了。

  17、Sound(声音)

  Soundcardsupport(CONFIG_SOUND)选择“y”,内核就可提供对声卡的支持。

  18、Kernelhacking(内核监视)

  MagicSysRqkey(CONFIG_MAGIC_SYSRQ)选择“y”,用户就可以对系统进行部分控制。一般情况下选择“n”。

六、编译内核

  (一)、建立编译时所需的从属文件

  #cd/usr/src/linux

  #makedep

  (二)、清除内核编译的目标文件

  #makeclean

  (三)、编译内核

  #makezImage

  内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件zImage。如果编译的内核很大的话,系统会提示你使用makebzImage命令来编译。这时,编译程序就会生成一个名叫bzImage的内核映像文件。

  (四)、编译可加载模块

  如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。

  #makemodules

  #makemodelus_install

  编译成功后,系统会在/lib/modules目录下生成一个2.3.14子目录,里面存放着新内核的所有可加载模块。

七、启动新内核

  (一)、将新内核和System.map文件拷贝到/boot目录下

  #cp/usr/src/linux/arch/i386/boot/bzImage/boot/vmlinuz-2.3.14

  #cp/usr/src/linux/System.map/boot/System.map-2.3.14

  #cd/boot

  #rm-fSystem.map

  #ln-sSystem.map-2.3.14System.map

  (二)、配置/etc/lilo.conf文件。在该文件中加入下面几行:

  default=linux-2.3.14

  image=/boot/vmlinuz-2.3.14

  label=linux-2.3.14

  root=/dev/hda1

  read-only

  (三)、使新配置生效

  #/sbin/lilo

  (四)、重新启动系统

  #/sbin/reboot

  新内核如果不能正常启动,用户可以在LILO:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。

如何在linux上用命令实现用户和组的管理?

Linux上用命令实现本地用户和组的管理

本地用户和组:管理文件和进程等等

本地用户和组:

1)root: 超级管理员 系统创建的第一个账户

特点:

id为:0

家目录:/root

具有系统的完全控制权: 小心使用。

# id

uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

#

2)普通用户: 不具有管理员权限

特点:

id范围:

1000 <= id <=60000

家目录: /home/用户名

# id student

uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)

#

3)服务用户: 为服务提供权限

特点:

id范围:

0 < id < 1000

家目录:应用程序服务目录

# id apache

uid=48(apache) gid=48(apache) groups=48(apache)

#

如果是yum,rpm安装的软件: 由rpm包中的脚本创建服务账户

Include conf.modules.d/*.conf

#

# If you wish httpd to run as a different user or group, you must run

# httpd as root initially and it will switch.

#

# User/Group: The name (or #number) of the user/group to run httpd as.

# It is usually good practice to create a dedicated user and group for

# running httpd, as with most system services.

#

User apache

Group apache

# ‘Main’ server configuration

#

本地组:

1) 主组:一个用户一定要属于某个主组中。 当些用户在创建文件时,给文件的归属组

2)从属组: 用户容器 ,组织和管理用户 权限管控

作用:

文件:

linux 删除文件指令(linux sha)-编程知识网

进程:

$ ps -ux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

student 32178 0.0 0.4 93052 9360 ? Ss 15:00 0:00 /usr/lib/system

student 32182 0.0 0.3 253776 7072 ? S 15:00 0:00 (sd-pam)

student 32188 0.0 0.2 159412 4980 ? S 15:00 0:00 sshd: student@p

student 32189 0.0 0.2 233912 4864 pts/0 Ss 15:00 0:00 -bash

student 32293 0.3 0.2 159408 5192 ? D 15:43 0:00 sshd: student@p

student 32294 0.3 0.2 233912 4924 pts/1 Ss 15:43 0:00 -bash

student 32319 0.5 0.2 233940 4804 pts/1 S 15:43 0:00 /bin/bash

student 32341 0.0 0.2 269312 3876 pts/1 R+ 15:43 0:00 ps -ux

$

linux 删除文件指令(linux sha)-编程知识网

账户文件:

1) /etc/passwd:保存用户信息

# cat /etc/passwd |grep student

student: x :1000:1000: Student User:/home/student:/bin/bash

用户名 密码 uid 主组ID 描述 家目录 登录shell

#

# cat /etc/passwd |grep -w root:x

root:x:0:0:root:/root:/bin/bash

#

# cat /etc/passwd |grep apache

apache:x:48:48:Apache:/usr/share/httpd: /sbin/nologin

服务账号 无法登录系统

#

2. /etc/shadow : 保存用户密码的 HASH ,密码的有效性信息,密码修改时间,账户有效期。

#

# ls -l /etc/shadow

———-. 1 root root 1014 Mar 29 11:39 /etc/shadow

#

#

# cat /etc/shadow |grep student

student:$6$8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80:18038:0:99999:7:::

#

密码的HASH: sha512

8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80

18038:天数 密码最后一次修改的时间 从1970-01-01 + 18038 天之后 那一天

0: 密码最少使用天数 0 没有限制 用户随时可以改密码

99999 :天数, 密码最大修改时间 永久 200多年

7 : warning 警告时间, 当密码快到最后修改时间前7天, 通知用户修改。

::天数 失效时间 inactive 用户密码过了最后修改时间,未改变密码 ,再过多少天,账户将被 锁定

:: 账户有效期

创建用户和组:

创建时,没有密码:

# useradd zhangsan

# useradd lisi

# id zhangsan

uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan)

# id lisi

uid=1002(lisi) gid=1002(lisi) groups=1002(lisi)

#

无法登录:与PAM 有关

$

$ su – zhangsan

Password:

Password:

su: Authentication failure

$

设置密码:

#

# cat /etc/passwd |grep zhangsan

zhangsan:x:1001:1001::/home/zhangsan:/bin/bash

# cat /etc/shadow |grep zhangsan

zhangsan:!!:18350:0:99999:7::: # !! 未设置密码

#

# passwd zhangsan

Changing password for user zhangsan.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

#

#

# cat /etc/shadow |grep zhangsan

zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0:18350:0:99999:7:::

#

chage 可以查看用户 密码属性

# chage -l zhangsan

Last password change : Mar 29, 2020

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

#

创建组:从属组

#

# groupadd it

#

#

# groupadd sales

#

#

#

# cat /etc/group

root:x:0:

bin:x:1:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

lp:x:7:

mem:x:8:

kmem:x:9:

wheel:x:10:student

cdrom:x:11:

mail:x:12:postfix

man:x:15:

dialout:x:18:

floppy:x:19:

games:x:20:

tape:x:33:

video:x:39:

ftp:x:50:

lock:x:54:

audio:x:63:

users:x:100:

nobody:x:65534:

dbus:x:81:

utmp:x:22:

utempter:x:35:

input:x:999:

kvm:x:36:

render:x:998:

systemd-journal:x:190:

systemd-coredump:x:997:

systemd-resolve:x:193:

tss:x:59:

polkitd:x:996:

rpc:x:32:

unbound:x:995:

ssh_keys:x:994:

sssd:x:993:

setroubleshoot:x:992:

rpcuser:x:29:

insights:x:991:

cockpit-ws:x:990:

sshd:x:74:

chrony:x:989:

tcpdump:x:72:

student:x:1000:

printadmin:x:988:

libstoragemgmt:x:987:

slocate:x:21:

postdrop:x:90:

postfix:x:89:

apache:x:48:

zhangsan:x:1001:

lisi:x:1002:

it:x:1003: 组成员列表

sales:x:1004:

#

# id student

uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)

#

将用户添加进组: zhangsan ,加入it组,lisi,sales组

# id student

uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)

# usermod -aG it zhangsan

#

#

# usermod -aG sales lisi

#

#

# id zhangsan

uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),1003(it)

# id lisi

uid=1002(lisi) gid=1002(lisi) groups=1002(lisi),1004(sales)

#

删除用户:

# useradd andy

默认删除,保留用户的文件:

#

# userdel andy

#

#

# useradd andy #重建andy会不一样, uid会不同

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

Creating mailbox file: File exists

#

# useradd user1

# useradd user2

# id andy

uid=1003(andy) gid=1005(andy) groups=1005(andy)

# userdel -r any

userdel: user ‘any’ does not exist

#

# userdel -r andy #不保留用户的文件。家目,邮箱文件 ,skel文件都会

#

#

# id andy

id: ‘andy’: no such user

# useradd andy

# id andy

uid=1006(andy) gid=1008(andy) groups=1008(andy)

#

从组中移除用户:

#

# id zhangsan

uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),1003(it) #zhangsan主组 ,it 从属组

#

命令:

# gpasswd -d zhangsan it

Removing user zhangsan from group it

#

#

# id zhangsan

uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan)

#

#

# usermod -aG it zhangsan

#

#

# id zhangsan

uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),1003(it)

#

#

#

# groups zhangsan

zhangsan : zhangsan it

#

直接修改文件:

# vim /etc/group

# cat /etc/group |grep it:

it:x:1003:

#

删除组:

# groupadd test

#

#

# groupdel test

创建自定义用户和组:

实验:用户名mary, 指定用户id 2000,家目录/maryhome ,不用登录系统 描述 this is mary user

#

# useradd -u 2000 -d /maryhome -s /sbin/nologin -c “this is mary” mary

#

# id mary

uid=2000(mary) gid=2000(mary) groups=2000(mary)

# cat /etc/passwd |grep mary

mary:x:2000:2000:this is mary:/maryhome:/sbin/nologin

#

# su – mary

Last login: Sun Mar 29 16:48:49 CST 2020 on pts/0

This account is currently not available.

#

创建自定义组:指定组id

# groupadd -g 3000 group1

# cat /etc/group |grep group1

group1:x:3000:

#

sha后缀是什么文件?

.sha扩展名也代表UNIX操作系统中使用的Shell Archive文件格式。SHA是一种纯文本格式。SHA文件是自提取的,SHA格式用于在一个shell脚本中对多个文件进行编码。运行这个脚本将重新创建编码后的文件。

以.sha为扩展名的文件可以使用标准的Unix实用程序从命令行执行,如Unix Bourne shell sh。SHA格式也可以在Windows中使用特殊的实用程序,以及在GNU/Linux中执行。

linux密码默认加密方式?

Linux默认用户密码加密方式是sha512。