linux操作日志,linux日志类型
今天给各位分享linux操作日志的知识,其中也会对linux日志类型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
linux用户操作日志linux用户操作
Linux怎么切换到普通用户?
1、首先打开一个终端窗口,输入:wei@localhost:~$($:是普通用户的意思,若是root用户就显示#)
2、输入:su然后回车,要求输入密码(linux终端输入的密码似乎都不显示)输入密码后回车就进入了root用户,
3、想要从root用户切换到普通用户的方法:直接在命令行输入:su普通用户名按下回车键即可立即进行切换!切换完成后在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
Linux中用户如何分类?
主要是分为三类:第一类:root(超级管理员),UID为0,这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大了。
第二类:系统用户,UID为1~499。一般是不会被登入的。
第三类就是普通用户,UID范围一般是500~65534。这类用户的权限会受到基本权限的限制,也会受到来自管理员的限制。不过要注意nobody这个特殊的帐号,UID为65534,这个用户的权限会进一步的受到限制,一般用于实现来宾帐号。
如何在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/用户名
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#
3)服务用户:为服务提供权限
特点:
id范围:
0id1000
家目录:应用程序服务目录
#idapache
uid=48(apache)gid=48(apache)groups=48(apache)
#
如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户
Includeconf.modules.d/*.conf
#
#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun
#httpdasrootinitiallyanditwillswitch.
#
#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas.
#Itisusuallygoodpracticetocreateadedicateduserandgroupfor
#runninghttpd,aswithmostsystemservices.
#
Userapache
Groupapache
#'Main'serverconfiguration
#
本地组:
1)主组:一个用户一定要属于某个主组中。当些用户在创建文件时,给文件的归属组
2)从属组:用户容器,组织和管理用户权限管控
作用:
文件:
进程:
$ps-ux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
student321780.00.4930529360?Ss15:000:00/usr/lib/system
student321820.00.32537767072?S15:000:00(sd-pam)
student321880.00.21594124980?S15:000:00sshd:student@p
student321890.00.22339124864pts/0Ss15:000:00-bash
student322930.30.21594085192?D15:430:00sshd:student@p
student322940.30.22339124924pts/1Ss15:430:00-bash
student323190.50.22339404804pts/1S15:430:00/bin/bash
student323410.00.22693123876pts/1R+15:430:00ps-ux
$
账户文件:
1)/etc/passwd:保存用户信息
#cat/etc/passwd|grepstudent
student:x:1000:1000:StudentUser:/home/student:/bin/bash
用户名密码uid主组ID描述家目录登录shell
#
#cat/etc/passwd|grep-wroot:x
root:x:0:0:root:/root:/bin/bash
#
#cat/etc/passwd|grepapache
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
服务账号无法登录系统
#
2./etc/shadow:保存用户密码的HASH,密码的有效性信息,密码修改时间,账户有效期。
#
#ls-l/etc/shadow
----------.1rootroot1014Mar2911:39/etc/shadow
#
#
#cat/etc/shadow|grepstudent
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用户密码过了最后修改时间,未改变密码,再过多少天,账户将被锁定
::账户有效期
创建用户和组:
创建时,没有密码:
#useraddzhangsan
#useraddlisi
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi)
#
无法登录:与PAM有关
$
$su-zhangsan
Password:
Password:
su:Authenticationfailure
$
设置密码:
#
#cat/etc/passwd|grepzhangsan
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
#cat/etc/shadow|grepzhangsan
zhangsan:!!:18350:0:99999:7:::#!!未设置密码
#
#passwdzhangsan
Changingpasswordforuserzhangsan.
Newpassword:
BADPASSWORD:Thepasswordisshorterthan8characters
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
#
#
#cat/etc/shadow|grepzhangsan
zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0:18350:0:99999:7:::
#
chage可以查看用户密码属性
#chage-lzhangsan
Lastpasswordchange:Mar29,2020
Passwordexpires:never
Passwordinactive:never
Accountexpires:never
Minimumnumberofdaysbetweenpasswordchange:0
Maximumnumberofdaysbetweenpasswordchange:99999
Numberofdaysofwarningbeforepasswordexpires:7
#
创建组:从属组
#
#groupaddit
#
#
#groupaddsales
#
#
#
#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:
#
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#
将用户添加进组:zhangsan,加入it组,lisi,sales组
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#usermod-aGitzhangsan
#
#
#usermod-aGsaleslisi
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1004(sales)
#
删除用户:
#useraddandy
默认删除,保留用户的文件:
#
#userdelandy
#
#
#useraddandy#重建andy会不一样,uid会不同
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
Creatingmailboxfile:Fileexists
#
#useradduser1
#useradduser2
#idandy
uid=1003(andy)gid=1005(andy)groups=1005(andy)
#userdel-rany
userdel:user'any'doesnotexist
#
#userdel-randy#不保留用户的文件。家目,邮箱文件,skel文件都会
#
#
#idandy
id:‘andy’:nosuchuser
#useraddandy
#idandy
uid=1006(andy)gid=1008(andy)groups=1008(andy)
#
从组中移除用户:
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)#zhangsan主组,it从属组
#
命令:
#gpasswd-dzhangsanit
Removinguserzhangsanfromgroupit
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
#
#
#usermod-aGitzhangsan
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
#
#
#
#groupszhangsan
zhangsan:zhangsanit
#
直接修改文件:
#vim/etc/group
#cat/etc/group|grepit:
it:x:1003:
#
删除组:
#groupaddtest
#
#
#groupdeltest
创建自定义用户和组:
实验:用户名mary,指定用户id2000,家目录/maryhome,不用登录系统描述thisismaryuser
#
#useradd-u2000-d/maryhome-s/sbin/nologin-c"thisismary"mary
#
#idmary
uid=2000(mary)gid=2000(mary)groups=2000(mary)
#cat/etc/passwd|grepmary
mary:x:2000:2000:thisismary:/maryhome:/sbin/nologin
#
#su-mary
Lastlogin:SunMar2916:48:49CST2020onpts/0
Thisaccountiscurrentlynotavailable.
#
创建自定义组:指定组id
#groupadd-g3000group1
#cat/etc/group|grepgroup1
group1:x:3000:
#
linux操作总结?
linux是一个开源,免费的操作系统,其稳定性,安全性,处理多并发得到业界认可,linux其实是一个统称(redhat,红旗linux,Ubuntu,suse,fedora都用的linux内核),优点有:开源免费,支持多线程,多用户,安全性好,对内存和文件管理优越,适合小内核程序的嵌入,缺点是命令行操作,但也使得占用资源少,减少被攻击,出错的可能;
linux怎么修改自己创建的用户名?
Linux中可以使用usermod命令更改用户名,具体的操作方法如下:
1、首先打开linux的终端,输入指令修改用户名,简单的用户名修改是usermod加参数l,后面跟新用户名,最后是旧用户名。
2、此时用cd命令来到home目录,会发现存在一点小问题,就是只能修改用户名而不能更新用户目录下的该用户文件。
3、如果要更新home目录下的文件夹名字,还需要使用参数d,后面跟home的路径加上新用户名,在加上m参数和新用户名就可以更新用户目录的名字了。
linux内核调试(三)内核崩溃日志抓取pstore
深入探索Linux内核调试:内核崩溃日志的pstore捕获技术
在Linux内核的世界里,ARMv8架构的5.14.0-rc5版本引入了pstore,一个强大的内核日志管理工具,它以模块化设计轻松地保存内核日志、console日志和ftrace信息,同时还支持灵活的存储设备扩展。pstore的核心在于其文件系统,它以文件形式呈现重启时的数据,便于查询和操作。
初始化pstore流程中,首先设置压缩算法,如deflate或lzo,接着初始化文件系统,创建一个挂载点,并将文件系统注册到内核中。在实际操作中,当系统挂载pstore文件系统时,会填充超级块并从后台读取数据,确保崩溃日志的完整性。
深入细节:pstore的幕后操作
当处理崩溃日志时,pstore通过一系列关键步骤进行工作。首先是打开后台设备(open(psi)),然后进入一个循环(for(; stop_loop;--stop_loop)),每次迭代中,记录(record)会被初始化(pstore_record_init(record, psi)),可能需要解压缩(decompress_record(record)),并根据记录内容创建文件(pstore_mkfile(root, record))。
在pstore backend的注册流程中,关键在于构造一个包含设备名、缓存、标志、限制以及回调函数的pstore_info结构体。接着,根据配置和分区操作,进行参数校验,最后将前端与后端进行连接(注册流程)。
前端操作:记录的捕获与处理
内核异常时,kmsg_dump函数扮演了重要角色,它遍历dump_list,根据dumper的限制条件(max_reason),执行dump操作。dmesg前端的dump函数中,首先初始化记录((1)初始化record结构),接着读取log并写入,经过压缩(如果启用)((2,3)),然后将记录安全地写入后端设备((4))。
为了充分利用pstore,开发者需要在内核配置中启用((1)启用pstore功能),并在devicetree中为ramoops预留内存((2)devicetree配置)。挂载时,将指向/sys/fs/pstore,即可访问并操作保存的崩溃日志((3,4))。
通过深入了解pstore,开发者可以更好地诊断和修复Linux内核中的问题,确保系统在遇到异常时,日志数据能被有效保存和管理。掌握这一技术,无疑为内核维护者提供了强大的工具。
linux中怎样查看日志
方法/步骤
先必须了解两个最基本的命令:
tail-n 10 test.log查询日志尾部最后10行的日志;
tail-n+10 test.log查询10行之后的所有日志;
head-n 10 test.log查询日志文件中的头10行日志;
head-n-10 test.log查询日志文件除了最后10行的其他所有日志;
场景1:按行号查看---过滤出关键字附近的日志
因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.
我是这样做的,首先: cat-n test.log|grep"地形"得到关键日志的行号
<3>得到"地形"关键字所在的行号是102行.此时如果我想查看这个关键字前10行和后10行的日志:
cat-n test.log|tail-n+92|head-n 20
tail-n+92表示查询92行之后的日志
head-n 20则表示在前面的查询结果里再查前20条记录
场景2:那么按日期怎么查呢?通常我们非常需要查找指定时间端的日志
sed-n'/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.
关于日期打印,可以先 grep'2014-12-17 16:17:20' test.log来确定日志中是否有该时间点,以确保第4步可以拿到日志
这个根据时间段查询日志是非常有用的命令.
如果我们查找的日志很多,打印在屏幕上不方便查看,有两个方法:
(1)使用more和less命令,如: cat-n test.log|grep"地形"|more这样就分页打印了,通过点击空格键翻页
(2)使用>xxx.txt将其保存到文件中,到时可以拉下这个文件分析.如:
cat-n test.log|grep"地形">xxx.txt
这几个日志查看方法应该可以满足日常需求了.