linux组类型,LINUX用户以及用户组

转载博文:https://blog.csdn.net/xietansheng/article/details/80044620

0、用户、组、文件权限 常用命令:

类型

举例

用户

who, whoami, su, useradd, userdel, passwd, usermod, /etc/passwd

groupadd, groupdel, groupmod, /etc/group

文件

chmod, chown, chgrp

其他

sudo, exit

af8f784ec050e504406a03539b793880.png

PS:

1、chown: 修改某个目录或文件的用户名和用户组

chown 用户名:组名 文件路径

例如:chown zhanmusi:laker /usr/local/nba   就是把 /usr/local/nba的用户名和用户组改成了zhanmusi和laker ,修改的是上图的         6和7

2、chmod :用来修改某个文件或者目录的访问权限

chmod -R 777  目录    或者    chmod -R 777  目录  (-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的   方式逐个变更))

例如:   chmod 777  /usr/local/nba  或者 chmod -R 777  /usr/local/nba  就是把目录/usr/local/nba的权限设置为了777

3、数字表示rwx权限为:r=4,w=2,x=1  因此rwx=4+2+1=7.    r-可读权限、w-可写权限   x-可执行权限 -- 0表示没有权限

1. 用户

已登录的用户信息: who

显示当前所有已登录到系统的用户信息。

参数:

-H 显示各列的标题(表头)。

-u 显示闲置时间。如果用户在前1分钟内有操作, 显示“.”; 超过24小时没有操作, 显示“old”字符串。

-m 显示当前会话的用户的信息, 相当于: who am i

-q 显示当前所有已登录的 账户名称 和 总人数。

-T 显示用户的 状态信息

例子:

who // 显示当前所有已登录的用户

who -q // 显示当前所有已登录的账号名称和总人数

who am i // 显示当前会话的用户的信息

who -m // 显示当前会话的用户的信息

who -uTH // 显示当前所有已登录的用户信息(包括 闲置时间, 用户状态, 各列标题)

显示当前会话的用户的名称: whoami

显示当前会话的用户的名称, 格式: whoami

切换用户: su

select user, 切换用户。su 后面加上 “-” 表示切换用户后同时把工作目录切换到该用户的 home 目录。

例子:

su username // 切换到指定用户

su - username // 切换到指定用户, 并同时把工作目录切换到用户的home目录

su // 没有指定用户名, 则切换到 root 用户

su - // 切换到 root 用户, 并把工作目录切换到 /root

su root // 切换到 root 用户

su - root // 切换到 root 用户, 并把工作目录切换到 /root

添加用户: useradd

格式: useradd [-potions] username

参数:

-d 指定新建用户的主目录, 如果不指定, 则系统自动在 /home 目录创建

一个和用户名相同的文件夹作为新建用户的主目录(/home/username)

-m 自动创建主目录文件夹

-g 指定新建用户所在组名称, 如果不指定, 则系统自动创建一个和用户名

相同的组作为新建用户所属组

例子:

useradd -m user01 // 新建用户 user01, 自动创建主目录 /home/user01, 自动创建组 user01

useradd -md /home/u2 user02 // 新建用户 user02, 自动创建主目录 /home/u2, 自动创建组 user02

useradd -md /home/u3 -g g3 user03 // 新建用户 user03, 自动创建主目录 /home/u3, 指定组为 g3(指定的组必须已存在)

注意:

新创建的用户默认不能使用 sudo 命令, 需要另外添加该命令的权限, 实际上 sudo 是一个组的名称,

把 组sudo 追加到用户的附加组列表, 该用户便能在输入用户自己密码的情况下执行 sudo 命令。

例如让用户 user01 拥有 sudo 命令权限, 命令格式为: usermod -aG sudo user01

具体参考后面的 usermod 命令介绍。

删除用户: userdel

删除用户时, 如果用户所属组是创建用户时自动创建的和用户名称同名的组, 并且该组内没有其他用户, 则该组也会被删掉。

格式: userdel [-options] username

参数:

-f 强制删除用户, 即使用户当前已登录

-r 删除用户, 同时删除用户主目录

例子:

userdel user01 // 删除用户 user01, 保留用户主目录

userdel -r user02 // 删除用户 user02, 并同时删除用户主目录

更改用户密码: passwd 设置或修改用户密码, 普通用户可以根据原密码修改自己的密码, 超级用户可以直接重置所有用户(包括 root 用户)的密码。

格式: passwd [-options] [username]

参数:

-a all, 此选项只能和 -S 一起使用, 来显示所有用户的状态

-d delete, 删除用户密码(把密码置为空)

-l lock, 锁定指定账户(将密码更改为一个不可能与加密值匹配的值来禁用)

-u unlock, 解锁指定账户

-S status, 显示账户状态信息

例子:

passwd // 更改自己的密码, 输入 原密码, 新密码, 确认新密码

passwd user01 // 重置用户的密码, 输入 新密码, 确认新密码

passwd -aS // 查看所有用户的状态

passwd -S user01 // 查看用户 user01 的状态

