学习目标:
拼搏百天!我要月入过万!
# 学习内容: 一、Linux安全模型 二、用户和组的配置文件 三、用户和组管理命令 四、文件权限管理
学习时间:
周一:8:00—18:00 对专业进行听课,18:30—21:30消化吸收所学内容;
周二:8:00—12:00 对所学内容消化吸收,14:00—21:30预习明天课程;
学习产出:
**注释:**学习笔记中有linux常用命令,为了方便大家查看运用,特此记录成下划线的标注。
学习笔记记录第三次,作为小白,还请大佬们多多指教,共同学习,共同进步。
今日重点
用户、组合权限
/etc/passwd:用户及其属性信息(名称UID、主组ID、家目录shell类型)
/etc/shadow:用户密码及其相关属性
/etc/group:组及其属性信息
/etc/gshadow:组的口令
cat /etc/passwd:查看当前系统有多少个账号
ps aux:查看运行程序
cat /etc/shadow:查看用户口令
cat /etc/group:查看组
cat /etc/gshadow:查看组的口令id postfix:查看主组、附加组
passwd:设置用户登录密码
用户账号比较常见的相关命令
1.用户管理命令
useradd(建账号)、usermod(改账号)、userdel(删除账号)
useradd -s /sbin/nologin:创建新账号指示账号的shell类型
useradd -r:给系统服务用户创建账号(不会创建家目录、邮箱,指定1000以内随机的ID号)
用户创建常见选项:
useradd -p ‘openssl passwd -6’:修改密码
usermod -s:修改shell
用户属性修改常见选项:
userdel:删除账号留存数据
userdel -rf:删除账号和数据(强行) 删除后输入id+用户名就可以查看是否删除
2.组账号管理命令
groupadd(建组)、groupmod(改组)、groupdel(删除组)
groupadd -g ID号 -r nginx:创建系统组
组的创建、修改、删除后面+组名即可。
切换用户或以其他用户身份执行命令
su:不完全切换
su -:完全切换
什么场景下用什么样的切换方式。
su - root -c cat /目录:省去切换身份查看文件
groupmems -l -g 组号:查看组成员
groupmems -a 成员 -g 组号:添加组成员
groupmems -d 成员 -g 组号:添加组成员
文件权限管理
程序访问文件时的权限,取决于程序的发起者(文件的所有者、身份,也就是普通者跟root者)
chown 命令可以修改文件的属主,也可以修改文件属组。
chown+所有者+文件名:修改文件的所有者
chouwn -R +文件名:更改文件夹以及里所有文件的所有者
chgrp 命令可以只修改文件的属组。
chgrp+所属组+文件名:修改文件的所属组
chouwn -R +文件名:更改文件夹以及里所有文件的所属组
如何把所有者和所属组一起进行更改?
chown -R 所有者:所属组 文件夹名:同时修改文件夹的所有者和所属组
文件的权限说明
r Readable (读) 可使用文件查看类工具,比如:cat,可以获取其内容
w Writable (写) 可修改其内容
x eXcutable (执行)可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件
文件的权限主要针对三类对象进行定义
修改文件权限chmod**
权限不影响root,读和写对root不起作用;root属于特权阶级。
修改权限的格式有两种,一种是模式法一种是数字法。
数字法中umaks命令值为0022
新建文件的默认权限:666-umask=奇数+1,偶数就不变
新建目录的默认权限:777-umask=他的权限
一个文件能删除不要去看文件本身的权限,而是去看文件夹的权限
特殊权限:
suid(表示4)作用在二进制可执行文件上,用户将继承此程序所有者的权限
sgid(表示2)①作用在二进制可执行文件上,用户将继承此程序所属组的权限
②作用于目录上,此目录中新建的文件的所属组将自动从此目录继承
sticky(表示1)作用在目录上,此目录中的文件只能有所有者自己来删除
设定文件特殊属性
chattr +i 文件名:设置后文件不能修改不能删除
chattr +a 文件名:设置后文件只能追加内容不能删除、改名
lsattr:查看设定文件特殊属性
chattr -i:取消特殊属性
访问控制列表ACL
setfacl -m u:用户:权限 文件名:针对用户单设权限
facl中的mask权限:除了所有者和other以外的人的最大权限
getfacl:可查看设置的ACL权限
setfacl -x:删除ACL权限
setfacl -b:全部删除ACL权限
备份和还原ACL
**用户管理命令** useadd 用户创建 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330184526600.png) usermod用户属性修改 userdel:删除用户
groupadd:改组号
groupmod
groupdel:删除组号
password:设置密码
查看邮箱:ll /var/spool/mail/
更改密码:echo kang:123456 | chpasswd
su - root -c: 切换到root身份完成想要查的工作