Linux操作系统特殊权限、文件系统管理命令、网络配置命令

Linux操作系统特殊权限

在Linux操作系统中,除了常规的读、写、执行权限外,还有一些特殊权限用于控制文件和目录的访问行为。这些特殊权限包括SUID(Set User ID)、SGID(Set Group ID)和Sticky Bit(粘滞位)。这些权限主要用于增强系统安全性和管理灵活性。

一、SUID(Set User ID)

描述:SUID权限用于可执行文件,使该文件在执行时以文件所有者的权限运行,而不是以执行者的权限运行。这对于需要临时提升权限执行特定任务的程序非常有用。

  • 设置SUID权限

    chmod u+s file
    
  • 示例

    ls -l /usr/bin/passwd
    
    • 输出示例
      -rwsr-xr-x 1 root root 54232 Jun  6  2021 /usr/bin/passwd
      
      这里的s表示SUID权限,该文件在执行时将以root用户的权限运行。

二、SGID(Set Group ID)

描述:SGID权限用于可执行文件和目录。对于可执行文件,SGID使该文件在执行时以文件所属组的权限运行。对于目录,SGID确保该目录中新创建的文件和子目录继承父目录的组属性,而不是创建者的组属性。

  • 设置SGID权限

    chmod g+s file_or_directory
    
  • 示例

    ls -l /usr/bin/crontab
    
    • 输出示例
      -rwxr-sr-x 1 root crontab 36832 Jun  6  2021 /usr/bin/crontab
      
      这里的s表示SGID权限,该文件在执行时将以crontab组的权限运行。
  • 设置SGID目录示例

    mkdir /tmp/sgidtest
    chmod g+s /tmp/sgidtest
    

三、Sticky Bit(粘滞位)

描述:Sticky Bit通常用于目录,表示该目录下的文件只能由文件所有者、目录所有者或超级用户删除或重命名。这在共享目录(如/tmp)中特别有用,以防止用户删除其他用户的文件。

  • 设置Sticky Bit

    chmod +t directory
    
  • 示例

    ls -ld /tmp
    
    • 输出示例
      drwxrwxrwt 10 root root 4096 Jun  6  2021 /tmp
      
      这里的t表示Sticky Bit,该目录下的文件只能由文件所有者或root删除。

四、检查和设置特殊权限

  1. 查看文件权限

    ls -l file
    
    • 示例
      -rwsr-xr-x 1 root root 54232 Jun  6  2021 /usr/bin/passwd
      
  2. 设置SUID权限

    chmod u+s file
    
  3. 取消SUID权限

    chmod u-s file
    
  4. 设置SGID权限

    chmod g+s file_or_directory
    
  5. 取消SGID权限

    chmod g-s file_or_directory
    
  6. 设置Sticky Bit

    chmod +t directory
    
  7. 取消Sticky Bit

    chmod -t directory
    

五、使用数值表示法设置特殊权限

在使用数值表示法(八进制)设置文件权限时,可以通过在常规权限前添加一个数字来设置特殊权限:

  • SUID(4)
  • SGID(2)
  • Sticky Bit(1)

例如:

  • 设置SUID和普通权限为755

    chmod 4755 file
    
  • 设置SGID和普通权限为755

    chmod 2755 file_or_directory
    
  • 设置Sticky Bit和普通权限为1777

    chmod 1777 directory
    

总结

通过理解和正确使用SUID、SGID和Sticky Bit这些特殊权限,可以更好地控制Linux系统中文件和目录的访问行为,增强系统的安全性和管理灵活性。使用这些权限时应谨慎,以防止意外的安全漏洞和权限滥用。

Linux文件系统管理命令

在Linux操作系统中,文件系统管理涉及多个方面,包括文件系统的创建、挂载、卸载、检查和修复等操作。以下是常用的Linux文件系统管理命令及其详细说明。

一、文件系统的创建

1. mkfs

用于创建文件系统。

  • 创建ext4文件系统

    mkfs.ext4 /dev/sdX1
    
  • 创建xfs文件系统

    mkfs.xfs /dev/sdX1
    
2. mkswap

用于创建交换分区。

  • 创建交换分区
    mkswap /dev/sdX2
    

二、文件系统的挂载和卸载

1. mount

用于挂载文件系统。

  • 挂载文件系统

    mount /dev/sdX1 /mnt
    
  • 挂载指定类型的文件系统

    mount -t ext4 /dev/sdX1 /mnt
    
  • 挂载时指定选项

    mount -o rw /dev/sdX1 /mnt
    
  • 查看所有挂载的文件系统

    mount
    
2. umount

用于卸载文件系统。

  • 卸载文件系统

    umount /mnt
    
  • 强制卸载文件系统

    umount -f /mnt
    
  • 卸载所有已挂载的文件系统

    umount -a
    

