用户与权限管理
常用的命令
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
- ip addr ls
- 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:启动监听状态
网络管理配置文件
网络服务管理程序
SysV
- service
- service network status
- service network restart
- service
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 写上新的对应关系