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
备注: 如果原文件有执行权限,高级权限表现为小写,否则高级权限表现为大写