三、文件系统的检查和修复

1. fsck

用于检查和修复文件系统。

  • 检查并修复ext4文件系统

    fsck.ext4 /dev/sdX1
    
  • 检查并修复xfs文件系统

    xfs_repair /dev/sdX1
    
  • 检查所有文件系统

    fsck -A
    
  • 强制检查文件系统

    fsck -f /dev/sdX1
    

四、交换空间管理

1. swapon

用于启用交换分区。

  • 启用交换分区

    swapon /dev/sdX2
    
  • 启用所有交换分区

    swapon -a
    
2. swapoff

用于禁用交换分区。

  • 禁用交换分区

    swapoff /dev/sdX2
    
  • 禁用所有交换分区

    swapoff -a
    

五、文件系统配额管理

1. quota

用于显示用户或组的磁盘使用情况和配额。

  • 显示用户磁盘使用情况

    quota -u username
    
  • 显示组磁盘使用情况

    quota -g groupname
    
2. edquota

用于编辑用户或组的磁盘配额。

  • 编辑用户磁盘配额

    edquota username
    
  • 编辑组磁盘配额

    edquota -g groupname
    
3. setquota

用于设置用户或组的磁盘配额。

  • 设置用户磁盘配额

    setquota -u username softblock hardblock softinode hardinode /filesystem
    
  • 设置组磁盘配额

    setquota -g groupname softblock hardblock softinode hardinode /filesystem
    

六、文件系统信息查看

1. df

用于显示文件系统的磁盘空间使用情况。

  • 显示所有文件系统的磁盘使用情况

    df
    
  • 以人类可读的格式显示磁盘使用情况

    df -h
    
  • 显示特定文件系统的磁盘使用情况

    df -h /mnt
    
2. du

用于显示目录或文件的磁盘使用情况。

  • 显示当前目录的磁盘使用情况

    du
    
  • 以人类可读的格式显示当前目录的磁盘使用情况

    du -h
    
  • 显示指定目录的磁盘使用情况

    du -h /path/to/directory
    
  • 显示当前目录及其子目录的总磁盘使用情况

    du -sh *
    

七、文件系统挂载配置

1. /etc/fstab

用于配置系统启动时自动挂载的文件系统。

  • /etc/fstab示例
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    /dev/sdX1      /               ext4    defaults        1       1
    /dev/sdX2      none            swap    sw              0       0
    /dev/sdX3      /home           ext4    defaults        1       2
    

八、磁盘和分区管理

1. fdisk

用于磁盘分区管理。

  • 列出磁盘分区

    fdisk -l
    
  • 管理磁盘分区

    fdisk /dev/sdX
    
2. parted

用于高级磁盘分区管理。

  • 进入交互式模式

    parted /dev/sdX
    
  • 创建新分区表

    parted /dev/sdX mklabel gpt
    
  • 创建新分区

    parted /dev/sdX mkpart primary ext4 0% 100%
    

总结

通过掌握这些Linux文件系统管理命令,可以有效地创建、挂载、卸载、检查和修复文件系统,管理交换空间和磁盘配额,查看文件系统信息,并配置系统启动时的自动挂载。此外,了解磁盘和分区管理命令对于维护和优化Linux系统的存储管理也至关重要。

Linux系统网络配置命令

在Linux操作系统中,通过命令行工具可以执行各种网络配置和管理任务。这些命令涵盖网络接口的配置、网络诊断、网络服务管理等。以下是常用的Linux网络配置命令及其详细说明。

一、网络接口配置

1. ifconfig

