一、重定向

  

  标准输出standard output1>,>>

  标准错误输出standard error output22>,2>>

  标准输出设备::显示器

  标准输入:键盘

  1、输出重定向

  >:覆盖输出

  >>:追加输出

  输出重定向错误的输出不会被重定向。

  2>:重定向错误输出

  2>>::重定向覆盖错误输出。
  &>:重定向所有输出。

  set -c:关闭对文件覆盖重定向,如果需要强制覆盖输出则 >|

  set +c:开启对文件的覆盖重定向

  tr

  -c –C --complement:取字符集的补集
  -d --delete:删除所有属于第一字符集的字符
  -s --squeeze-repeats:把连续重复的字符以单独一个字符表示
  -t --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
  [:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符
  [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母 [:print:]:可打印字符
  [:punct:]:标点符号 [:space:]:空白字符 [:upper:]:大写字母
  [:xdigit:]:十六进制字符
       重定向到多个文件
  

  命令1 | tee [-a ] 文件名 | 命令2
  把命令1的STDOUT保存在文件中,做为命令2的输入
  -a 追加
  使用:
  保存不同阶段的输出
  复杂管道的故障排除
  同时查看和记录输出
二、用户管理
  1、用户的uid 
  •   管理员:root, 0
  •   普通用户:1-60000 自动分配
  •   系统用户:1-499, 1-999 (CentOS7)
  •   登录用户:500+, 1000+(CentOS7)
  进程所能够访问资源的权限取决于进程的运行者的身份
  2、用户的配置文件
  

 /etc/passwd:用户及其属性信息(名称、UID、主组ID等) 
 
     

/etc/shadow:用户密码及其相关属性

   passwd的文件格式 
  •     login name:登录用名(wang)
  •     passwd:密码 (x)
  •     UID:用户身份编号 (1000)
  •     GID:登录默认所在组编号 (1000)
  •     GECOS:用户全名或注释
  •     home directory:用户主目录 (/home/wang)
  •     shell:用户默认使用shell (/bin/bash)

   shadow的文件格式  

  •   登录用名
  •   用户密码:一般用sha512加密
  •   从1970年1月1日起到密码最近一次被更改的时间
  •   密码再过几天可以被变更(0表示随时可被变更)
  •   密码再过几天必须被变更(99999表示永不过期)
  •   密码过期前几天系统提醒用户(默认为一周)
  •   密码过期几天后帐号会被锁定
  •   从1970年1月1日算起,多少天后帐号失效

  3、用户的创建useradd 

  • -u UID
  • -o 配合-u 选项,不检查UID的唯一性
  • -g GID 指明用户所属基本组,可为组名,也可以GID
  • -c "COMMENT“ 用户的注释信息
  • -d HOME_DIR 以指定的路径(不存在)为家目录
  • -s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
  • -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
  • -N 不创建私用组做主组,使用users组做主组
  • -r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
  • -m 创建家目录,用于系统用户
  • -M 不创建家目录,用于非系统用户  
  默认值设定:/etc/default/useradd显示或更改默认设置
  • useradd -D
  • useradd –D -s SHELL
  • useradd –D –b BASE_DIR
  • useradd –D –g GROUP

  新建用户的相关文件和命令

  • /etc/default/useradd
  • /etc/skel/*
  • /etc/login.defs
  • newusers passwd格式文件 批量创建用户
  • chpasswd 批量修改用户口令

  4、用户模式的修改usermod 

  • -u UID: 新UID
  • -g GID: 新主组
  • -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被
  • 覆盖;若保留原有,则要同时使用-a选项
  • -s SHELL:新的默认SHELL
  • -c 'COMMENT':新的注释信息
  •   -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
  • -l login_name: 新的名字
  • -L: lock指定用户,在/etc/shadow 密码栏的增加 !
  • -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
  • -e YYYY-MM-DD: 指明用户账号过期日期
  • -f INACTIVE: 设定非活动期限 

  5、用户的删除以及查看信息 

  userdel [OPTION]... login
  •   -r: 删除用户家目录
  •   id [OPTION]... [USER]
  •   -u: 显示UID
  •   -g: 显示GID
  •   -G: 显示用户所属的组的ID
  •   -n: 显示名称,需配合ugG使用
  

  6、切换用户或以其他用户身份执行命令su
  •   su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
  •   su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
  •   root su至其他用户无须密码;非root用户切换时需要密码
  7、设置密码passwd
  passwd [OPTIONS] UserName: 修改指定用户的密码 
  •   -d:删除指定用户密码
  •   -l:锁定指定用户
  •   -u:解锁指定用户
  •   -e:强制用户下次登录修改密码
  •   -f:强制操作
  •   -n mindays:指定最短使用期限
  •   -x maxdays:最大使用期限
  •   -w warndays:提前多少天开始警告
  •   -i inactivedays:非活动期限
  •   --stdin:从标准输入接收用户密码
  示例:echo "PASSWORD" | passwd --stdin USERNAME
  8、修改用户密码策略
  chage [OPTION]... LOGIN 
  • chage [OPTION]... LOGIN
  • -d LAST_DAY
  • -E --expiredate EXPIRE_DATE
  • -I --inactive INACTIVE
  • -m --mindays MIN_DAYS
  • -M --maxdays MAX_DAYS
  • -W --warndays WARN_DAYS
  • -l 显示密码策略

三、组管理

  1、组的类别

  •   管理员组:root, 0 
  •   普通组:
  系统组:1-499, 1-999(CENTOS7)
  普通组:500+, 1000+(CENTOS7)
  Linux组的类别
  • 用户的主要组(primary group)
  • 用户必须属于一个且只有一个主组
  • 组名同用户名,且仅包含一个用户,私有组
  • 用户的附加组(supplementary group)
  • 一个用户可以属于零个或多个辅助组

  2、组的配置文件  

  /etc/group:组及其属性信息

  /etc/gshadow:组密码及其相关属性
  group的文件格式
  • 群组名称:就是群组名称
  • 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
  • GID:就是群组的 ID
  • 以当前组为附加组的用户列表(分隔符为逗号) 

  gshadow文件格式

  •   群组名称:就是群的名称
  •   群组密码:
  •   组管理员列表:组管理员的列表,更改组密码和成员
  •   以当前组为附加组的用户列表:多个用户间用逗号分隔

  3、创建组

  groupadd [OPTION]... group_name

  • -g GID 指明GID号;[GID_MIN, GID_MAX]
  • -r 创建系统组
  • CentOS 6: ID<500
  • CentOS 7: ID<1000

  4、修改和删除组

  组属性修改:groupmod
  groupmod [OPTION]... group
  -n group_name: 新名字
  -g GID: 新的GID 

  5、修改组密码

  组属性修改:groupmod
  groupmod [OPTION]... group
  -n group_name: 新名字
  -g GID: 新的GID 
  newgrp命令:临时切换主组
  如果用户本不属于此组,则需要组密码
  6、更改和查看组成员
  groupmems [options] [action] 

  -g, --group groupname 更改为指定组 (只有root)
  actions:
  •   -a, --add username 指定用户加入组
  •   -d, --delete username 从组中删除用户
  •   -p, --purge 从组中清除所有成员
  -l, --list 显示组成员列表
  groups [OPTION].[USERNAME]... 查看用户所属组列表
四、文件的基本权限
  1、文件属性的修改
  

  修改文件的属主:chown
  chown [OPTION]... [OWNER][:[GROUP]] FILE...
  用法说明:
  OWNER
  OWNER:GROUP
  :GROUP,冒号也可用 . 替换
  -R: 递归
  chown [OPTION]... --reference=RFILE FILE...
  修改文件的属组:chgrp
  chgrp [OPTION]... GROUP FILE...
  chgrp [OPTION]... --reference=RFILE FILE...
  -R 递归  
  2、文件权限
  

  文件的权限主要针对三类对象进行定义
  •   owner 属主, u
  •   group 属组, g
  •   other 其他, o
  每个文件针对每类访问者都定义了三种权限
  • r Readable
  • w Writable
  • x eXcutable
  文件:
  •   r 可使用文件查看类工具获取其内容
  •   w 可修改其内容
  •   x 可以把此文件提请内核启动为一个进程
  目录:
  • r 可以使用ls查看此目录中文件列表
  • w 可在此目录中创建文件,也可删除此目录中的文件
  • x 可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
  • X 只给目录x权限,不给文件x权限

  3、文件权限的修改 

  chmod [OPTION]... OCTAL-MODE FILE...
  -R: 递归修改权限
  chmod [OPTION]... MODE[,MODE]... FILE...
  MODE:
  修改一类用户的所有权限
  u= g= o= ug= a= u=,g=
  修改一类用户某位或某些位权限
  u+ u- g+ g- o+ o- a+ a- + -
  chmod [OPTION]... --reference=RFILE FILE... 
  参考RFILE文件的权限,将FILE的修改为同RFILE
  4、文件的默认权限
  

  umask值 可以用来保留在创建文件权限
  新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1
  新建目录的默认权限: 777-umask
  非特权用户umask是 002
  root的umask 是 022
  umask: 查看
  umask # 设定
  示例:umask 002
  umask u=rw,g=r,o=
  umask –S 模式方式显示
  umask –p 输出可被调用
  全局设置: /etc/bashrc 用户设置:~/.bashrc
五、文件的特殊权限
  1、可执行文件上SUID权限
  任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
  启动为进程之后,其进程的属主为原程序文件的属主
  SUID只对二进制可执行程序有效
  SUID设置在目录上无意义
  权限设定:
  chmod u+s FILE...
  chmod u-s FILE...
  2、可执行文件上的SGID
  任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
  启动为进程之后,其进程的属组为原程序文件的属组
  权限设定:
  chmod g+s FILE...
  chmod g-s FILE...
  3、目录上的SGID
  

  默认情况下,用户创建文件时,其属组为此用户所属的主组
  一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组
  通常用于创建一个协作目录
  权限设定:
  chmod g+s DIR...
  chmod g-s DIR...  
  4、sticky位
  

  具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
  在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
  sticky 设置在文件上无意义
  权限设定:
  chmod o+t DIR...
  chmod o-t DIR...
  例如:
  ls -ld /tmp
  drwxrwxrwt 12 root root 4096 Nov 2 15:44 /tmp
  5、特殊权限数字表示法
  SUID SGID STICKY
  000 0  
  001 1
  010 2
  011 3
  100 4
  101 5
  110 6
  111 7
  chmod 4777 /tmp/a.txt
  6、权限的映射
  SUID: user,占据属主的执行权限位
  s:属主拥有x权限
  S:属主没有x权限
  SGID: group,占据属组的执行权限位
  s: group拥有x权限
  S:group没有x权限
  Sticky: other,占据other的执行权限位
  t:other拥有x权限
  T:other没有x权限
  7、设定文件的特殊属性

  •   chattr +i 不能删除,改名,更改
  •   chattr +a 只能追加内容
  •   lsattr 显示特定属性

linux基础重定向,用户,组,以及权限管理的更多相关文章

  1. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  2. Linux基础入门-用户及文件权限管理

    一.Linux用户管理: 不同的用户的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于Linux的用户管理和权限机制,不同用户不能轻易查看.修改彼此的文件. 1. 查看用户: wh ...

  3. Linux基础学习(8)--权限管理

    第八章——权限管理 一.ACL权限 1.ACL权限简介与开启: (1)ACL权限简介: (2)查看分区ACL权限是否开启: (3)临时开启分区ACL权限: (4)永久开启分区ACL权限: 2.查看与设 ...

  4. Linux基础_3_文件/文件夹权限管理

    注:权限遮罩码: 控制用户创建文件和文件夹的默认安全设置,文件默认权限为666-umask的值,文件夹默认权限为777-umask的值. root默认0022,普通用户默认0002. 文件的默认权限不 ...

  5. Linux用户及文件权限管理

    Linux用户及文件权限管理

  6. 实验楼学习linux第一章第三节用户及文件权限管理

    用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用 ...

  7. Linux分类笔记(一)-权限管理

    Linux分类笔记(一) 权限管理 普通权限 文件的普通权限 对一个普通的文件使用ls -ll命令后,看到下面的输出内容   而对于文件权限中的每一位,又分别代表了以下的意思 文件类型又有以下几类: ...

  8. Linux入门(用户操作及权限)

    Linux入门之 用户操作及权限   在一个公司里,老板与员工有上下级之分,员工与员工间也有上下级或同级之分.每个级别在公司的职责不同,权限也不同.在Linux操作系统中也一样,不同的用户身份拥有着不 ...

  9. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  10. MySQL数据库(6)_用户操作与权限管理、视图、存储过程、触发器、基本函数

    用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIE ...

随机推荐

  1. 查看x86主機是否支援64bit in Linux

    $cat /proc/cpuinfo 查看flags 欄位中是否有 lm (long mode)

  2. Elasticsearch学习,请先看这一篇

    题记: Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识.原理从初学者认知.学习的角度,从以下9个方面进行详细梳理.欢迎讨论-- 0. 带着问题上路--ES是如 ...

  3. Redis缓存击穿、缓存穿透、缓存雪崩

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上篇文章谈到了Redis分布式锁,实际上就是为了解释为什么做缓存采用Redis而不使用map/guava.缓存 ...

  4. C#编程—第四天

    五一放假三天 ······续写第三天的if else-if.if语句的嵌套.很多例题(还有很多没有整理好的) 5.4下午初步学习循环语句for 老师布置了几个小练习题 循环语句 循环:可以反复执行某段 ...

  5. .net core mvc model填充过滤器

    在程序开发中,我们可能经常遇到所有的数据库表有相同的属性和行为,比如需要记录数据的创建人员,创建时间,修改时间和修改人.如果在每个action中都加上这些信息,代码看着比较冗余,看着不那么优雅,于是考 ...

  6. SSM+Maven使用PageHelper插件分页

    官方网站: https://pagehelper.github.io/docs/howtouse/#2-%E9%85%8D%E7%BD%AE%E6%8B%A6%E6%88%AA%E5%99%A8%E6 ...

  7. 【记录】解决uni-app 用nginx反向代理出现Invalid Host header问题

    之前解决过一次,后来给忘记了,今天又遇到这个问题,现记录一下 修改uni-app的manifest.json文件  - >源码视图 添加以下代码: "disableHostCheck& ...

  8. Spring、SpringMVC、SpringBoot、SpringCloud概述

    spring和springMvc: 1. spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc).业务层(Ioc) ...

  9. BlueStore-先进的用户态文件系统《二》-BlueFS

    https://zhuanlan.zhihu.com/p/46362124 简介 上一篇文章中,介绍了BlueStore的诞生背景.逻辑架构以及设计思想,提到了在BlueStore中元数据都是存放在R ...

  10. 阿里云 Centos 7 PHP7环境配置 LNMP

    首先更新系统软件 $ yum update 安装nginx 1.安装nginx源 $ yum localinstall http://nginx.org/packages/centos/7/noarc ...