Linux基础——用户和用户组

一.用户和用户组
  用户在/etc/passwd中
  用户组在/etc/group/中
注意:在创建用户时,系统默认生成一个用户组(组名和用户名一致)

1.用户

1.1查看用户时:cy:x:1000:1000:cy:/home/cy:/bin/bash
    cy:用户名
    x:加密的密码
    1000:用户编号
    1000:组编号
    cy:用户全名称
    /home/cy:所在位置
    /bin/bash:可执行命令

useradd:添加用户
  格式:
    useradd 用户名

passwd:修改密码
  格式:
    passwd 用户名
注意:输入密码时,密码默认不显示

su:切换用户
  格式:
    su 用户
注意:root切换普通用户时,不需要输入密码。

userdel:删除用户
  格式:
    userdel [选项] 用户名
选项:
  -f:删除登录用户
  -r:删除用户和用户相关文件和目录
  -rf:删除登录用户和登录用户相关文件和目录
注意:用户主目录在/home,通信文件在/var/spool/mail/
使用-f时,用户相关文件和目录不会进行删除

2.用户组在/etc/group/中

2.1 在创建用户时,系统默认生成一个用户组(组名和用户名一致)

[root@master /]# useradd show
[root@master /]# groupadd show

groupadd:“show”组已存在(不能删除主组,主组随着用户的消失而消失,删除show)
groupadd:创建组(普通组,由系统默认生成的叫做主组)

  格式:
    groupadd 组名
注意:创建普通组不会生成用户

2.2 groupdel:删除组(普通组,不能删除主组)
  格式:
    groupdel 组名
注意:
  不能删除主组,主组随着用户的消失而消失
  区分:主组是创建用户时系统默认生成的,依赖于用户的存在而存在
  手动创建的普通组用于管理多个普通用户

2.3 gpasswd:管理用户和组
  格式:
    gpasswd [选项] 用户 组
选项:
  -a:添加
  -d:删除
注意:组默认是没有任何用户的
  添加一个用户到组的时候,可以添加到普通组,别的主组和本身的主组
  如果是普通组,无论组下是否有用户都可以直接删除
  如果是主组并且主组下面有用户,删除用户时主组不会删除(主组变成普通组)

权限:
  通过ll查看详细信息时:-rw-r--r--. 1 root(用户) root (组)181 3月 15 15:34 test.txt
  -:表示类型
  rw-:当前用户权限
  r--:当前用户组权限
  r--:其他用户权限

  r:读4
  w:写2
  x:执行1

  u:当前用户
  g:当前组
  o:其他
  a:所有

3.权限分配

3.1chmod:修改权限
  格式1:(使用相加减表达权限)
    chmod [选项] [权限修改] [文件]
  格式2:(使用数字表达权限)
    chmod [选项] [权限修改] [文件]
    4:读
    2:写
    1:执行
    7:全部
注意:如果只给一个数字表示修改o,两个表示修改go
选项:
  -R:迭代修改

3.2 chgrp:修改用户组
  格式:
    chgrp [选项] [组名] [文件或目录]
选项:
  -R:表达迭代修改
注意:文件或目录的所有用户或所有组,都是以编号来查询所有用户或所有组
  如果不存在就显示编号,存在显示名称

3.3 chown:修改所属用户
  格式:
    chown [选项] [组名] [文件或目录]
选项:
  -R:表达迭代修改

3.4 sudo:越权执行
  格式:
    sudo 命令
注意:sudo实际上去借root权限执行命令(root对普通用户分配了权限)

  sudo -l:查看当前权限

3.5 visudo:修改配置文件进行权限分配(文件所在位置/etc/sudoers)

  例如:普通用户拥有root所有权限
    

用户名 ALL=(ALL) ALL
    用户名 ALL=(root) ALL 
例如:普通用户只能执行一个命令
用户名 ALL=(root)/bin/rm

可以同过vim /etc/sudoers修改权限分配

4.查找

4.1 find
  格式:

    find 开始查找路径 [选项] [条件]

选项:
  -name
    *表示匹配所有
    ?表示匹配一个
  例如:从/开始查找后缀为.txt
    find / -name "*.txt"
    -type
    d:表示目录
    f:表示文件
  例如:从/开始查找文件
    find / -type f
    -size
    ll --block-size=单位
  例如:大小以k为单位进行显示
    ll --block-size=k
注意:条件需要给上单位
  +表示大于
  -表示小于
  不给就是等于
  例如:从/开始查找文件大小大于2k
    find / -size +2k
    -user
    -group
2. more:
    空格键:查看下一屏;

    回车键:往下滚动一行;

    b 键:往前查看一屏;

    q 键:退出。

3. head:
    head -n filename表示查看一个文件的前n行,如果不指定n,则默认显示前n行。

