Linux文件权限基础
来源:互联网 发布:nginx 代理静态页面 编辑:程序博客网 时间:2024/05/22 19:00
重大失误操作:
chmod -R +x / --》更改根目录下的所有文件的权限为可执行权限chmod -R 777 / --》没安全性可言了rm -rf / --》删除根下面的全部文件
设置用户不能登录系统
- 可以在/etc/shadow文件里的密码字段前面添加!!
- 可以禁用用户,或者修改/etc/passwd文件里用户的shell为/sbin/nologin。用户都不能登录系统。
访问权限
- -r 可读(read):允许查看文件内容、显示目录列表
- -w 可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- -x 可执行(execute):允许运行程序、切换目录
归属(所有权)
- -u 文件拥有者(owner):拥有该文件或目录的用户帐号
- -g 属组(group):拥有该文件或目录的组帐号
- -o 其它人(others):除了属主和属组的其他人
- -a 所有的人(all)
read权限
- 对文件而言,就是查看里面的内容
- cat,vim,less,more等
- 对目录而言,就是查看目录里的内容
- ls
write (写)
1.对文件而言,就是修改里面的内容
vi
2.对目录而言,就是新建、删除、重命名、移动
mkdir 、touch 、rm、mv、cp
execute 可执行
- 对文件而言,就是执行这个文件里的命令。例如执行脚本文件。
- 对目录而言,就是进入目录 可以使用cd 命令进入。
# su xiaoniu 切换用户到xiaoniu,继承切换前root用户的环境变量,原来在什么路径,切换后还是在什么路径。
chmod命令
chmod 是用来修改权限 :
- u:user
- g:group
- o:others
- a:all
- +:是增加权限
- -:是去掉权限
- =:直接等于某些权限
- -R:递归修改指定目录下所有文件、子目录的权限
例子1:(推荐用数字修改!)
①# chmod o+x,g+w passwd --》其他人增加执行,小组增加写的权限②# chmod o=r,g=r,u=r passwd --》passwd文件的属主,属组,其他,均为读③# chmod 444 passwd --》passwd文件的属主,属组,其他,均为读。④# chmod +x passwd --》所有的用户都会增加一个x权限⑤# chmod a+w passwd --》所有的用户增加一个w权限⑥# chmod a-xw passwd --》所有用户同时去掉w和x的权限 ⑦# chmod a=rwx hunan -R --》修改hunan目录及子目录的权限为rwx
umask 权限掩码(当前用户新建文件和目录的时候默认的权限)
root用户下默认新建文件的权限为644,新建目录的权限755 。[root@liupeng lianxi]# umask --》查看用户的权限掩码0022 --》(组和其他人去掉写的权限)前面的0是特殊权限位#umask -S 查看当前用户的权限设置u=rwx,g=rx,o=rx
umask用法:
$ umask 077 --》直接修改权限掩码,但是这种方式修改只是临时有效,重启恢复原来的 。
vim /etc/bashrc 此文件里规定里umask的默认值
UID大于199同时用户名和组名相同,umask值就是002,否则为022。
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002else umask 022fi
系统默认umask
不推荐修改系统默认umask
用户属于那个组,会自动继承这个组的权限
练习:
1.新建文件夹/perm 2.进入/perm,复制/etc/hosts文件到当前目录下 3.修改hosts文件的权限为,属主有读写执行,属组有读执行,其他人没有任何权限 4.新建xiaoxu目录,修改权限为任何人都有读写执行的权限 5.修改xiaoxu的权限为只有属主有读写执行,其他任何人都没有读写执行的权限 6.修改xiaoxu的权限为所有的人都没有读写执行的权限 7.查看/etc/passwd和/etc/shadow文件的权限 8.查看/tmp目录的权限 9.查看/root目录的权限 10.查看/home/目录下所有目录的权限
答案8:
drwxr-xr-x. 2 root root 12288 Apr 13 09:05 sbin
PS:
权限部分。代表这目录设置了selinux权限,受selinux权限策略的影响
selinux 是linux下为了保障linux的安全,使用的一套安全措施。(可以理解为一个防火墙)
建议linux服务器将此功能禁用,因为太安全会影响机器的性能和我们实验的效果。
# getenforce --》查看selinux的状态Disabled --》说明selinux禁用了# getenforce Enforcing --》说明selinux是强制开启的状态
selinux禁用步骤: 1.# vim /etc/sysconfig/selinuxSELINUX=disabled --》修改为disabled 2.重新启动机器,下次会自动禁用selinux
临时让selinux无效# getenforceEnforcing# setenforce 0# getenforcePermissive如果你使用getenforce查看的selinux的状态是disabled 就不需要使用上面的命令了。
chown 命令(修改属主和属组)
$ chown xiaoniu:root songshan --》错误,会报错。普通用户不能执行这个命令chown ,只能root用户执行。
具体例子:
①# chown xiaoniu songshan --》只把属主改为xiaoniu# ll -d songshan --》songshan是文件夹drwxrwxr-x 2 xiaoniu kkk 4096 May 25 11:18 songshan②# chown xiaoniu:root songshan --》属主为xiaoniu 属组为root [root@teacher lianxi]# ll -d songshandrwxrwxr-x 2 xiaoniu root 4096 May 25 11:18 songshanPS:# chown xiaoniu.root songshan 使用.和:效果一样③# chown -R kkk.kkk shenongcheng --》将shennongcheng目录及子目录的属主和属组都修改为kkk# chown :shaolinshi songshan --》修改属组为shaolinshi
chgrp 修改属组(与用chown 属主:属组修改,效果一样)
# lltotal 36-rw-r--r-- 1 root root 0 May 25 10:13 dengchaodrwxr-xr-x 2 root root 4096 May 25 11:14 huashandrwxrwxrwx 3 root root 4096 May 25 10:07 hunandrwxr-xr-x 2 root root 4096 May 25 11:31 wudangshandrwxr-xr-x 2 root root 4096 May 25 10:13 zhongguohehuoren# groupadd wudang# chgrp wudang wudangshan --》把wudangshan加到wudang组里# ll -d wudangshandrwxr-xr-x 2 root wudang 4096 May 25 11:31 wudangshan
练习:
1.进入/tmp目录 2.新建用户zhaomin,然后使用zhaomin登录,进入/tmp目录 3.新建目录dadu 4.新建用户wuji 5.将dadu目录的属主修改为wuji所有,属组修改为wudang所有。 6.新建目录 mingjiao/guangmingding目录 7.修改mingjiao目录及子目录的属主和属组都为wuji
newgrp 修改用户的有效组,当用户属于多个组的时候,可以更改
chattr 修改文件的特殊属性
chattr:修改linux文件系统里文件的特殊的属性
- a属性表示只能追加,不能删除里面的内容;
- i属性表示写保护,不能修改。
具体例子:
①# chattr +i /etc/passwd --》给/etc/passwd文件添加i属性,相当于锁住了。不能修改此文件了。# useradd xiaochen123useradd: cannot open /etc/passwd --》不能添加用户②# chattr +a jiuyangshengong/ --》添加a属性,只能追加,不能删除了。# lsattr -d jiuyangshengong/ --》查看此文件的ACL访问控制列表。-----a-------e- jiuyangshengong/PS:即,加了a属性后,只能新建文件、文件夹,但是建立后不能删除。
练习:
1.新建目录taohuadao,要求taohuadao目录不能被删除,只能往目录里新建文件或者目录
2.新建一个空文件honghuamiji ,要求只能往honghuamiji里追加内容不能删除里面的内容
3.新建目录wudang,组wudang目录下新建空文件zhangsanfeng,要求不能删除wudang目录下所有的文件
4.复制/etc/passwd到当前目录下,设置passwd文件不能被修改
5.去掉honghuamiji文件的特殊属性,要求能删除里面的内容
suid 权限位(黄马卦、尚方宝剑)、sgid
当某个命令具有suid权限位的时候,普通用户在执行这个命令的时候,会具有root用户的权限
查看passwd命令的suid权限位
# ll /etc/shadow --》默认只有root用户可以修改---------- 1 root root 2791 May 25 14:12 /etc/shadow# which passwd/usr/bin/passwd# ll /usr/bin/passwd passwd文件默认具有suid权限位,普通用户修改密码的时候,是以root用户的身份去修改密码的,这样可以达到修改/etc/shadow文件里的密码的作用-rwsr-xr-x. 1 root root 25980 Feb 17 2012 /usr/bin/passwd
练习:把tail命令加suid权限位
①# which tail/usr/bin/tail②# ll /usr/bin/tail-rwxr-xr-x 1 root root 62636 Apr 17 2012 /usr/bin/tail③# chmod u+s /usr/bin/tail --》授予tail命令suid权限位④# ll /usr/bin/tail-rwsr-xr-x 1 root root 62636 Apr 17 2012 /usr/bin/tail⑤# su - weixiaobao⑥$ tail -1 /etc/shadowweixiaobao:$6$Of8lblam$iToAGG5QzEVF3uFZITkKpctHIkLPOxABKc6zjt6I9ZYXny6/W2NK5WOkLnUBgG67f2fZfsGyzWO6RAbYdRTJH0:15850:0:99999:7:::PS:# chmod u-s /usr/bin/tail 取消tail命令suid权限位
建议:不要将所有的命令都赋予suid权限位,这样对系统不好,不安全!!
操作对象 特殊权限 功能
文件 SUID:以文件属主的权限执行文件
SGID:以文件属组的权限执行文件
sticky 粘滞位:
给某个目录设置粘滞位权限后,所有的用户互相之间不能删除别人的目录和文件,就算目录的权限为777。
具体例子:
# mkdir /houcheshi# chmod 777 /houcheshi# ll -d /houcheshidrwxrwxrwx 2 root root 4096 May 25 15:55 /houcheshi# chmod1777 /houcheshi/# su lihao$ ls[lihao@teacher houcheshi]$ touch wahaha[lihao@teacher houcheshi]$ lltotal 0-rw-rw-r-- 1 lihao lihao 0 May 25 16:02 wahaha# su tanghailong[tanghailong@teacher houcheshi]$ lswahaha[tanghailong@teacher houcheshi]$ lltotal 0-rw-rw-r-- 1 lihao lihao 0 May 25 16:02 wahaha$ rm -rf wahaha 删除不成功,因为设置了粘滞位rm: cannot remove `wahaha': Operation not permitted$ ll -d /houcheshi/drwxrwxrwt 2 root root 4096 May 25 16:02 /houcheshi/
难点:
如果对父目录有完全控制(读写执行)的权限,可以对目录下的文件进行删除,但是对父目录下的子目录里的文件就不能进行完全控制了,需要看权限。
一个用户属于某个组,会自动继承这个组里的权限
练习:
1.新建3个组,wudang、shaolin、huashan
2.新建用户qingshu 加入到wudang组
3.新建用户xiaozhao 加入到shaolin组
4.新建用户linghu,liuyang加入到huashan组
5.新建一个目录wulin要求qingshu有读写执行的权限,xiaozhao有读执行的权限,linghu没有任何权限,如何实现?
[root@teacher lianxi]# mkdir wulin[root@teacher lianxi]# ll -d wulindrwxr-xr-x 2 root root 4096 May 25 16:40 wulin[root@teacher lianxi]# chown qingshu wulin[root@teacher lianxi]# ll -d wulindrwxr-xr-x 2 qingshu root 4096 May 25 16:40 wulin[root@teacher lianxi]# chown :shaolin wulin[root@teacher lianxi]# ll -d wulin/drwxr-xr-x 2 qingshu shaolin 4096 May 25 16:40 wulin/[root@teacher lianxi]# chmod 750 wulin[root@teacher lianxi]# ll -d wulin/drwxr-x--- 2 qingshu shaolin 4096 May 25 16:40 wulin/
ACL访问控制列表、getfacl、setfacl
ACL(Access Control List):访问控制列表
一个文件/目录的访问控制列表,可以针对任意指定的用户/组分配RWX权限。
getfacl -》 get file access control lists -》查看/获得setfacl -》set file access control lists -》设置
语法:
设置ACL:setfacl指令
格式: setfacl 选项 规则 文件
常用选项
- -m:新增或修改ACL中的规则(–modify)
- -b: 删除所有ACL规则(–remove-all)
- -x: 删除指定的ACL规则 (–remove)
规则:
ACL类型
- 存取型ACL(Access ACL):文件或目录 (默认)
- 预设型ACL(Default ACL):只能对目录(格式:在存取型ACL的基础上加了个d:)
预设型ACL(Default ACL)
格式:
- setfacl –m default:类型:特定的用户或组:权限
- setfacl –m d:类型:特定的用户或组:权限。
设置了预设型ACL的目录,其下的所有文件或者子目录就都具有了主目录的ACL权限,并且子目录也同样有预设的ACl权限(会继承父目录的权限)。
具体例子:
# setfacl -m m::r gongda 设置最大权限为读,所有的用户都生效# getfacl gongda/# file: gongda/# owner: root# group: rootuser::rwxuser:linghu:rwx #effective:r-- 实际权限group::r-x #effective:r--group:huashan:---group:wudang:rwx #effective:r--group:shaolin:---mask::r-- 最大权限other::r-x
标准例子2:
# mkdir jingzhou# useradd liubiao 新建用户liubiao# lsgongda hunantv jingzhou# setfacl -m d:u:liubiao:rwx jingzhou -》设置默认权限# getfacl jingzhou/# file: jingzhou/# owner: root# group: rootuser::rwxgroup::r-xother::r-xdefault:user::rwxdefault:user:liubiao:rwxdefault:group::r-xdefault:mask::rwxdefault:other::r-x
- 对文件夹的操作的权限,主要是看当前目录里有什么权限,如果父目录(当前目录)有rwx的权限,是可以在父目录(这个目录)下新建文件夹或文件;
- 但是,如果对父目录(这个目录)下的子文件夹没有w权限,是不能新建文件夹的。
setfacl、getfacl命令练习
1.新建3个组,shuiguo,mifen ,shaokao2.新建3个用户,pingguo属于shuiguo组,jingshi属于mifen组yueyang属于shaokao组3.在根目录下新建目录food,再将/etc/passwd文件复制到food目录下4.设置权限,passwd文件能被shuiguo组读写,jingshi这个用户能读写执行yueyang这个用户不能进行任何操作5.然后去验证
- Linux文件权限基础
- Linux基础之文件权限
- Linux基础-文件权限管理
- LINUX基础:文件安全与权限
- Linux基础之文件权限认识
- Linux基础之文件权限LLinux
- linux基础命令(六)文件权限
- linux基础(六)文件权限,acl权限设定
- Linux 基础学习 Linux的文件权限与目录分配
- 文件权限基础
- Linux基础1-文件的权限和归属
- Linux基础(五)文件权限drw -r -r--
- Linux基础入门(1):用户及文件权限管理
- Linux基础(3)/用户及文件权限管理
- Linux基础入门(第四弹:文件权限)
- Linux 基础学习 用户及文件权限管理
- Linux 文件及目录权限基础命令操作
- linux基础之文件权限和目录配置
- HTML简介
- 等待事件:enq: HW
- vmware12安装教程
- poj 2456 Aggressive cows (二分查找)
- 【Uniy3d之EnhanceScollView选择角色3D循环滚动效果实现】
- Linux文件权限基础
- 文章标题
- Linux网络编程--sendfile零拷贝高效率发送文件
- 第一个struts2服务
- Linux的好习惯
- SSH笔记: struct中使用过滤器
- 第三周项目四C/C++顺序表的应用
- C#生成DLL文件的方法小结
- 搭建图片服务器《三》:linux上nginx+ftp搭建图片服务器