用户相关命令

  • 用户相关命令已关闭评论
  • 32 次浏览
  • A+
所属分类:linux技术
摘要

关机重启命令均需要root权限执行在linux中每个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有所有者,所有组,其他组的概念
查看用户组命令:cat /etc/group


一、关机重启命令

  1. shutdown -h now 立刻进行关机
  2. halt 关机
  3. reboot 重启电脑
  4. sync 把内存数据同步到磁盘

关机重启命令均需要root权限执行

二、用户登录和注销命令

  • su username: 切换用户,不带任何参数会进入root;低权限用户切换高权限用户需要输入密码
  • logout: 只能在shell上使用,不可以在图形化界面使用
  • exit: 退出指令可以退出root用户

三、用户的增删改命令

  • useradd :创建新用户默认没有密码
    • +用户名创建用户,没有指定组名会新增一个与用户同名的组
    • -g 用户组 用户名 创建用户并添加到用户组
    • -m 自动为用户创建登入目录 kali必须添加此选项
  • userdel
    • +用户名删除用户但保留用户在home目录下文件夹
    • -r 用户名 删除用户并删除用户在home目录下全部文件夹
  • passwd+用户名 更改密码
  • id+用户名 :查看用户id以及所属组的id

四、用户组的命令

  • groupadd+组名 :创建组
  • groupdel+组名 :删除组
  • usermod -g 用户组 用户名 :修改用户的组
  • usermod -d 目录名 用户用:修改用户登陆的初始目录

五、用户组的基本介绍

在linux中每个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有所有者,所有组,其他组的概念
查看用户组命令:cat /etc/group

所有者:一般为文件的创建者,谁创建了该文件谁就是文件的所有者

  1. 查看文件的所有者
    • 指令:ls -ahl 文件名
    • 红框就是文件的所有者
      用户相关命令
  2. 修改文件所有者
    • 指令:chown 【-R】用户名 文件名
    • -R:递归把文件夹下所有文件所有者进行更改
  3. 同时修改文件所有者和所在组
    • 指令:chown 【-R】用户名:所在组 文件名
    • -R:递归把文件夹下所有文件所有者进行更改

低权限用户无法修改高权限用户的文件所有者,高权限用户可以随意修改低用户所有者

所在组:用户创建了一个文件后,文件所在组就是用户所在组

  1. 查看文件的所在组
    1. 指令:ls -ahl 文件名
    2. 红框就是文件的所在组
      用户相关命令
  2. 创建用户和用户组并创建文件,查看文件所有者和所有组
    1. 先创建用户组fox:groupadd 用户组fox
    2. 创建用户并指定用户组:useradd -m -g 用户组fox 用户名admin
    3. 为新用户设定密码:passwd 用户名admin
    4. 切换用户使用touch指令创建新文件
    5. 然后使用ls -ahl 查看刚创建的文件的所有者和y所有组
  3. 修改所有组
    • 指令:chgrp 【-R】组名 用户名
    • -R:递归把文件夹下所有文件所在组进行更改

其他组:除文件所有者和所有组的用户之外,系统其他用户均算其他组

六、rwx权限

权限的基本介绍

示例:-rw-r--r-- 1 root root 16 9月 14 16:58 123.txt
0-9位说明:

  1. 第0位确定文件类型(d , - , l , c , b)
    • d:是目录,相当于windows的文件夹
    • -:普通文件
    • l:是链接,相当于Windows的快捷方式
    • c:是字符设备文件,鼠标键盘等
    • b:是块设备,比如硬盘
  2. 1-3位确定所有者所拥有的文件权限
  3. 4-6位确定所有组所拥有的文件权限
  4. 7-9位确定其他组所拥有的文件权限

rwx权限详解(r=4可读 w=2可写 x=1可执行)

rwx作用到文件

  1. r:可以读取查看
  2. w:可以修改,但不一定能对其删除,必须拥有该文件所在目录的写权限,才可以删除
  3. x:可以被执行

rwx作用到目录

  1. r:可以读取,ls查看目录内容
  2. w:可以修改,对目录内创建,删除,重命名
  3. x:可执行,可以进入该目录

修改文件权限

基本说明:可以使用chmod指令对文件或目录权限进行修改

  1. +、-、=变更权限

