权限管理:
进程安全上下文: 进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同,如果相同,则应用属主权限,否则则检查进程的属主(发起者)是否属于文件的属组,如果是,则应用属组权限,否则,就只能应用other的权限
权限: r:readable,读 w:writeable,写 x:excuteable,执行 文件: r:可获取文件的数据 w:可修改文件的数据 x:可将此文件运行为进程 目录: r:可使用ls命令获取其下的所有文件列表 w:可修改此目录下的文件列表,即创建或删除文件 x:可cd至此目录中,且可使用ls -l 来获取所有文件的详细属性 mode:rwxrwxrwx ownership:user,group
权限管理命令
-
chmod命令
- chmod [OPTION]... MODE[,MODE]... FILE.. - chmod [OPTION]... OCTAL-MODE FILE... - chmod [OPTION]... --reference=RFILE FILE... - chmod [OPTION]... MODE[,MODE]... FILE... MODE表示法: 赋权表示法:直接操作一类用户的所有权限为rwx u= g= o= a= 授权表示法:直接操作一类用户的一个权限rwx u+ g+ o+ a+ chmod [OPTION]... OCTAL-MODE FILE... (octal=八进制) 数字表示 chmod [OPTION]... --reference=RFILE FILE... --reference=RFILE 类似改文件权限 选项: -R --recursive:递归修改 注意:用户仅能修改属主为自己的那些文件的权限
-
从属关系管理命令:chown,chgrp
chown命令: chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE... 选项: -R 递归修改
-
chgrp命令:
- chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE... 注意:仅管理员可修改文件的属主和属组
思考:用户对目录有写权限,但对目录下的文件没有写权限,能否修改此文件内容,能否删除文件
umask:文件的权限反向掩码,遮罩码
文件: 666-umask 目录: 777-umask
注意:之所以文件用666去减,表示文件默认不能拥有执行权限,如果减得的结果加1 umask:023 666-023=644 777-023=754 umask命令: umask:查看当前umask umask UMASK:设置umask 注意:此类设定仅对当前shell程序有效
练习:完成以下任务 1. 新建系统组mariadb,新建系统用户mariadb属于mariadb组,要求其没有家目录,且shell为/sbin/nologin,尝试root切换至用户,查看其命令提示符
-
复制目录/var/log 至 /tmp/目录,修改/tmp/log及其内部的所有文件的属组为mageedu,并让属组对目录本身拥有写权限
-
install命令: install - copy files and set attributes (copy并设定属性)
单源复制: install [OPTION]... [-T] SOURCE DEST 多源复制 install [OPTION]... SOURCE... DIRECTORY install [OPTION]... -t DIRECTORY SOURCE... 创建目录 install [OPTION]... -d DIRECTORY... 常用选项: -m --mode:设定目标文件权限,默认为755 -o --owner=OWNER:设定文件属主 -g --group=GROUP:设定文件属组
-
mktemp命令:创建临时文件或目录
mktemp [option] [template] mktemp /etc/temp.XXXX(随机生成) 常用选项: -d:创建临时目录 -u:提示但并不创建 注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来