Linux权限管理
Linux系统中规定了3种不同类型的用户:
文件属主(user)
同组用户(group)
可以访问系统的其他用户(others)
访问权限规定3种访问文件或目录的方式:
读(r)
写(w)
可执行或查找(x)
ls -l
来查询权限
chmod命令
用于改变文件或目录的权限
1.字符法u(user)
表示文件的所有者g(group)
表示文件的所属组o(others)
表示其他用户a(all)
代表所有用户(即u+g+o)
r表示读权限
w表示写权限
x表示执行权限增加(+)还是取消(-)权限,或是只赋予权限(=)
2.数字法rwx可以分别用数字表示r --> 4w --> 2x --> 1rwx的组合可以用这些数字的和表示(按位或)
rwx = 4+2+1 = 7r-x = 4+0+1 = 5— = 0+0+0 = 0rwxr-x—就可以用750来表示!chmod[选项]num 文件或目录名
chown命令
chown [ ...] user[:group] 文件名或目录名
改变文件的拥有者和所在的组(主要改变用户主)
只有文件主和超级管理员才有此权限
sudo
能把某些超级权限针对性的下放,并且不需要普通用户知道root的密码,所以sudo相对于su切换用户操作更安全。
sudo执行命令需要在超级用户登录以root身份通过/etc/sudoers 执行命令进行普通用户授权
授权之后普通用户将拥有被授权的操作权限/etc/sudoers 是sudo的配置文件sudo通过/etc/sudoers进行操作 对于文档sudoers可以使用vim编辑器进行操作,但是如果操作失误产生报错,依然可以强制退出保存,此方式不会提供语法检测。
所以使用visudo进行对/etc/sudoers进行操作,visudo可以提供语法的检测,对合理性没有检测
//sudo命令语法:sudo [options] COMMAND
-V //显示版本编号
-h //会显示版本编号及指令的使用方式说明
-l //列出当前用户可以使用的所有sudo类命令
-v //因为sudo在第一次执行时或是在N分钟内没有执行(N默认为5)会问密码,这个参数 \
//是重新做一次确认,如果超过N分钟,也会问密码
-k //让认证信息失效,如果不指定-k,默认认证信息在5分钟后失效
-b //将要执行的指令放在后台执行
-u USERNAME //以指定的用户名执行命令,默认为root
管理命令
w //显示当前登录到系统的用户有哪些,以及其正在做什么
sleep //睡眠,写脚本为防止上一个命令没执行完下一命令就开始执行时可以加上sleep # \
//表示停顿#秒后再执行后面的命令
sleep NUMBER[SUFFIX]...
SUFFIX:
s:秒,默认
m:分
h:小时
d:天
last //显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n # //显示最近#次的相关信息
lastb //显示/var/log/btmp文件,显示用户错误的登录尝试
-n # //显示最近#次的相关信息
lastlog //显示每个用户最近一次成功登录信息
-u username //显示特定用户最近的登录信息
basename //显示路径基名
umask
umask 查看默认权限
#umask
0022 // 第一位0是特殊权限
umask值的修改
临时修改
umask 0033
永久修改
vi /etc/profile
文件默认权限
1).文件默认不能建立执行文件,必须手工赋予执行权限
2).所以文件默认权限最大为666
3).默认权限需要换算成字母再相减
4).建立文件之后的默认权限,为666减去umask值
例如:
- 文件默认最大权限是666, umask值为022
- -rw-rw-rw- 减去 -----w–w- 等于 -rw-r–r--
目录的默认权限
1).目录默认权限最大为777
2).默认权限需要换算成字母再相减
3).建立文件之后的默认权限,为777减去umask值
例如:
- 目录默认权限最大为777, umask值为022
- -rwxrwxrwx 减去 -----w–w- 等于 -rwxr-xr-x