4.tail:
    tail file (显示文件file的最后10行)
    tail +20 file (显示文件file的内容,从第20行至文件末尾)
    tail -c 10 file (显示文件file的最后10个字符)

二.Linux常见符号

1. 管道与grep

1.1  |:管道,把前面一部分的内容交给后面去处理

  例如:
    cat -n /etc/profile | more

1.2. grep:筛选
  格式:
    grep 筛选条件

      >>:追加,把命令1的结果写入到命令2
  格式:
      命令1 >> 命令2
  例如:cat profile >> test.txt
    >:覆盖
  格式:
    命令1 > 命令2
    例如:cat profile > test.txt

2. 软件包管理
2.1 rpm:查看 管理 删除软件
  格式:
    rpm [选项] [软件名称] [后缀]
  选项:
    -q:查询
    -a:所有
    -qa:查询所有
    -e:删除
  后缀:
    --nodeps:无视依赖关系
注意:直接-e时,如果有依赖关系,不能直接删除
  需要加上--nodeps后缀

2.2 tar:解压和压缩
  格式:
    tar [选项] [包] [路径]
  选项:
    -c:压缩
    -x:解压
    -v:显示
    -z:gzip
    -j:bzip
    -f:使用当前名称
    -t:查看

2.3 解压:
  -C:指定解压路径
  例如:解压jdk
    tar -zxvf jdk.tar.gz -C /usr/local/soft/
2.4 打包:
  例如:把jdk从新打包
    tar -cvf 包的所在位置加包的名称 所要打包的内容

三.jdk的安装

1.安装位置
安装包的位置/usr/local/module/
安装jdk的位置/usr/local/soft/

2.配置环境变量

vim /etc/profile

在最后的位置输入

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

:wq保存
2.1 刷新文件:

source /etc/profile

2.2 查看是否安装jdk:

java -version

  

Linux基础——用户和用户组的更多相关文章

  1. 2.Linux的用户、用户组、权限、文件系统管理及其网络配置

    2.1 Linux的用户及用户组 2.1.1 Linux的用户管理 用户账号管理包含以下三个方面: 用户账号的添加.删除.与修改 用户口令(密码)的管理 用户组的添加.删除管理 Linux系统中用户信 ...

  2. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

  3. Linux查看用户所属用户组

    1.查看当前用户所属用户组 [oracle@serverhl ~]$ groups oinstall dba 2.查看<user1>, <user2> 和 <user3& ...

  4. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  5. Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  6. Linux 操作系统的用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入 系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  7. Linux的用户和用户组管理

      Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控 ...

  8. (转)Linux的用户和用户组管理

    原文 Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并 ...

  9. [Linux 003]——用户和用户组以及 Linux 权限管理(一)

    嗬!没想到吧!学习 Linux 的第三天,我们已经开始接触用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时 ...

随机推荐

  1. DNS服务器安全---通过ipset对DNS异常解析流量的源IP地址进行管控

    ipset介绍 ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则.而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以 ...

  2. 【排序+模拟】魔法照片 luogu-1583

    题目描述 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从大到小进行排序 ...

  3. tomcat与springmvc 结合 之---第19篇 springmvc 加载.xml文件的bean 过程

    writedby 张艳涛,看springmvc 的源码太难了,怎么办, 这篇文章主要分析了看透springmvc的第9章结尾的 如何解析xml 命名空间标签 <?xml version=&quo ...

  4. js学习笔记之排序算法的原理及代码

    冒泡排序 比较任何两个相邻的项,如果第一个比第二个大,则交换它们 重复这样的操作,直到排序完成,具体代码如下: let arr = [67,23,11,89,45,76,56,99] function ...

  5. loadrunner 利用JDBC操作mysql数据库

    import lrapi.lr;import java.util.ArrayList;import java.util.List; import java.sql.Connection; import ...

  6. MERCY靶机

    仅供个人娱乐 靶机信息 下载地址:https://drive.google.com/uc?id=1YzsW1lCKjo_WEr6Pk511DXQBFyMMR14y&export=downloa ...

  7. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

  8. 背单词(AC自动机+线段树+dp+dfs序)

    G. 背单词 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较   题目描述 给定一张包含N个单词的表,每个单词有个价值W.要求从中选出一个子序列使 ...

  9. DNS反向解析,主从服务器,分离解析(内外网)

    目录 实验一:DNS反向解析 1.安装bind 2.查找配置文件路径 3.配置/etc/named.conf主配置文件 4.修改/etc/named.rfc1912.zones区域配置文件(复制两个) ...

  10. CSS样式逐li添加,执行完,清空,反复执行

    function change_light(el) { el.hide() let i = 0; function temp() { if (i > el.length - 1) { el.hi ...