- 一、变量
1.环境变量 export 特点:子进程可以继承(比如在当前终端下执行bash,即为子进程,可以访问环境变量) 2.普通变量 子进程不能继承 以上两种变量都不能被其他终端访问 3.变量访问命令 1) set: 所有的环境变量和非环境变量都记录下来 2) env: 只能记录不包含普通变量的所有变量(包含export)
- 二、环境配置文件
1.用户家目录下有四个隐藏文件 1) .bash_history 命令记录文件 2) .bash_logout 退出时执行的命令文件 3) .bash_rc 保存用户的别名函数、变量的文件 4) .bash_profile 保存当前用户bin执行路径 问: 后面两个文件作用相同互相通用,为什么还要写两个文件呢? 答: 起到作用的时间不同, .bashrc是shell级别的,开个终端就生效 .bash_profile 是登录级别的 2. 全局配置文件,针对所有用户的配置文件 1) /etc/bashrc 作用同用户家目录下 .bash_rc 2) /etc/profile 作用同用户家目录下 .bash_profile Q1: 在.bash_logout、.bash_rc、 .bash_profile、/etc/bashrc、/etc/profile分别echo 一段消息,然后再登录查看其加载顺序? 答:加载顺序为: /etc/profile、.bash_profile、.bashrc /etc/bashrc Q2: 定义一个别名函数,让所有用户都可以使用? 答: vim /etc/bashrc 加入 alias showpath="pwd" Q3: robin用户退出时,将robin用户退出的时间记录到tmp目录下? 答: vim /home/robin/.bash_logout 加入date>>/tmp/robin.date Q4: 修改robin用户的搜索命令路径,添加一个tmp路径? 答: vim /home/robin/.bash_profile 给PATH加入:/tmp
- 三、权限管理
1. 基本权限 rwx | rwx | rwx 拥有者(u) 所属组(g) 其他人(o) 对于文件: r ---- cat head more less tail w---- >、>>、vim x ---- ./文件 执行命令 对于目录: r ---- ls(有rx权限才能读取详细信息) w---- touch rm x ---- cd 备注:root(uid=0)最高权限,其他用户需要对比uid是否相同 2. 修改权限 chmod 命令(change mode) 例:chmod 777 file/dir 例:chmod augo+-rwx file/dir Q1:写出下列文件和目录的权限 1) / dr-xr-xr-x 2) /etc drwxr-xr-x 3) /etc/passwd -rw-r--r-- 4) /etc/shadow ---------- 5) /root r-xr---w- 6) /boot dr-xr-xr-x 7) /var drwxr-xr-x 8) /tmp drwxrwxrwt 9) /home/robin drwx------ 10) root管理员创建的文件默认权限 rw-r--r-- 11) root管理员创建的目录默认权限 rwxr-xr-x Q2:创建文件/tmp/aaa/.txt文件,拥有者读写执行权限、所属组没有权限,其他人可以读 答: 1.touch /tmp/aaa.txt 2.chmod 704 /tmp/aaa.txt 3.反掩码(umask),不是减出来的,是去反做&操作得出来的 Q1:请尝试写出创建文件默认权限的计算步骤 Q2:公司财务生成一个报表cw.txt 公司老板可以读 、其他员工没权限、财务组可以读写 Q3: /tmp/aa.txt 默认权限为rw-r--r-- root root 要求: robin可以读写 uplooking组可读,其他人无权限 Q4: /test rwxr-xr-x root root、/test/aa.txt rw-r--r-- 要求:robin用户可以读写 aa.txt文件 不能删除 zorro用户不可以读写可以删除 Q5: root目录下有个 abc.txt文件 以下条件同时满足: i seker可以读写 abc.txt文件不能删除 ii zorro可以读abc.txt文件 不能删除
iii shrek 不可以读写abc.txt文件但是可以删除 备注1.:当前所掌握的基本权限,vim工作机制会影响到shrek的操作, 也就是说当shrek用vim写文件的时候,强行保存退出也是可以写文件的,可以做个实验尝试一下 备注2: id命令查看用户 信息,主组用于创建文件、附加组用于权限比对,可以做个实验尝试一下 2.高级权限 1) suid 必须作用于文件,可执行的二进制文件(命令) 作用:任何用户在执行拥有suid权限的命令时,都以该命令着拥有者身份执行(root身份),就像passwd命令修改shadow文件一样 chmod u+s 文件 2) sguid 必须作用于目录(加在文件上不会起到作用) chmod g+s 目录 作用:任何用户在拥有sgid的目录下创建的文件,都要继承该目录的组 实验: 1. 在/tmp下创建test目录 权限为777,robin用户在test下创建aa.txt文件 所属组是什么? robin 2. 在test目录上添加sgid权限,robin用户在test下创建tt.txt文件 所属组是什么? root 3. 修改test的所属组为uplooking,robin用户在test下创建yy.txt文件 所属组是什么? uplooking. 已经创建的文件的所属组是什么会不会改变? 不会 3) sticky t 粘帖位 冒险位 作用于目录 作用:只能拥有者删除自己创建的文件 chmod o+t 实验:在/tmp 创建test目录 权限777 1.tom在/tmp/test下创建文件aa.txt,jerry能删除吗 能 2.给test添加t权限,tom再创建一个文件jerry能删除吗 不能 3.tom创建一个cc.txt root能删除吗 能 4.创建用户robin修改tmp/test目录拥有者为robin,robin用户可以删除吗tom和jerry创建的文件吗 能 suid -- 4(作用于文件) sgid -- 2(作用于目录) sticky -- 1(作用于目录) 以上权限位,不可能同时出现 4777,3777,2777,1777 备注: 如果原文件有执行权限,高级权限表现为小写,否则高级权限表现为大写
转载于:https://www.cnblogs.com/andywu201002/p/3591639.html