linux学习17 运维核心技能-Linux系统下用户权限管理
一、权限管理
1、ls -l
rwxrwxrwx
左三位:定义user(owner)的权限
中三位:定义group的权限
右三位:定义other的权限
1、进程安全上下文
a、进程对文件的访问权限应用:
进程的属主与文件的属主是否相同,如果相同,则应用属主权限。
否则则检查进程的属主是否属于文件的属组,如果是,则应用属组权限;
否则就只能应用其它other的权限
2、权限:
r:read,读
w:write,写
x:excute,执行
a、文件:
r:可获取文件的数据
w:可修改文件的数据
x:可将此文件运行为进程
b、目录:
r:可使用ls命令获取其下的所有文件列表:但是不能获取详细信息,比如ls -l
w:可修改此目录下的文件列表:即创建或删除文件
x:可cd至此目录中,其可使用ls -l来获取所有文件的详细属性信息
c、mode:rwxrwxrwx
d、ownership:user,group
3、权限组合机制
---::000 0
--x:001 1
-w-:010 2
-wx:011 3
r-- :100 4
r-x:101 5
rw-:110 6
rwx:111 7
4、练习
rw-rw-r--:664
rwxrwxr-x:775
rwxr-x---:750
rw-------:600
rwxr-xr-x:755
二、权限管理命令
1、chmod命令
a、我们一共有三类用户:
u:属主
g:属组
o:其它
a:所有
b、chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法:可以分别表示也可以同时表示
u=
g=
o=
a=
[root@node1 ~]# ll fstab
-rw-r--r-- root root Dec : fstab
[root@node1 ~]# chmod g=rw fstab
[root@node1 ~]# ll fstab
-rw-rw-r-- root root Dec : fstab
[root@node1 ~]# chmod ug=r fstab
[root@node1 ~]# ll
total
-r--r--r-- root root Dec : fstab
[root@node1 ~]# chmod u=rwx,g=rw,o= fstab
[root@node1 ~]# ll fstab
-rwxrw---- root root Dec : fstab
授权表示法:直接操作一类用户的一个权限位r,w,x:
u+,u-
g+,g-
a+,a-
[root@node1 ~]# ll fstab
-rwxrw---- root root Dec : fstab
[root@node1 ~]# chmod u-x fstab
[root@node1 ~]# ll fstab
-rw-rw---- root root Dec : fstab
[root@node1 ~]# chmod o+r fstab
[root@node1 ~]# ll fstab
-rw-rw-r-- root root Dec : fstab
[root@node1 ~]# chmod ug+x fstab
[root@node1 ~]# ll fstab
-rwxrwxr-- root root Dec : fstab
[root@node1 ~]# chmod g-wx fstab
[root@node1 ~]# ll fstab
-rwxr--r-- root root Dec : fstab
[root@node1 ~]# chmod +x fstab
[root@node1 ~]# ll fstab
-rwxr-xr-x root root Dec : fstab
[root@node1 ~]# chmod -x fstab
[root@node1 ~]# ll fstab
-rw-r--r-- root root Dec : fstab
[root@node1 ~]# chmod +w fstab #因为全局写是非常危险的因此+w时只会给u加上写权限
[root@node1 ~]# ll fstab
-rw-r--r-- root root Dec : fstab
[root@node1 ~]# chmod u+x,g+w fstab
[root@node1 ~]# ll fstab
-rwxrw-r-- root root Dec : fstab
c、chmod [OPTION]... OCTAL-MODE FILE...。八进制表示法。
[root@node1 ~]# ll fstab
-rwxrw-r-- root root Dec : fstab
[root@node1 ~]# chmod fstab
[root@node1 ~]# ll fstab
-rw-rw---- root root Dec : fstab
d、chmod [OPTION]... --reference=RFILE FILE...。引用其它文件权限。
[root@node1 ~]# ll /var/log/messages
-rw------- root root Dec : /var/log/messages
[root@node1 ~]# chmod --reference=/var/log/messages fstab
[root@node1 ~]# ll fstab
-rw------- root root Dec : fstab
e、参数
-R,--recursive:递归修改。一般用于赋权表示法。
2、从属关系管理命令:chown
a、chown [OPTION]... [OWNER][:[GROUP]] FILE...
-R:递归修改
[root@node1 ~]# ls -la /tmp/skel/
total
drwxr-xr-x root root Dec : .
drwxrwxrwt. root root Dec : ..
-rw-r--r-- root root Dec : .bash_logout
-rw-r--r-- root root Dec : .bash_profile
-rw-r--r-- root root Dec : .bashrc
[root@node1 ~]# ls -ld /tmp/skel/
drwxr-xr-x root root Dec : /tmp/skel/
[root@node1 ~]# chown -R nova /tmp/skel/
[root@node1 ~]# ls -ld /tmp/skel/
drwxr-xr-x nova root Dec : /tmp/skel/
[root@node1 ~]# ls -la /tmp/skel/
total
drwxr-xr-x nova root Dec : .
drwxrwxrwt. root root Dec : ..
-rw-r--r-- nova root Dec : .bash_logout
-rw-r--r-- nova root Dec : .bash_profile
-rw-r--r-- nova root Dec : .bashrc
[root@node1 ~]# chown -R archlinux:mygrp /tmp/skel/
[root@node1 ~]# ls -ld /tmp/skel/
drwxr-xr-x archlinux mygrp Dec : /tmp/skel/
[root@node1 ~]# ls -la /tmp/skel/
total
drwxr-xr-x archlinux mygrp Dec : .
drwxrwxrwt. root root Dec : ..
-rw-r--r-- archlinux mygrp Dec : .bash_logout
-rw-r--r-- archlinux mygrp Dec : .bash_profile
-rw-r--r-- archlinux mygrp Dec : .bashrc
我们还可以使用点号来表示
[root@node1 ~]# chown -R root. /tmp/skel/
[root@node1 ~]# ls -ld /tmp/skel/
drwxr-xr-x root root Dec : /tmp/skel/
[root@node1 ~]# ls -la /tmp/skel/
total
drwxr-xr-x root root Dec : .
drwxrwxrwt. root root Dec : ..
-rw-r--r-- root root Dec : .bash_logout
-rw-r--r-- root root Dec : .bash_profile
-rw-r--r-- root root Dec : .bashrc
b、chown [OPTION]... --reference=RFILE FILE...。参考其它文件或路径的属主属组修改
[root@node1 ~]# ll /tmp/
total
drwx------ moosefs moosefs Dec : moosefs
drwxr-xr-x root root Dec : mytest
drwxr-xr-x root root Dec : skel
drwx------ root root Dec : systemd-private-310789de41c149e295ca734de6eb34ff-vgauthd.service-2RCX6b
drwx------ root root Dec : systemd-private-310789de41c149e295ca734de6eb34ff-vmtoolsd.service-fjAVWv
[root@node1 ~]# chown -R --reference=/tmp/moosefs/ /tmp/skel/
[root@node1 ~]# ls -ld /tmp/skel/
drwxr-xr-x moosefs moosefs Dec : /tmp/skel/
[root@node1 ~]# ls -la /tmp/skel/
total
drwxr-xr-x moosefs moosefs Dec : .
drwxrwxrwt. root root Dec : ..
-rw-r--r-- moosefs moosefs Dec : .bash_logout
-rw-r--r-- moosefs moosefs Dec : .bash_profile
-rw-r--r-- moosefs moosefs Dec : .bashrc
3、chgrp命令。和chown一样的效果
三、高阶功能
1、思考:用户对目录有写权限,但对目录下文件没有写权限时,能否修改此文件内容?能否删除此文件?
答:不能修改此文件内容,但是可以删除此文件,因为对目录有写权限。
[root@node1 ~]# cp /etc/fstab /tmp/mytest/
[root@node1 ~]# ls
anaconda-ks.cfg fstab
[root@node1 ~]# ls -lda /tmp/mytest/
drwxr-xr-x root root Dec : /tmp/mytest/
[root@node1 ~]# chown :mygrp /tmp/mytest/
[root@node1 ~]# ls -ld /tmp/mytest/
drwxr-xr-x root mygrp Dec : /tmp/mytest/
[root@node1 ~]# chmod g+w /tmp/mytest/
[root@node1 ~]# ls -ld /tmp/mytest/
drwxrwxr-x root mygrp Dec : /tmp/mytest/
[root@node1 ~]# id archlinux
uid=(archlinux) gid=(archlinux) groups=(archlinux),(mygrp)
[root@node1 ~]# su - archlinux
Last login: Thu Dec :: CST on pts/
[archlinux@node1 ~]$ cd /tmp/mytest/
[archlinux@node1 mytest]$ ls
fstab
[archlinux@node1 mytest]$ echo wohaoshuai >> fstab
-bash: fstab: Permission denied
[archlinux@node1 mytest]$ rm -rf fstab
2、umask:文件的权限反向掩码,遮罩码。
a、普通用户创建的文件默认权限是664,root用户创建的文件默认权限是644。
b、创建文件时文件权限为:666-umask
创建目录时目录权限为:777-umask
c、注意:之所以文件用666去减,表示文件默认不能拥有执行权限,如果减得的结果中有执行权限则需要将其加1。对目录的话没有这个限制。
umask: 023
666-023=644
777-023=754
[root@node1 ~]# umask
[root@node1 ~]# umask [root@node1 ~]# touch wohaoshuai
[root@node1 ~]# ll wohaoshuai
-rw-rw-rw- root root Dec : wohaoshuai
[root@node1 ~]# umask
[root@node1 ~]# mkdir wohaoshuai1
[root@node1 ~]# ls -ld wohaoshuai1/
drwxr-xr-x root root Dec : wohaoshuai1/
d、umask命令使用(仅对当前shell有效)
umask:查看当前umask
umask MASK:设置umask
[root@node1 ~]# umask [root@node1 ~]# umask
[root@node1 ~]# umask [root@node1 ~]# touch mytest2
[root@node1 ~]# ll mytest2
-rw-r----- root root Dec : mytest2
[root@node1 ~]# mkdir mytest3
[root@node1 ~]# ll -d mytest3
drwxr-x--- root root Dec : mytest3
3、练习:完成以下任务
1、新建系统组mariadb,新建系统用户mariadb,属于mariadb组,要求其没有家目录,且shell为/sbin/nologin:尝试root切换至此用户,查看其命令提示符
2、新建GID为5000的组wohaoshuai,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名
3、新建用户fedora,其家目录为/users/fedora,密码同用户名;
4、新建用户www,其家目录为/users/www,删除www用户,但保留其家目录
5、修改用户gentoo和fedora新增附加组wohaoshuai
6、复制目录/var/log至/tmp目录,修改/tmp/log及其内部的所有文件的属组为wohaoshuai,并让属组对目录本身拥有写权限
4、install命令:复制文件并且给定属性,install - copy files and set attributes
a、单源复制
install [OPTION]... [-T] SOURCE DEST
b、多源复制
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
c、创建目录
install [OPTION]... -d DIRECTORY...
d、常用选项
-m,--mode=MODE:设定目标文件权限,默认为755;
[root@localhost ~]# ll /etc/inittab
-rw-r--r--. root root Apr /etc/inittab
[root@localhost ~]# install /etc/inittab /root/
[root@localhost ~]# ll /root/inittab
-rwxr-xr-x root root Dec : /root/inittab
[root@localhost ~]# install -m /etc/inittab /root/
[root@localhost ~]# ll /root/inittab
-rw-r----- root root Dec : /root/inittab
-o,--owner=OWNER:设定目标文件属主
-g,--group=GROUP:设定目标文件属组
[root@localhost ~]# install -o archlinux -g mygrp -m /etc/inittab /tmp/
[root@localhost ~]# ll /tmp/inittab
-rw-r----- archlinux mygrp Dec : /tmp/inittab
-d,创建目录
[root@localhost ~]# install -d hello
[root@localhost ~]# ls -ld hello/
drwxr-xr-x root root Dec : hello/
5、mktemp命令:创建临时文件create a temporary file or directory
a、常用命令
[root@localhost ~]# mktemp /tmp/mytmp.XXXX
/tmp/mytmp.bK3U
[root@localhost ~]# mktemp /tmp/mytmp.XXXXX
/tmp/mytmp.XkTnt
[root@localhost ~]# mktemp /tmp/mytmp.XXXXXX
/tmp/mytmp.HwcIYX
b、常用选项
-d:创建临时目录
c、注意:mktemp会将创建的临时文件名直接返回,因此可以直接通过命令引用保存起来
6、作业:用户及权限管理
linux学习17 运维核心技能-Linux系统下用户权限管理的更多相关文章
- linux学习9 运维基本功-Linux常用基础命令实战应用
一.文件系统知识回顾 1.Linux文件系统: a.文件名称严格区分字符大小写 b.文件可以使用除/以外任意字符 c.文件名长度不能超过255个字符 d.以.开头的文件为隐藏文件: . :当前目录 . ...
- linux学习8 运维基本功-Linux获取命令使用帮助详解
一.Linux基础知识 1.人机交互界面: a.GUI b.CLI:[login@hostname workdir]# COMMAND 2.命令知识 通用格式:# COMMAND OPTIONS A ...
- Linux入门之运维(1) 系统监控 vmstat top
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...
- Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令
一.使用w查看系统负载 w .uptime查看系统负载,0.00表示1分钟之内负载为0 cat /proc/cpuinfo查看cpu核数 二.vmstat命令,查看进程.cpu.memory.交换. ...
- [Linux系统] (2)用户权限管理
示例---普通用户之间的文件共享:假设公司有2个项目组,共享同一台服务器. 1.为两个项目组各创建一个用户: useradd leo01 useradd leo02 2.为两个新用户设置密码: pas ...
- 云计算:Linux运维核心管理命令详解
云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...
- Linux云自动化运维第五课
Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...
- 其它综合-运维老鸟分享linux运维发展路线规划
运维老鸟分享linux运维发展路线规划 linux 运维发展路线常见的就是下面两条路线: 第一条:运维应用-->系统架构-->运维开发-->系统开发 第二条:运维应用-->应用 ...
- 老男孩Linux.shell.RHCE运维初中高级50G附解压密码
学习Linux,好的教程.使学习事半功倍! 老男孩Linux.shell.RHCE运维初中高级 下载地址: http://pan.baidu.com/s/1hsQOb2W 密码: h4hs 解压密码: ...
随机推荐
- 『磁力块 bfs 分块』
磁力块 Description 在一片广袤无垠的原野上,散落着N 块磁石.每个磁石的性质可以用一个五元组 (x,y,m,p,r)描述,其中x,y 表示其坐标,m 是磁石的质量,p 是磁力,r 是吸引半 ...
- 轨迹条(Trackbar)
1.创建 createTrackbar(轨迹条名称,窗口名称,滑动条的初始位置,滑动条的最大值,回调函数XXX,不懂) 其中回调函数为 void XXX(滑动条的位置,用户数据)在c++中函数名为指向 ...
- Python面向对象封装案例
01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 ...
- 前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型)
前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型) 一丶HTML块级标签 排版标签 p 标签: 段落标签,会自动在段落上下加上空白来分开 p标签 ...
- 2019-08-01 JQuery事件
Jquery简单的事件 l blur(fn) 当失去焦点时 l change(fn) 当内容发生改变时 l click(fn) 当鼠标单击时 l dblclick 当鼠标双击时 l focus(fn) ...
- 米尔科技MPSoC开发板评测
米尔科技推出的MYD-CZU3EG开发板搭载的就是UltraScale+ MPSoC平台器件 — XCZU3EG,它集成了四核Cortex-A53 处理器,双核 Cortex-R5 实时处理单元以及M ...
- MongoDB常用数据库命令第一集
1.查询操作(1)Help查看命令提示helpdb.help()db.test.help()db.test.find().help()(2)创建/切换数据库use music(3)查询数据库show ...
- 8 Traits of an Experienced Programmer that every beginner programmer should know
Referrence: http://whats-online.info/guides-and-info/36/Traits-of-Experienced-Programmer-that-every- ...
- 面试题:什么叫B树
B是balanced的意思 是在二叉查找树 树的基础上增加了平衡的性质 导致它不是 二叉树了,变成了多叉树,但是叉几路又有了限制 否则怎么平衡呢 一棵m阶B树(balanced tree o ...
- 【Nginx】使用certbot安装免费https证书使Nginx支持Https请求
certbot官网:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx 一.安装步骤 1)安装certbot,执行 sudo yum ins ...