ifconfig用于配置网络接口,查看和设置网络接口的IP地址、子网掩码等参数。

  • 查看网络接口配置

    ifconfig
    
    • 示例输出
      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
              inet6 fe80::a00:27ff:fe4e:66a1  prefixlen 64  scopeid 0x20<link>
              ether 08:00:27:4e:66:a1  txqueuelen 1000  (Ethernet)
              RX packets 1120546  bytes 1586938594 (1.5 GB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 307068  bytes 31289005 (31.2 MB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
  • 配置网络接口IP地址

    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    
  • 启用网络接口

    sudo ifconfig eth0 up
    
  • 禁用网络接口

    sudo ifconfig eth0 down
    
2. ip

ip命令是ifconfig的替代工具,功能更强大。

  • 查看网络接口配置

    ip addr show
    
    • 示例输出
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
          link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
          inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
             valid_lft forever preferred_lft forever
          inet6 fe80::a00:27ff:fe4e:66a1/64 scope link
             valid_lft forever preferred_lft forever
      
  • 配置网络接口IP地址

    sudo ip addr add 192.168.1.100/24 dev eth0
    
  • 删除网络接口IP地址

    sudo ip addr del 192.168.1.100/24 dev eth0
    
  • 启用网络接口

    sudo ip link set eth0 up
    
  • 禁用网络接口

    sudo ip link set eth0 down
    
3. nmcli

nmcli命令用于管理NetworkManager,适用于现代Linux发行版。

  • 查看网络连接

    nmcli connection show
    
    • 示例输出
      NAME                UUID                                  TYPE      DEVICE
      Wired connection 1  1c4f0e88-5d6b-3e2c-a8a4-1b3e65e27852  ethernet  eth0
      
  • 激活网络连接

    nmcli connection up "Wired connection 1"
    
  • 禁用网络连接

    nmcli connection down "Wired connection 1"
    
  • 添加新的网络连接

    nmcli connection add type ethernet ifname eth0 con-name my-eth0
    
  • 修改网络连接配置

    nmcli connection modify my-eth0 ipv4.addresses 192.168.1.100/24
    

二、网络诊断

1. ping

用于测试网络连接和响应时间。

  • 测试连接到特定主机

    ping www.example.com
    
  • 发送指定数量的请求

    ping -c 5 www.example.com
    
2. traceroute

用于跟踪数据包到达目标主机的路由路径。

  • 跟踪到特定主机的路由
    traceroute www.example.com
    
3. netstat

用于显示网络连接、路由表和接口状态等。

  • 查看所有活动连接

    netstat
    
  • 显示所有端口的监听状态

    netstat -an
    
  • 显示应用程序和端口的对应关系

    sudo netstat -tulnp
    
4. ss

ss命令是netstat的替代工具,功能更强大。

  • 查看所有活动连接

    ss
    
  • 显示所有端口的监听状态

    ss -l
    
  • 显示应用程序和端口的对应关系

    sudo ss -tulnp
    
5. dig

用于DNS查询。

  • 查询特定域名的DNS信息

    dig www.example.com
    
  • 查询特定DNS记录类型

    dig www.example.com A
    dig www.example.com MX
    
6. nslookup

另一种用于DNS查询的工具。

  • 查询特定域名的DNS信息
    nslookup www.example.com
    

三、网络服务管理

1. systemctl

用于管理系统服务。

  • 启动网络服务

    sudo systemctl start network
    
  • 停止网络服务

    sudo systemctl stop network
    
  • 重启网络服务

    sudo systemctl restart network
    
  • 查看网络服务状态

    sudo systemctl status network
    
2. service

用于管理系统服务,适用于较老的Linux发行版。

  • 启动网络服务

    sudo service network start
    
  • 停止网络服务

    sudo service network stop
    
  • 重启网络服务

    sudo service network restart
    
  • 查看网络服务状态

    sudo service network status
    

四、网络路由配置

1. route

用于查看和配置路由表。

  • 查看路由表

    route -n
    
  • 添加静态路由

    sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
    
  • 删除静态路由

    sudo route del -net 192.168.2.0 netmask 255.255.255.0
    
2. ip route

用于查看和配置路由表。

  • 查看路由表

    ip route
    
  • 添加静态路由

    sudo ip route add 192.168.2.0/24 via 192.168.1.1
    
  • 删除静态路由

    sudo ip route del 192.168.2.0/24
    

五、防火墙配置

1. iptables

用于管理IPv4防火墙规则。

  • 查看防火墙规则

    sudo iptables -L
    
  • 允许特定端口的入站流量

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
  • 拒绝特定端口的入站流量

    sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
    
  • 删除防火墙规则

    sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
    
2. firewalld

用于管理防火墙规则,适用于现代Linux发行版。

  • 启动firewalld

    sudo systemctl start firewalld
    
  • 停止firewalld

    sudo systemctl stop firewalld
    
  • **启用firewal

ld开机自启**

sudo systemctl enable firewalld
  • 禁用firewalld开机自启

    sudo systemctl disable firewalld
    
  • 查看firewalld状态

    sudo firewall-cmd --state
    
  • 允许特定端口的入站流量

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --reload
    
  • 拒绝特定端口的入站流量

    sudo firewall-cmd --permanent --remove-port=80/tcp
    sudo firewall-cmd --reload
    

六、网络连接管理

1. nmtui

基于文本的NetworkManager用户界面。

  • 启动nmtui
    sudo nmtui
    
2. wifi

配置和管理无线网络连接。

  • 扫描可用的无线网络

    sudo iwlist wlan0 scan
    
  • 连接到无线网络

    sudo nmcli dev wifi connect SSID_NAME password WIFI_PASSWORD
    

总结

通过掌握这些Linux网络配置命令,系统管理员可以有效地配置网络接口、诊断网络问题、管理网络服务、配置防火墙规则和管理网络路由。这些命令在日常网络管理和故障排查中非常有用,有助于确保网络的正常运行和安全性。

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值