**1.root:x:0:0:root:/root:/usr/bin/zsh** 用户名:加密后的密码x:用户UID:用户的组ID:用户全称:属于用户目录所在位置:该用户执行命令的shell环境
注:真实密码存储在/etc/shadow中;设置用户UID为0。
2.创建用户
useradd -m pte //创建用户pte
passwd pte //选择用户设置密码:123456
sudo usermod -a -G sudo pte //将pte放到可以使用sudo命令的名单里,就能执行系统命令
chsh -s /bin/bash pte //加权限到可以登录的路径下,用于执行shell的环境
userdel pte //删除用户
passwd -l pte //锁定用户
passwd -u pte //解锁
awk -F: '($2=="!") {print $1}' /etc/shadow //检查空口令账户是否存在(-F指定输入文件折分隔符,$2:passwd中第二个参数(密码),{为符合条件的数据做一个输出},绝对路径)
awk -F: 'length($2)==2 {print $1}' /etc/shadow //条件为数字可不加引号
创建成功后可cat etc/passwd查看。
注:用户和用户组的信息一般存储在etc下
3.更改权限
su root //切换用户为root用户,需要输入密码
sudo ifconfig //借助管理员身份执行命令
4.切换路径
cd ../pte
cd /home/pte
5.MD5加密
特征:小写字母夹杂数字
6.ls命令
-a:列出指定目录下的所有文件和子目录(包括以“.”开头的隐含文件)。
-b:如果文件或目录名中有不可显示的字符时,显示该字符的八进制值。
-c:以文件状态信息的最后一次更新时间进行排序。
-d:如果是目录,则显示目录的属性而不是目录下的内容。
-g:与-l选项类似,但不显示文件或目录的所有者信息。
-G:与-l选项类似,但不显示文件或目录所有者的用户组信息。
-l:使用长格式显示文件或目录的详细属性信息。
-n:与-l选项类似,但以UID和GID代替文件或目录所有者和用户组信息。
-R:以递归方式显示目录下的各级子目录和文件。
常用:ls -la
drwxr-xr-x 3 root root 4096 8月 16 13:54 boot //rwx文件所有者的权限,r-x文件所有者所在组的其他成员的权限,r-x除了上述成员,其他成员的权限;rwx 读写执行
第1部分:由10个字符组成,第一个字符用于标识文件的类型,其中“-”表示普通文件,d表示目录,l表示
链接文件,s表示套接字文件,p表示命名管道文件,c表示字符设备文件,b表示块设备文件。
第2部分:表示文件的链接数。
第3部分:文件的所有者,文件所有者的用户组。在图中,文件的所有者是root,用户组也是root。
第4部分:以字节为单位的文件大小。
第5、6、7部分:表示文件最后更新的时间。
第8部分:文件名。
**7.chmod:**更改文件或者目录的访问权限,包括目录下的各级子目录和文件。
ls -la php.txt
-rw-r--r-- 1 yh yh 312 10月 26 15:31 php.txt
chmod u+x php.txt //使用u、g、o和a分别代表文件所有者、属组、其它用户和所有用户;减权限用u-x;赋权限a=rwx
ls -la php.txt
-rwxr--r-- 1 yh yh 312 10月 26 15:31 php.txt
chmod 777 php.txt //r:4;w:2;x:1
ls -la php.txt
-rwxrwxrwx 1 yh yh 312 10月 26 15:31 php.txtchmod 4774 php.txt //s权限是放在第一位的
ls -la php.txt
-rwsrwxr-- 1 yh yh 312 10月 26 15:31 php.txt //具备x权限才能赋予s权限chmod 4777 php.txt //针对文件所以者赋予s权限
ls -la php.txt
-rwsrwxrwx 1 yh yh 312 10月 26 15:31 php.txtchmod 2777 php.txt //针对用户组其他成员赋予s权限
ls -la php.txt
-rwxrwsrwx 1 yh yh 312 10月 26 15:31 php.txtchmod 4666 php.txt
ls -la php.txt
-rwSrw-rw- 1 yh yh 312 10月 26 15:31 php.txt //不具备x权限,S代表s权限是未激活的chmod g+xs php.txt
ls -la php.txt
-rwSrwsrw- 1 yh yh 312 10月 26 15:31 php.txt //给用户组其他成员加s权限
注意:具备s权限的时候,执行者会以文件所有者(root?)身份去执行文件,留后门可使用
8.举例
需求:给普通用户agan提权,让普通用户可以查看root用户的家目录;普通用户可以使用useradd
命令,创建新用户,实例步骤:
1) useradd agan
2) visudo=vi打开/etc/sudoers文件 或 vim /etc/sudoers
3) 编辑文件的第98行,编辑完成后,wq! 强制保存退出
root ALL=(ALL) ALL
agan ALL=(ALL) /bin/ls,/usr/sbin/useradd
备注:
第一个ALL:多个系统之间部署 sudo 环境时,该ALL代表所有主机。也可以换成相应的主机名,表示改规则只适用主机名对应的系统
第二个ALL(即括号内的):指出规定的 user 用户能够以何种身份来执行命令。该ALL表示user用户能够以任何用户的身份执行命令
第三个ALL:表示能执行"命令表",ALL表示用户能够执行系统中的所有命令。
4)使用agan 用户登录测试
sudo useradd u11 //可成功创建用户,证明提权成功
sudo ls /root //可查看root的家,证明提权成功
5) sudo -l //-l 参数是列出当前用户可执行的命令,但只有在sudoers文件里的用户才能使用该选项。
9.日志分析
日志分类 日志功能
Access-log: 记录web服务的访问日志,error-log是其错误日志
Acct/pacct: 记录用户命令
btmp: 记录失败记录
lastlog: 记录最近几次成功登录的事件和最后一次不成功的登录
messages: 服务器的系统日志
Sudolog: 记录使用sudo发出的命令
Utmp: 记录当前登录的每个用户
Wtmp: 一个用户每次登录进入和退出时间的永久记录
Secure: 记录系统登录行为,比如ssh的登录记录