u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)
命令演示:

  • 给abc.txt文件的所有者读写执行权限,所有组读执行权限,其他组执行权限:chmod u=rwx,g=rx,o=rx abc.txt
  • 给abc.txt文件所有者去除执行权限,增加所有组写的权限:chmod u-x,g+w abc.txt
  1. 通过数字变更权限
    r=4w=2x=1
    命令演示:将abc.txt文件权限修改成rwxr-xr-x,使用数字方式实现:chmod 755 abc.txt

七、进程管理(重点)

基本介绍:

  1. 在Linux中,每个执行的程序都被称为进程,每个进程都分配一个ID号(pid:进程号)
  2. 每个进程都可能以两种方式存在。前台和后台,前台进程就是用户目前屏幕上可以进行的操作,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
  3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才会结束。

显示系统执行的进程

基本介绍

ps命令是用来查看目前系统中,有哪些正在执行,以及他们的执行情况。可以不加任何参数

ps命令详解

  • 指令:ps 【参数】
    参数说明:

    • -e显示所有进程
    • -f全格式
    • -w显示加宽,可以显示更多内容
    • -a显示当前终端的所有进程信息
    • -u以用户的格式显示进程信息
    • -x显示后台进程运行的参数
    • 常用组合:-aux -ef
  • 指令说明
    用户相关命令

    • USER:用户名称
    • UID:用户ID
    • PID:进程号
    • PPID:父进程号
    • %CPU:进程占用cpu百分比
    • %MEM:进程占用物理内存的百分比
    • VSZ:进程占用的虚拟内存大小(单位:KB)
    • RSS:进程占用的物理内存大小(单位:KB)
    • TTY:终端名称,缩写
    • STAT:进程状态:其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等等
    • STARTED:进程的启动时间
    • TIME:CPU时间,即进程使用cpu的总时间
    • COMMAND:启动进程所用的命令和参数,过长会被截断显示

终止进程kill和killall

基本介绍:

若某个进程执行到一半需要停止,或已经消耗了大量的系统资源时,可以考虑停止该进程

基本语法:

kill 【选项】 进程号通过进程号杀死进程
kill 进程名字通过进程名称杀死指定名字的所有进程,也支持通配符
选项:-9强制进程停止

查看进程树

基本语法:pstree 【选项】
常用选项:

  • -p:显示进程的PID
  • -u:显示进程的用户

服务管理

介绍

服务本质上就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,因此我们又称为守护进程。

service管理指令

指令:service服务名【start开始|stop停止|restart重启|reload重新加载|status地位】
service指令管理的服务可以在/etc/init.d查看

chkconfig指令

  1. 介绍
    通过chkconfig命令可以给服务的各个运行级别设置设置自启动/关闭,指令管理的服务可以在/etc/init.d查看
  2. 基本语法
    查看服务 chkconfig 服务名 --list
    设置服务在指定级别自启动 chkconfig --level 5 服务名 on/off
    使用细节:chkconfig重新设置服务后需要重启机器才能生效

systemctl管理指令

基本语法:systemctl 【start开始|stop停止|restart重启|reload重新加载】服务名
systemctl指令管理的服务在/user/lib/systemd/system 查看
systemctl设置服务的自启动状态

  • systemctl list-unit-files 【|grep 服务名】查看服务开机启动状态,grep进行过滤
  • systemctl enable 服务名 设置服务开机启动
  • systemctl disable 服务名关闭服务开机启动
  • systemctl is-enabled 服务名查询服务是否自启动

firewall 指令(管理防火墙)

  1. 打开端口:firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效:firewall-cmd --reload
  4. 查询端口是否开放:firewall-cmd --query-prot=端口号/协议

动态监控进程

介绍:

top指令与ps指令很相似,都用来显示正在执行的进程。不同的是top可以不断更新进程

语法:

  • top 【选项】
    选项:
    • -d秒数:指定指令几秒更新,默认三秒
    • -i:使top不显示闲置或僵死进程
    • -p:通过指定监控进程ID来仅监控某个进程状态
  • 交互指令:
    • P 以cpu使用率排序
    • M 以内存使用率排序
    • N 以PID排序
    • q 退出top

监控网络状态

查看系统网络情况netstat
语法:netstat 【选项】
选项说明:

  • -an 按照一定顺序排列输出
  • -p显示哪个进程在调用

如果对你帮助,帮忙点点推荐