一、重定向

  

  标准输出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. [fW]中断处理函数数组interrupt[]初始化

    中断处理函数数组interrupt[]初始化 2011-05-13 15:51:40 分类: LINUX 在系统初始化期间,trap_init()函数将对中断描述符表IDT进行第二次初始化(第一次只是 ...

  2. db2表

    生成列: CREATE TABLE t1 (c1 INT,                 c2 DOUBLE,                 c3 DOUBLE GENERATED ALWAYS ...

  3. net core微服务构建方案

    随着Net core升级,基本趋于完善了,很多都可以使用core开发了.已经有的Net framework就不说了,说实话,关注少了. 今天说说微服务方案,在之前说几句废话,core还在升级改造,AP ...

  4. NFS 共享存储实战

    目录 NFS 共享存储实战 一.NFS概述 二.NFS部署 部署NFS客户端backup和web01 统一web.nfs.backup的用户权限 代码部署步骤 三.NFS配置详解 NFS存储小结 四. ...

  5. 容斥原理+补集转化+MinMax容斥

    容斥原理的思想大家都应该挺熟悉的,然后补集转化其实就是容斥原理的一种应用. 一篇讲容斥的博文https://www.cnblogs.com/gzy-cjoier/p/9686787.html 当我们遇 ...

  6. Kotlin之let,apply,with,run函数区别(转)

    转自:https://blog.csdn.net/guijiaoba/article/details/54615036 Kotlin之let,apply,with,run函数区别 重新整理 重新整理了 ...

  7. 巨好看的xshell配色

    推荐字体Lucida console [FlatUI] text=e5e5e5 cyan(bold)=16a085 text(bold)=ecf0f1 magenta=9b59b6 green=2ec ...

  8. iview table绑定双击事件

    <Table <Table ref="table" highlight-row :columns="columns" :data="new ...

  9. 关于LCN分布式事务框架

    基于LCN框架解决分布式事务 LCN官网 https://www.txlcn.org/ "LCN并不生产事务,LCN只是本地事务的搬运工" 兼容 dubbo.springcloud ...

  10. pycharm windows 远程修改服务器代码

    配置过程 本机环境 操作系统:win10 IDE:Pycharm 远程服务器 操作系统:ubuntu 4.4.0 配置了ssh,可以使用ssh进行远程登陆 配置Deployment 首先,在pycha ...