小节

管道符:cmd1 输出
cmd2 输入
cmd1 | cmd2
如果想将错误信息传给cmd2
cmd1 |& cmd2 或 cmd1 2>&1| cmd2
加上 >
2>
<
&>
就是重定向
<< key
与用户名和组相关的
/etc/passwd
/etc/shadow 放用户口令的
/etc/group
/etc/gshadow
以上可以用cat查看也可以用
getent passwd|shadow|group|gshadow
前提是必须是root尤其是 shadow ,gshadow
上一节课讲到用户账号和组账号可以同名
也就是 UID=GID ,一般用户创建账号时是默认创建一个和他同名的组作为主组,即uid和主组相同
在Linux中默认一个uid=0的号即root ,并且gid=0的也叫root的组
如果把liang号 UID设为0 就可以获得和root一样的权限
准确的说ID为0的就是管理员
我们把用户加到组里面就会继承组的权限
工作中 一般先建一个账号
useradd -s /sbin/nologin -r -d /data/mysql -m -u1234 mysql
-s shell类型 nologin给某个服务用的,一般都是系统账号 -d指定家目录,后面跟指定目录。 -r 一旦加上就不会建家目录,邮箱也不会生成,如果想建家目录加上-m 后面跟指定用户名 -u指定UID如果在多台服务器上建账号不指定UID 系统会随机分配,管理麻烦
usermem

userdel 带-r选项会把邮箱一起删

 

 

2文件的权限
read r 读
write w 写
excute x 执行
读文件 要确保文件可读才行 如果是二进制文件读取后会把系统弄乱码 ,
解决办法exit logout 或CTRL+D 或敲命令reset(重置字符)
读写文件一般针对文本说的
执行列外 执行:当程序运行

改所有者 chown wang f1 更改f1的所有者为wang
查组的列表 getent group
改所有组 chgrp rpc f1 更改f1的所有组为rpc

