Linux回顾(第二天)

用户与权限管理

常用的命令

useradd 新建用户

userdel 删除用户

passwd 修改用户密码

usermod 修改用户的属性

chage 修改用户属性

创建用户

useradd geek //这样我们就创建了一个名叫geek的用户

我们要如何知道是否创建成功了呢 ,这里我们就需要使用 id命令了

id geek //便会显示用户geek的信息如果输入的用户不存在 id就会提示 no such user

当我们创建完成一个用户之后,这个用户也和root一样 , 有一个自己的家目录,但是并不在根目录下,而是在/home路径下。当我们创建用户完成之后也会被记录到/etc/passed文件内。在etc/shadow文件中也会添加相应的用户内容,在shadow中是关于密码相关的文件。

设置密码

passwd geek

如果是修改自身的密码 直接输入 passwd

删除用户

userdel geek

加上-r选项可以删除家目录,将用户彻底的删除掉

属性修改

usermod -d 路径 geek //可以修改用户geek的家目录

组管理命令

groupadd 新建用户组

groupdel 删除用户组

示例

groupadd g1 //创建一个名为g1的用户组

usermod -g g1 geek //进用户geek添加到用户组g1

我们还可以在新建用户的时候直接将用户添加到对应的组

useradd -g g1 geek

用户的切换

su - geek //这样就切换到geek用户

如果不加-号 ,为不完全切换 我们还会在root用户的家目录下,需要手动切换,会比较的麻烦

如果从普通用户切换到root是需要输入密码的

su和sudo

su 切换用户

sudo 以其他用户的身份来执行命令

关于visudo

当我们想让普通的用户使用超级用户的命令时,我们可以使用visudo命令,在末尾为用户或者用户组添加相应的命令

例如 geek ALL=/sbin/shutdown -c

这样添加之后geek用户就可以使用sudo 来执行shutdown -c命令

用户和用户组配置文件

etc/passwd中7个字段

geek​ : x:1000:1000::/home/geek:/bin/bash

用户名:x:uid:gid:注释:家目录路径:默认命令解释器

其中第二段x的意思是需要密码进行登录,如果将最后一段改为:/sbin/nologin之后此账户将不能登录

我们可以在这里添加内容来进行手动创建用户

etc/shadow

这个文件是用来保存用户名和用户密码

第一个字段是用户名,之后是加密后的密码

etc/group

这个文件中包括四个字段

geek:x:1000:其他组设置

文件权限的表示方法

当我们使用ls -l时,便会以长格式来显示文件或者目录

-rw——- root root

第一个字符表示文件的类型,如果为d则为一个文件夹,-则为一个普通文件,b为块特殊文件

之后的九个字符每三个为一组

前三个:表示所属用户对这个文件的权限

中三个:表示所属的组对这个文件的权限

后三个:除了当前用户和用户组之外其他人对这个文件的权限

字符权限的表示方法
  • r 读
  • w写
  • x执行

数字权限的表示方法

  • r = 4
  • w = 2
  • x = 1
目录权限表示方法
  • x 进入目录
  • rx 显示目录内的文件名
  • wx 修改目录内的文件名

文件权限的修改

chmod 修改文件,目录的权限

  • chmod u+x
  • chmos 775

chown 更改属主 属组

chgrp 单独更改属组不常用

chgrp group1 /geek

示例

mkdir /geek //再根目录下建立了一个叫geek的文件夹

ls -ld /geek //单独查看geek文件夹的权限

chown geek /geek 修改文件夹的属主为geek

chown :group1 /geek 修改文件夹的属组为group1

小技巧:ctrl + r可以搜索以前使用过的命令

chmod

u:属主 g:属组 o:其他 a:所有

用法示例

chmod u+x 1.txt //为1.txt文件属主添加x权限

如果不指定属主或者属组,默认a所有 进行添加权限

设置权限

chmod u=w 1.txt

也可以用上面提到的数字来代替rxw进行操作例如775 446

权限的管理

echo

