权限管理:
ls -l
rwxrwxrwx:
左三位:定义user(owner)的权限
中三位:定义group的权限
右三位:定义other的权限
进程安全上下文:
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
否则,则检查进程的属主是否属于文件的属主;如果是,则应用于属组权限;
否则,只能应用其它的权限;
权限:
r:readable,读,
w:writable,写
x:excutable,执行
文件:
r:可获取文件的数据
w:可修改文件的数据
x:可将此文件发起运行为进程
目录:
r:可使用ls命令获取其下的所有文件列表
w:可修改此目录下的文件列表;即创建或删除文件也包括子目录
x:可cd至此目录中,且可使用 ls -l来获取 所有文件的详细属性信息
mode:rwxrwxrwx
ownership:user,group
权限组合机制:二进制
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
-r 100 4
r-x 101 5
rw- 110 6
rwx 111 7
权限管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三类用户:
u:属主
g:属组
o:其它
a:所有
(1)chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法:直接操作一类用户的所有权限位
u=,g=,o=;(ugo=;可以合并)
授权表示法:直接操作一类用户的一个权限位也可以是多位r,w,x
u+,u-
g+,g-
o+,o-
a+,a-
chmod +w file
注意w权限只给属主其它rx是给所有都给的权限
(2)chmod [OPTION]... OCTAL-MODE FILE...
777
000
八进制权限位
(3)chmod [OPTION]... --reference=RFILE FILE...
选项:
-R:递归修改权限(用之于修改目录权限,同时递归把目录下的子目录或者文件的权限也修改了)
注意:用户仅能修改属主为自己的那些文件的权限
从属关系管理命令:chown,chgrp
chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
选项:
-R:递归修改
--reference=/path/file:以某个文件或目录修改另一个目录的所属组或所属主
注意:仅管理员可修改文件的属主和属组
umask:文件的权限反向掩码,遮罩码
文件:
666-umask
目录:
777-umask
注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1
umask:023
666-023=644
777-023=754
umask命令:
umask:查看当前umask
umask MASK:设置umask
注意:此类设定仅对当前shell进程有效
练习:完成以下任务
1.新建系统组mariadb,新建系统用户mariadb,属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试roo切换至用户,查看其命令提示符
2.新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名
3.新建用户fedora,其家目录为/users/fedora,密码同用户名
4.新建用户www,其家目录为/users/www;删除www用户,但保留其家目录
5.为用户gentoo和fedora新增附加组mageedu
6.复制目录/var/log至/tmp目录,修改/tmp/log及其内部的所有文件的属组为mageedu,并让属组对目录本身拥有写权限
install命令:
install - copy files and set attributes
单源复制:
nstall [OPTION]... [-T] SOURCE DEST
多源复制
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
创建目录:
install [OPTION]... -d DIRECTORY...
常用选项:
-m:设定目标文件权限,默认为755
-o:设定目标文件属主
-g:设定目标文件属组
-d:用来创建目录
mktemp命令:创建临时文件或目录
mktemp [OPTION]... [TEMPLATE]
常用选项:
-d:创建临时目录
注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来
博客作业:用户及权限管理