修改用户信息: usermod usermode 命令用于修改用户的基本信息。不允许修改正在线上的用户的名称, 不允许修改正在系统上执行程序的用户的ID。

格式: usermod [-options] username

参数:

-c comment, 设置帐户注释

-d home_dir, 设置用户主目录

-e expiredate, 设置帐户过期日期

-g group, 强制修改用户的新主组

-G groups, 修改用户新的附加组列表

-a append group, 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户

-u uid, 修改账户的用户ID

-l login, 设置用户的登录名称

-s shell, 修改用户登录后使用的 shell

-L lock, 锁定用户帐户(等同于 passwd -l 命令锁定账户)

-U unlock, 解锁用户帐户(等同于 passwd -u 命令解账户)

例子:

usermod -g group01 user01 // 把用户 user01 的主组修改为 group01 组

usermod -u 9999 user01 // 把用户 user01 的 ID 修改为 9999

usermod -l u1 user01 // 把用户 user01 的名称修改为 u1

usermod -aG sudo user01 // 把 组sudo 添加到用户 user01 的附加组列表, 使该用户拥有执行 sudo 命令的权限

用户账户信息: /etc/passwd

文件 /etc/passwd 中存放了所有用户的账户信息, 每一行为一个用户, 每个用户的账户信息分为 7 个字段, 用 “:” 分隔。

格式:

Username : Password : User ID : Group ID : Comment : Home Diretory : Login Command

用户名 : 密码 : 用户ID : 组ID : 用户注解 : 主目录 : 登录后执行的命令

其中 密码字段 只显示一个特殊字符“x”或“*”, 加密后的密码存放在 /etc/shadow 文件中, 只有超级用户才能访问。

2. 组

添加组: groupadd

格式: groupadd [-options] groupname

参数:

-g 指定新建组的ID

例子:

groupadd group01 // 新建名称为 group01 的组

groupadd -g 1001 group02 // 新建名称为 group02 的组, 并给指定组的 ID 为 1001

删除组: groupdel

删除组, 如果组内还包含有用户, 需要想将用户删除或移出该组后才能删除。

格式: groupdel groupname

改变组信息: groupmod

格式: groupmod [-options] groupname

参数:

-n 修改组的名称

例子:

groupmod -n NewGroupName OldGroupName

查看所有组: /etc/group

文件 /etc/group 中存放了所有组的信息, 每一行表示一个组, 每个组的信息分为 4 个字段, 用 “:” 分隔。

格式:

Group Name : Password : Group ID : User List

3. 文件

Linux的文件权限用 3组 每组3位 共9位 字符表示

终端输入命令ls -al查看当前目录下的所有文件的权限:

-r--r--r--

-rw-------

drw-r--r--

-rw-rw-rw-

drwx------

-rwxr--r--

lrwxr-xr-x

-rwxrwxrwx

上面每行列出了10个字符,其中第1位表示文件的类型: d表示文件夹, l表示链接文件, -表示文件。

剩余9位分为3组,每组3位,分别表示: 文件所有者、同组用户、其他用户 对该文件的权限。

每组的3位字母分别表示对该文件的读(r)、写(w)、执行(x)权限,显示字母表示有该权限,显示-表示没有该权限。

权限的数字解析

每组权限可分别由3位二进制数分别表示 r、w、x 的权限开关,1表示有该权限,0表示没有该权限,3位二进制数转换为十进制的一个整数即可用于表示读、写、执行三个权限的开关。如下案例:

// 可总结为: r=4, w=2, x=1

rwx r-x rw- ---

111 == 7 101 == 5 110 == 6 000 = 0

// 上面表示是单组权限, 使用过程中一般三组权限一起使用

rwxrwxrwx r--r--r-- rw-rw-rw- rw-r-----

111111111 == 777 100100100 == 444 110110110 == 666 110100000 == 640

PS: 上面的777, 444等权限数字, 应该 拆分解读, 即 3位数字 分别表示 三组用户(所有者, 同组用户, 其他用户)对文件的权限。

修改文件/目录的 权限: chmod

chmod修改文件权限有两种形式: 字母形式 和 数字形式

字母形式:

格式:

chmod [u/g/o/a][+/-/=][r/w/x] file/dir

参数:

u/g/o/a: 修改哪个组的权限, 分别表示 所有者(user), 所在组(group), 其他组(other), 所有(all)

+/-/=: 增加(+), 撤销(-) 或 重置(=) 权限

r/w/x: 需要操作的权限, 读(r)、写(w)、执行(x)

例子:

chmod u+x aa.sh // 给文件所有者添加执行权限

chmod a+x aa.sh // 给所有用户添加执行权限

chmod a=rwx aa.sh // 给所有用户添加读写和执行权限

chomd a= aa.sh // 撤销所有用户的所有权限, 相当于 a-rwx

chmod o-w aa.txt // 给其他组的用户撤销写权限

chmod u=rw,g=r,o= aa.sh // 可以用逗号分隔分别给不同权限组修改权限

数字形式:

权限有3位数字组成(注意: 每一位单独使用, 分别表示 所有者、所在组、其他组 的权限),

读(r) = 4, 写(w) = 2, 执行(x) = 1, 没有(-) = 0

格式:

chmod [3位数字权限] file/dir

例子:

chmod 777 aa.sh // 给所有用户添加读写和执行权限

chmod 640 aa.sh // 所有者有读写权限, 所在组有读权限, 其他组没有任何权限

修改文件/目录的 所属组: chgrp

修改文件所在组(change group)

格式: chgrp [-options] group_name file/dir

参数:

-R 递归处理, 如果修改的是目录, 则递归修改目录下的所有文件和子目录

例子:

chgrp group01 aa.txt // 把文件 aa.txt 的所在组修改为 组group01

chgrp -R group01 bbDir // 递归修改 目录bbDir 的所在组为 组group01

4. 其他

以其他身份来执行命令: sudo

sodu, 以其他身份来执行命令, 默认预设的身份为 root 用户。普通用户身份可能没有权限执行某些命令或查看某些

文件/文件夹, 此时需要切换到 root 用户, 如此比较麻烦, 也会暴露 root 用户密码给更多的普通用户, 因此可以

为用户添加 sudo 权限(详见上面的 usermod 命令介绍), 让该用户可以临时以 root 身份来执行相关命令。

执行该命令需要输入当前登录用户的密码。

格式: sudo [-options] original_commands

参数:

-H 将HOME环境变量设为新身份的HOME环境变量。

-u 以指定用户的身份来执行命令, 默认为 root 用户。

例子:

sudo ls /root // 以 root 身份查看 /root 目录

退出shell: exit

退出shell, 或者退出当前登录的用户, 并返回给定值, 返回0表示执行成功正常退出, 返回非0表示执行失败异常退出。

例子:

exit // 退出shell, 正常退出, 默认返回0

exit 1 // 退出shell, 异常退出, 返回给定值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装Git依赖的包出错,技术|Linux有问必答:如何在Linux上安装Git

问题: 我尝试从一个Git公共仓库克隆项目,但出现了这样的错误提示:“git: command not found”。 请问我该如何在某某发行版上安装Git?Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的。跟CVS或者SVN这些版本控制系…

1社会心理学---感知情境

1小便池放一只苍蝇减少百分之八十的人不文明行为 2电梯中所有人背靠有人就会背靠 3结论 4社会心理学

史上最扯Java图形绘制(J2SE)之一JAVA动画效果

史上最扯Java图形绘制(J2SE)之一JAVA动画效果 很多主一听说Java界面,一水的头大外带血压高,兄弟我倒觉得没什么必要。其实Java这东西吧,就简便性和其初衷而言,真他妈就在GUI 这地界是有优势的,单…

linux 3.11 虚拟摄像头 驱动,摄像头万能驱动-万能视频驱动-摄像头万能驱动下载 v2011.3官方版-完美下载...

摄像头万能驱动收录了N多常用驱动,且适用于80%的摄像头,如:华硕、罗技、创新、联想、戴尔等品牌,智能化的摄像头设备识别和驱动安装,小白也能操作,同时摄像头万能驱动也是装机人员必备驱动盘,一…

linux mate eth0已下线,Linux Mint 18 Cinnamon 版和 MATE 版已经可以下载了

在今天早些时候,Linux Mint[1] 项目负责人 Clement Lefebvre 将 ISO 镜像放到了网上,它首先出现在了爱尔兰的镜像网站[2],看起来已经是最终的产品形态了。截止到写这篇文章时,在 Linux Mint 网站上还没有发布官方通告,…

使用脚本动态操作 SVG 文档

本教程适用于那些希望使用可伸缩向量图形(SVG)创建交互式 SVG 图形的开发人员。它讨论了使用ECMAScript(JavaScript)对现有的 SVG 图像进行实时操作得技术。本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识。 SVG 图像…

linux 安装vs2017,vs2017安装 CMake安装

apt安装cmakesudo apt install cmake这种方式安装方便,缺点是如果想要自己交叉编译Android平台的opencv会提示版本太低,因为ubuntu16.04源里的cmake版...lj4021598062017年07月30日 23:2484191.下载安装程序,地址为,下载Unix/Linux Source (has \n line …

asp.net 导出word excel 当前上下文中不存在名称“Encoding”报错问题

web页面<% Page Language"C#" EnableEventValidation"false" AutoEventWireup"true" CodeBehind"CheapMaterialManageSet.aspx.cs" Inherits"AssetsManager.DeskWeb.BaseDOC.CheapMaterialManageSet" %>using System.…

linux中fstab含义,fstab每一列的含义

&#xff1c;fstab文件总览&#xff1e;当然&#xff0c;由于每个人的分区和设备属性或者所在的系统不同&#xff0c;所以fstab文件不尽相同&#xff0c;但是基本的结构总是相似的&#xff0c;下面是/etc/fstab中内容的一些示例&#xff1a;/etc/fstab:/dev/hda2 / ext2 defaul…