echo的命令是显示我们可以用echo命令来进行写入操作

echo 123 > 1.txt //将123写入到1.txt内 ,1.txt会被清空后写入

如果属主与属组的权限冲突,要以属主为准

关于特殊权限

SUID:用于二进制可执行文件,执行命令时取得文件的属主权限。如/usr/bin/passwd

SGID:用于在目录下创建新的文件和目录,权限自动改为该目录的属组

SBIT:用于在目录下新建文件和目录,仅root和自己可以删除如/tmp

使用特殊权限

suid :chmod 4755 /geek/1

sbit :chmod 1777 /geek

特殊的权限不建议手动使用

网络管理

网络状态的查看

net-tools
  • ifconfig
    • eno1 板载网卡

    • ens33 PCI-E网卡

    • enp0s3 无法获取物理信息的PCL-E网卡

    • 以上都不匹配则使用eth0

    • 网络接口名修改

      • 网卡的命名规则受biosdevname和net.ifnames影响

      • 编辑/etc/default/grub文件,增加biosdevname=0 ;net.ifnames=0

      • 更新grub:grub2-mkconfig -o /boot/grub2/grub/cfg

      • reboot

      • biosdevname net.ifnames 网卡名
        默认 0 1 ens33
        组合1 1 0 em1
        组合2 0 0 eth0
      • 启动与关闭:ifup etho ifdown eth0

      • ifconfig <接口> <ip地址> [netmask 子网掩码]

  • route 查看网关,最好使用-n选项
    • 添加网关
      • route add default gw <网关ip>
      • route add -host <指定ip> gw <网关ip>
      • route add -net <指定网段> netmask <子网掩码> gw <网关ip>
  • mii-tool 查看物理连接情况
  • netstat
iproute2
  • ip
    • ip addr ls
      • ifconfig
    • ip link set dev eth0 up
      • ifup eth0
    • ip addr add 10.0.0.1/24 dev eth1
      • ifconfig eth1 10.0.0.1 netmask 255.255.255.0
    • ip route add 10.0.0/24 via 192.168.0.1
      • route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
  • ss

网络故障的排除

  • ping

    • 检测目标主机是否畅通
  • traceroute

    • 追踪路由
  • mtr

    • 检查数据包是否丢失
  • nslookup

    • 查看域名的ip
    • 查看dns:在启动nslookup后输入server
  • telnet

    • 检查端口的连接状态
  • tcpdump

    • 细致分析数据包
    • tcpdump -i any -n -host ip and port 80 -w /tmp/file
    • 上面的命令时指定了域名和端口,以及将抓取到的保存起来
  • netstat

    • netstat -ntpl

      • n:显示ip
      • t:显示tcp协议
      • p:显示进程
      • l:启动监听状态
  • ss

    • 使用的参数与netstat相同

网络管理配置文件

网络服务管理程序

  • SysV

    • service
      • service network status
      • service network restart
  • systemd

    • systemctl

      • systemctl list-unit-files NetworkManager.service
      • systemctl restart NetworkManager.service
      如何禁用network

      首先使用:chkconfig –list network查看开启的级别

      然后使用:chkconfig –level 2345 network off

      如何启用:chkconfig –level 2345 network on

      如何禁用NetworkManage

      systemctl disable NetworkManager

      systemctl onable NetworkManager

配置文件

  • ifcfg-eth0
  • /etc/hosts
网卡配置文件

/etc/sysconfig/network-scripts/

ifcfg-eth0便在这个文件夹中

默认的ifcfg-eth0时动态的

静态的写法

6 BOOTPROTO=none

7 IPADDR= //ip地址

8 NETMASK= 255.255.255.0 //子网掩码

9 GATEWAY= //网关地址

10 DNS1=114.114.114.114 //dns地址

主机名

查看 :hostname

修改:hostname test //临时的修改

hostnamectl set-hostname test //永久的修改

我们在改完之后需要在/etc/hosts 写上新的对应关系

你的支持是我最大的动力!
0%