Mr.张小白(Linux文件操作、用户管理03)

本文详细介绍了Linux系统中的文件操作,包括文件类型识别、权限设置(如chown,chmod)以及用户和用户组的管理,如添加、删除、修改用户和用户组,以及相关的系统文件如/etc/passwd和/etc/group的结构和操作方法。
摘要由CSDN通过智能技术生成

一、Linux 文件操作

常用命令

chown (change owner): 修改所属用户与组。
chmod (change mode)	: 修改用户的权限。

在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组
在这里插入图片描述
实例中,boot 文件的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。

1.1 文件类型

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
在这里插入图片描述

1.2 文件权限

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
在这里插入图片描述

1.3 更改文件属性

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件所有者(owner),也可以同时更改文件所属组。

语法:

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名

参数选项

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
3、chmod:设置用户权限

Linux文件属性有两种设置方法,一种是数字,一种是符号。

3.1 数字设置

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

r:4
w:2
x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

语法

 chmod [-R] xyz 文件或目录

选项与参数:

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

将权限变成 -rw xr- xr-- 那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754=xyz

3.2 符号设置

linux身份类型

u(user)		:用户
g(group)	:组
o(others)	:其他
a(all)		:全部

在这里插入图片描述
如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定

二、Linux 用户和用户组管理

在这里插入图片描述

2.1 用户管理

1、添加用户

语法:

useradd 选项 用户名

参数说明:

选项:

-c comment 		指定一段注释性描述。
-d 目录 		指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 		指定用户所属的用户组。
-G 用户组		用户组 指定用户所属的附加组。
-s Shell文件 	指定用户的登录Shell。
-u 用户号 		指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名:

指定新账号的登录名。

2、删除用户

语法:

userdel 选项 用户名

参数说明:

选项:

-r 删除用户在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
用户名:

指定新账号的登录名。

3、修改用户

语法:

usermod 选项 用户名

参数说明:

选项:

-l 新用户名		这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
用户名:

指定新账号的登录名。

4、口令管理

指定和修改用户口令的Shell命令是passwd。
超级用户(sudo)可以为自己和其他用户指定口令
普通用户 (user) 只能用它修改自己的口令

直接使用passwd不加选项则变为修改口令

语法:

passwd 选项 用户名

参数说明:

选项:

-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
用户名:

指定新账号的登录名。

语法:

usermod 选项 用户名

参数说明:

选项:

-l 新用户名		这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
用户名:

指定账号的登录名。

2.2 用户组管理

1、添加用户组

语法:

groupadd 选项 用户组

参数说明:

选项:

-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
用户组:

指定账号的用户组。

2、删除用户组

语法:

groupdel 用户组

参数说明:

用户组:

指定账号的用户组。

3、修改用户组

语法:

groupmod 选项 用户组

参数说明:

选项:

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
用户组:

指定账号的用户组。

4、切换用户组

语法:

newgrp 用户组

参数说明:

用户组:

指定账号的用户组。

说明
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

2.3 用户账号有关的系统文件

1、/etc/passwd(用户信息)

在这里插入图片描述

字段格式

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

参数说明:

"用户名"是代表用户账号的字符串。
"口令"一些系统中,存放着加密后的用户口令字。
"用户标识号"是一个整数,系统内部用它来标识用户。
"组标识号"字段记录的是用户所属的用户组。
"注释性描述"字段记录着用户的一些个人情况。
"主目录"字段记录着用户的起始工作目录。
"登录Shell"用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

2、/etc/group(用户组信息)

在这里插入图片描述

字段格式

组名:口令:组标识号:组内用户列表

参数说明:

"组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
"口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*"组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。
"组内用户列表"是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。

3、添加批量用户

(1)编辑一个文本用户文件。

每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。

user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
(2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
# newusers < user.txt

然后可以执行命令 vipw 或 vi /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。

(3)执行命令/usr/sbin/pwunconv。

将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。

# pwunconv
(4)编辑每个用户的密码对照文件。

格式为:

用户名:密码

实例文件 passwd.txt 内容:

user001:123456
user002:123456
user003:123456
user004:123456
user005:123456
user006:123456
(5)以 root 身份执行命令 /usr/sbin/chpasswd。

创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
格式为:

# chpasswd < passwd.txt

实例文件 passwd.txt 内容:

user001:123456
user002:123456
user003:123456
user004:123456
user005:123456
user006:123456
(6)确定密码经编码写入/etc/passwd的密码栏后。

执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。
格式为:

# pwconv
(7)结束,验证用户是否配置正确
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值