建两个组 #groupadd g1
#groupadd g2
把wang用户加到g1组里 有三种方法
#groupmems -a wang -g g1
#usermod -aG g2 wang 给wang建一个叫g2的附加组 如果没有a 将会把上一个附加组g1覆盖抹去
列如
[root@liang data 21:00:42]#id wang
uid=502(wang) gid=504(wang) groups=504(wang)
[root@liang data 21:08:11]#groupmems -a wang -g g1
[root@liang data 21:16:11]#id wang
uid=502(wa
ng) gid=504(wang) groups=504(wang),501(g1)
[root@liang data 21:16:18]#usermod -aG g2 wang
[root@liang data 21:16:50]#id wang
uid=502(wang) gid=504(wang) groups=504(wang),501(g1),502(g2)
普通账号无法改变UID
列如
[root@liang data 21:19:10]#su wang
[wang@liang data 21:19:25]$ll
total 16
-rw-r–r–. 1 wang root 0 Apr 4 20:53 f1
drwx——. 2 root root 16384 Apr 2 19:54 lost+found
[wang@liang data 21:19:30]$chown mage f1
chown: changing ownership of `f1′: Operation not permitted
可以改变GID 前提是文件是所有者的,并且必须要在这个组里
例如
[wang@liang data 21:20:08]$chgrp g1 f1
[wang@liang data 21:24:17]$ll f1
-rw-r–r–. 1 wang g1 0 Apr 4 20:53 f1
继承的组权限是一样的
相对于普通用户 。
通过这 我们把将要访问f1文件的 人 分成 三类人
第一类 文件的所有者 权限最大
第二类 所加入的 所属于的组 权限相对小
第三类 other 权限最严

如何对三类人 授权
1 chmod change mode
方法 :mode 法
chmod who opt per file chmod跟上对谁操作who 做什么操作opt 针对他授予什么权限per 跟上文件file

who :u g o a(all)
opt : + – =
per :r w x X X特殊权限
chmod u+x,file
chmod u+x,g-w,o= file
例如
[wang@liang data 21:54:06]$ll f1
-rw-r—–. 1 wang g1 0 Apr 4 20:53 f1
[wang@liang data 21:54:35]$chmod u= f1
[wang@liang data 21:54:44]$ll f1
—-r—–. 1 wang g1 0 Apr 4 20:53 f1
普通用户读写执行 有限制
删除文件不是对文件的权限 而是对目录的

方法2: 数字法
u g o
rwx rw- r–
111 110 100
421 42 4

7 6 4

chmod 421 f1

chmod -R 422 dir1 更改dir1下的所有文件的权限为422

umask 取消对应的权限 mask 掩码
设为多少
新建的文件的权限就是666-umask值剩下的数,但是 如果是奇数+1 偶数不变
新建的文件夹的权限是777-umask值剩下的数。

例如
[root@liang data ]#umask 251
[root@liang data ]#mkdir dir2
[root@liang data ]#ll
total 0
drwxrwxrwx. 2 liang liang 27 Apr 5 16:29 dir1
dr-x-w-rw-. 2 root root 6 Apr 5 17:05 dir2
[root@liang data ]#touch f1
[root@liang data ]#ll
total 0
drwxrwxrwx. 2 liang liang 27 Apr 5 16:29 dir1
dr-x-w-rw-. 2 root root 6 Apr 5 17:05 dir2
-r—w-rw-. 1 root root 0 Apr 5 17:05 f1

在Linux中要想存的住就要放在文件里
所以umask值可以存在 .bashrc 中
-p
#umask -p >>.bashrc

-s
#umask -s
u=rwx g=rw o=r
可以直接看到设置的 不用算 我们也可以这样
#umsak u=rwx g=r o=rw 这样设置也可以
文本处理工具 cat
cat [OPTION] …[FILE]
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行
tac
竖着反写功能

rev
横着反写

more 相当于空格 用于翻页
less 也用于翻页

head 显示文件的头
head -n2 前两行

head -c12 前12个字符
tail
tail -n2 后两行
tail -f /etc/ss 跟踪/etc/ss 的页面
-F
tailf 相当于tail -f

cut 取列

cut -d: -f 1 取以:为分隔符的第一列

cut -c4-6 取4-6列的字符

paste 将两个文件的内容横着合并 同一行的合到一起
paste f1 f2 把f1和f2横着合并一起

cat f1 f2 把f1和f2 竖着合并一起
paste -s f1 f2 把f1的内容合成一行做成第一行再把f2的内容合成一行作为第二行 ,把两个合成一起显示出来

wc 显示文件内容有几行 多少个字节 多少个单词
一般 ls -l | wc

wc -w file file 中有多少个单词
-c 字节
-m 字符
-L 显示最长的行的字节符
-l 有多少行

sort 取出列 并排序
sort -t: k 1 /etc/passwd 对/etc/passwd 以:为分隔符第1列 的字符 排序
sort -t: k 1 -n /etc/passwd 对 /etc/passwd 以:为分隔符第1列 的数字 排序
sort -t: k 1 -nr /etc/passwd 对/etc/passwd 以:为分隔符第1列 的数字 倒序排序

-n 数字排序 排序后可以跟 | head -n1 取第一行 就是取最大值

-u 把重复的删除留下单个的
-n
-f 忽略大小写
uniq 删除相邻的相同的行
uniq -c 显示几行合并到一起
-u 仅显示不重复的行
-d 仅显示重复的行

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95112

(0)
lhl123456lhl123456
上一篇 2018-04-07
下一篇 2018-04-07

相关推荐

  • 08 tr命令练习

      tr命令 转换或删除字符 tr tr [OPTION]… SET1 [SET2]   -c 取反   -d 删除   -s 如果有重复字符,则代替为一个字符-压缩   -t 使set1长度和set2长度一致 示例1: tr set1 set2        将set1字符转换为set2要求的字符

    Linux笔记 2018-04-05
  • 程序包编译

    程序包编译安装:Application-VERSION-release.src.rpm –> 安装后,使用rpmbuild命令制作 成二进制格式的rpm包,而后再安装源代码–>预处理–>编译–>汇编–>链接–>执行源代码组织格式:多文件:文件中的代码之…

    Linux笔记 2018-04-22
  • linux救援模式使用方法

    漂亮的小哥哥小姐姐进来看看喽

    2018-04-20
  • 基于Memcached的session server

    session server:将Tomcat的session信息保存在Memcached中,实现session server 前提: 两个Tomcat节点,两个Memcached节点,一个nginx节点;Tomcat需要使用到Memcached-session-manager这个Java类,即上面所说的调用了Memcached提供的API的模块,以达到Mem…

    Linux笔记 2018-03-31
  • 一次完整的http请求处理过程+MPM工作模式

     1、建立连接:接收或拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 Web访问响应模型(Web I/O)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求复用I/O结构:启动一个进程,同时响应N个连接请求实现方法:多线程模型和事件驱动…

    2018-06-24
  • Linux任务计划、周期性任务执行

    Linux任务计划、周期性任务执行 at at命令用于在指定时间执行命令。执行结果会通过邮件发送给用户 at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行 语法 at(选项)(参数) atq: 查询任务列表 atrm: 删除指定任务 选项 -f:指定包含具体指令的任务文件;…

    Linux笔记 2018-04-03