01. 课程介绍部分
1.用户相关文件
2.用户相关目录
3.用户提权方法 4种方法
4.用户相关命令 chmod chown
02.知识回顾
1.掌握系统启动流程;如何编写服务启动脚本
2.用户管理概念知识:
a 用户分类知识,3类
b 用户权限说明
文件数据读写原理:inode/block
3.数据默认权限
umask;
权限运算公式;
文件:666-umask(奇数/偶数)
目录:777-umask
03.系统用户重要文件:四个
##/etc/passwd:系统用户记录文件*****
root :x :0 :0 :root :/root :/bin/bash
bin :x :1 :1 :bin :/bin :/sbin/nologin
sibeile :x :1000 :1000 :sibeile :/home/sibeile :/bin/bash
01列:用户名称信息
02列:用户密码信息
03列:用户uid数值信息
04列:用户gid数据信息
05列:用户注释信息
06列:指定用户家目录;useradd old01 -M -s /sbin/nologin (创建一个虚拟用户,还不能登陆)
07列:用户登陆系统方式 bash==(等价)shell ;nologin
cat /etc/shells ;ll /usr/bin -d
##/etc/shadow:系统用户密码记(密文)录文件******
chrony:!!:18079::::::
ntp:!!:18092::::::
oldgirl:!!:18104:0:99999:7:::
01列:用户名称信息
02列:用户密码信息 "!!"表示不给该用户设置密码;明文信息是可以自己创建出来的;
生成密码密文信息
利用Python模块功能
yum install python-pip
pip install passlib
##/etc/group:系统用户组记录文件
01列:组名称信息
02列:组密码信息
03列:组的ID信息
04列:组的成员信息 :
usermod alex -G oldbaby(把alex加入到oldbaby组中)
grep root /etc/group 查看root组成员
##/etc/gshadow:系统用户组密码记录文件
04系统用户重要目录:
/etc/skel ----样板房
useradd oldboy
01.将用户信息填充到用户文件中(上面的4个文件)
02.在/home目录中创建家目录 mkdir /home/oldboy
03.(参考/etc/skel中配置) cp -r /etc/skel/.bas* /home/oldboy
cp -r /etc/skel/* /home/oldboy
恢复命令提示符
1.修改PS换将变量
用root权限 在全局变量下重新设置PS1命令提示符 vim /etc/profile
2.复制/etc/skel目录中的隐藏文件
cp -r /etc/skel/.bas* /home/oldboy
05如何进行用户提权操作:
##如何让普通用户画的更多权限
01.切换用户为root
su - / su - root
02.修改文件或目录权限
chmod:
单独修改权限信息:
a.单独修改属主权限 chmod u+r/w/x 文件信息也可以组合加chmod u+rwx 文件信息
b.单独修改属组权限 chmod g+r/w/x 文件信息也可以组合加chmod g+rwx 文件信息
c.单独修改其他用户权限 chmod o+r/w/x 文件信息也可以组合加chmod o+rwx 文件信息
批量修改权限信息:
a.利用数值进行修改 chmod 744 文件信息;
b.利用符号信息修改权限chmod a(所用用户)+1 文件信息
chmod -R 666 /oldboy/oldboy{01..03}.txt 利用-R参数实现递归修改目录以及目录下面所有数据权限
chown
属主信息 chown oldboy 目录/文件 注:把目录/文件的属主改成oldboy
属组信息 chown .oldboy 目录/文件 注:把目录/文件的属组改成oldboy
全部信息 chown oldboy.oldboy 目录/文件
或者 chown oldboy. 目录/文件
chown -R ---利用-R参数实现递归修改目录及目录下面所有数据权限,只允许摸个用户有权限,其他用户没有
03.利用sudo方式对指定用户提权 root
第一个里程:root下派指定权利
visudo
在100行以后 加上 如:oldboy ALL=(ALL) /bin/cat (命令必须是绝对路径) /etc/shadow /bin/touch (命令路径必须是绝对路径) /etc/* 多
个命令之前要用", "(逗号空格)分隔.
还要加上 oldboy的密码 echo 123456|passwd --stdin oldboy
oldboy ALL=(ALL) /bin/* !/bin/vim,!/usr/sbin/visudo --对有些危险命令进行取反配置
oldboy ALL=(ALL) NOPASSWD:/bin/* !/bin/vim,!/usr/sbin/visudo --忽略sudo密码信息
01:讲root权利赋予哪个用户
02:??? 权限集中管理服务器
03:赋予什么特殊权利
第二个里程:测试赋予权利
普通用户测试执行
sudo -l ----查看特殊权限
/bin/cat /etc/shadow /bin/touch /etc/*
sudo cat /etc/shadow --- 操作命令
sudo -l --- 查看sudo权力
sudo -k --- 清除sudo密码缓存
visudo(语法检查功能) == vim /etc/sudoers
visudo -c --- 检查/etc/sudoers文件合法性
04.系统特殊权限位
setuid: 可以让普通用户获得一个命令文件属主能力(一般是root属主能力)
修改命令权限 chmod u+s /usr/bin/cat
chmod 4755 /usr/bin/cat
补充:s权限位会覆盖执行权限位:执行权限位有x---setuid符号为小写
执行权限位无x---setuid符号为大写
setgid:可以让普通用户获得一个命令文件属组能力
修改命令权限 chmod g+s /usr/bin/cat
chmod 2755 /usr/bin/cat
sticky bit: t=1 只对目录设置
创建一个共享目录,目录中文件数据只能属主用户操作,其他用户只能看不能改,不能删除
chmod o+t /share/
chmod 1777 /share/
root@oldboyedu ~]# ll /share/ -d
06用户管理相关命令:
1.useradd:创建用户
-u:指定uid信息 tail -1 /etc/passwd 获得ID信息
useradd oldboy -u 2000 微信创建用户指定uid
-g:指定用户所属主要组
-G:指定用户所属附属组
-M:不创建用户家目录
-s:指定用户shell登录方式 /sbin/nologin eg:useradd rsync -M -s /sbin/nologin ---创建虚拟用户
-c:给用户添加注释信息
2.userdel:删除用户 eg: userdel oldboy (删除不彻底,在家目录下还有该用户的目录,再重新创建相同用户名的用户时,无法在该目录下起作用)
应该用 userdel -r oldboy 删除,这样彻底.
userdel -r 彻底删除用户,以及家目录
3.usermod :修改用户
-u:指定uid信息 tail -1 /etc/passwd 获得ID信息
useradd oldboy -u 2000 微信创建用户指定uid
-g:指定用户所属主要组
-G:指定用户所属附属组
-M:不创建用户家目录
-s:指定用户shell登录方式 /sbin/nologin
useradd rsync -M -s /sbin/nologin ---创建虚拟用户
-c:给用户添加注释信息
4.groupadd: -g 指定组的gid
5.groupdel
6.groupmod: -g
7.chmod
8.chown
9.passwd: --stdin
10.id :查看uid gid 用户组成员信息
11w:查看有哪些用户登陆
01列:表示登陆系统用户信息
02列:登陆方式tty表示本地登陆 pts/1表示远程登陆
echo"信息" >/dev/pts/0
03列:显示登陆的源ip地址
04列:登陆时间
05列:登陆之后空闲时间
06-07列:执行命令耗费CPU时长
08列:执行了什么操作
12.last:用户曾经登陆的历史记录
13.lastlog:显示系统所有用户登录信息