石家庄网站排名,国外企业网站设计欣赏,微信crm是什么,做网站建设话术用户管理命令#xff1a;
首先要先知道两个配置文件#xff1a;/etc/group 用户组配置文件/etc/passwd 保存了所有用户的用于读取的必要信息**/etc/shadow **是 Linux 系统中用于存储用户密码信息的文件。这个文件也被称为“影子文件”#xff0c;因为它包含了 /etc/passwd…
用户管理命令
首先要先知道两个配置文件/etc/group 用户组配置文件/etc/passwd 保存了所有用户的用于读取的必要信息**/etc/shadow **是 Linux 系统中用于存储用户密码信息的文件。这个文件也被称为“影子文件”因为它包含了 /etc/passwd 文件中用户账号的加密密码。与 /etc/passwd 文件不同/etc/shadow 文件通常只有 root 用户和具有特殊权限的用户才能访问从而增强了系统的安全性。 在添加用户之前应该先查看一下当前系统下已经存在的用户情况。Linux系统的所有用户都在系统文件/etc/passwd文件中存放在命令行窗口中运行如下命令 cat /etc/passwd 查看用户列表下面是一些用户一行表示一个用户每个字段之间用“”分隔 /etc/passwd配置文件字段及说明:举例root:x:0:0:root:/root:/bin/bashcg:x:1000:1000:vm1:/home/cg:/bin/bash
字段1用户名字段2密码占位符(早先时间真的保存了用户密码后来随着安全提升就放到/etc/shadow但是字段保留了。)字段3用户的UID 0表示超级用户,500 60000普通用户(换句话说如果把某个普通用户的UID修改为0则该用户就变成了管理员账户。)UID从1到499是系统预留的系统用户也称伪用户不能用于登录。可以看到在CentOS 7中普通用户的UID是从1000开始进行分配的。1-499程序用户启动一个程序的时候需要依托一个用户的权限来启动,如果没有这些程序用户的话比如说用root份启动了一个apache服务。如果这个服务有漏洞,或者说被注入恶意代码,那么恶意代码就会以root身份运行因此启动不同程序的时候使用的都是程序用户的身份这种用户是不允许登陆系统的这是程序用户的特点为了系统安全在Liunx中,系统不认识用户名只认UID相当于身份证)字段4基本组的 GID 概念先有组才有用户【用户必须存在于一个组】字段5用户信息记录字段【比如用户在公司的工号是多少联系方式家庭地址现在已经很少了基本废弃了】字段6用户的家目录字段7shell脚本用户登录系统后使用的命令解释器默认是bash
/etc/shadow配置文件字段及说明cat /etc/shadow** **展示出如下数据
序号字段** 说明**字段1用户名登录用户名字段2密码加密后的密码默认使用sha-512这种加密方式同时过于简单的密码加密完了的信息完全相同还混合了salt值salt值不能被别人看到若看到可利用字典进行密码暴力破解字段3最后一次修密码的时间从1970年1月1日到最后一次修改密码的天数字段4最小间隔时间两次修改密码之间最少间隔的天数字段5最大间隔时间密码有效的最大天数 99999表示永不过期字段6警告时间密码有效期前多少天开始向用户发出警告信息字段7不活动天数密码过期后多少天内允许用户登录字段8失效时间整数是从1970年1月1日到用户禁止登录时间字段9标认位保留未使用 为什么Linux要分别使用两个文件来管理用户信息和密码信息呢查看两个文件的权限运行如下命令并查看结果ls -l /etc/passwd /etc/shadow可以看到passwd 文件所有人都可以读shadow文件无人有权限除了root用户linux机制规定 创建用户 每创建一个用户都会新建/home/用户名 并作为该用户的家目录用户对家目录拥有控制权这也是将用户文件进行分隔的有效措施 useradd [-g -d] 用户名
下面可以看到/etc/passwd中已经包含了用户cg2的信息 可以看到已经包含了同名的cg2目录并将其作为cg2用户的家目录
图形化展示 useradd命令只能root用户使用或者root用户组使用我们可以验证一下whereis useradd得到useradd所在的文件查看权限发现其他没有任何权限。得证 刚才我们只是创建了用户但是还没有设置密码cat /etc/shadow | grep cg2可以看到第二个字段是 说明还没有设置密码
locate查找cg2发现原来还创建了cg2的邮件目录 **综上所述**当使用useradd命令新建一个用户后将在/etc/passwd文件中写入一行新建用户信息在/etc/shadow文件中写入一行用户密码信息在/home目录中新建和用户名相同的家目录在/var/spool/mail目录下新建与用户名相同的邮件目录。 useradd命令的选项 把新建用户cg3放入指定用户组cg2中 useradd -g cg2 cg3 检查一下 cat /etc/passwd可以看到cg3的组号是1001 或者我们还可以使用id命令检验 -d 创建用户时指定家目录 若不指定 家目录默认在/home/用户名 用户组 默认无密码: root模式下 passwd 用户名 添加密码 批量添加用户
newusers命令可以批量添加用户步骤
首先新建一个文本文档user.txt(内容是要添加用户格式要和/etc/passwd相同) /etc/passwduser.txt 新建密码文档pwds.txt(内容是) 上面我们介绍了创建一个用户创建完用户后家目录中没有任何文件但是其实有隐藏文件 若需要在新建用户的同时就在其家目录中放入一些文件如本服务器的使用说明文档或注意事项文档等则可以通过修改/etc/skel目录中的内容来达到目的。 /etc/skel目录在Linux系统中扮演着重要的角色。它主要用于存放新建用户时需要拷贝到其家目录下的文件。当系统管理员使用useradd命令添加新用户时/etc/skel目录下的所有文件都会自动地复制到新用户的家目录下。 passwd命令设置密码
一般的用法有两种一是使用root用户来为普通用户设置密码二是普通用户使用passwd命令为自己设置密码。使用普通用户登录并为自己设置密码时必须知道原密码正常的流程应该是使用root账户来新建用户并为其设置初始密码。要点
使用root用户为普通用户设置密码passwd 用户名不加用户名是为自己设置密码root用户下设置密码不受密码格式限制普通用户受密码格式限制
拓展 passwd命令除了设置用户密码外还可以完成显示用户密码状态和锁定解锁用户的功能这两个功能须在root用户登录下进行如下所示
锁定用户passwd -l 用户名如下锁定了cg2但是root用户可以强制进入普通用户cg3就无法进入cg2了解锁用户root下使用passwd -u 用户名如下 chage修改帐号、密码的有效期
chage -d 999999999999 jack表示从1970年1月1日起密码的有效期是999999999天选项 删除用户
userdel [-r] 用户名
选项-r 删除用户HOME目录 不使用 - r ,保留HOME目录 用户组管理命令
之前我们已经创建好了几个用户现在我们可以再了解一个文件–组文件 /etc/group cat /etc/group 可以发现新建一个用户都会在group中新增一条记录每一条记录都包含四个字段。除了/etc/group文件外还有另外一个与组相关的配置文件/etc/gshadowcat /etc/gshadow 第一字段用户组 第二字段用户组密码这个段可以是空的或!如果是空的或有!表示没有密码 第三字段用户组管理者这个字段也可为空如果有多个用户组管理者用,号分割 第四字段组成员如果有多个成员用,号分割 创建用户组
groupadd group1创建用户组group1cat /etc/group | grep group1查看group文件cat /etc/gshadow | grep group1查看 gshadow文件
可以看到group1已经创建好了但是组内还没有文件 修改组id和组名等信息
使用groupmod命令 注意谨慎修改 删除组
groupdel命令 注意谨慎防止该组内用户集体失去某些文件的权限如但是这里报错了不可删除初始组也就是说要先要先删除同名的用户cg3后该用户组也会随之被删除 为了便于群组的管理有时需要为组设置组管理员组管理员管理哪些用户可以被添加或被移除。
groupadd majorgroup 1添加组
gpasswd majorgroup 2给组添加密码
gpasswd -A cg majorgroup 3将用户cg设置为组管理员可以在gshadow文件中加密的密码还有管理员cg (并没有被添加进组)
接着添加cg和cg2进majorgroup
gpasswd -a cg majorgroup
gpasswd -a cg2 majorgroup成功添加进去如果这两个用户需要在不同的所属组之间切换则可以使用newgrp命令。 组成员共享目录 在实际工作中会出现如下场景3个普通用户在同一个项目组内他们各自都有自己的家目录和初始私有组而他们同时要在同一个目录下进行项目开发。这时就需要共享成员目录来协同工作 上述命令运行后work组已经创建并且加入了jimtombob管理员下面将通过命令来讲项目专属目录的所属组变为working组
chgrp work /project/working
chmod 2770 /project/working chgrp working /project/working 的意思是将 /project/working文件或目录的组所有权更改为 working 组。 其中 2 代表 “set group ID”SGID位。当设置了这个位时对于目录新创建的文件或子目录将继承其父目录的组而不是继承创建者的主组。 结果显示working目录的权限情况是创建者root拥有读、写和执行权限而working组成员的权限为rws其中s为特殊权限。 组外成员想进入组共享目录不允许 拓展 执行权限对于目录和文件来说是不同的。对于目录来说执行权限是指是否可以进入某个目录而对于文件来说执行权限是指该文件中的内容是否可以被执行 查看用户所属组
id [用户名]uid是用户idgid是用户所属组id直接输入id命令没有用户参数的话会直接输出当前用户的用户信息 修改用户所属组
usermod -aG 用户组 用户名 将指定用户加入指定用户组注意用户和用户组都得提前存在 getent
使用getent命令可以查看当前系统中有哪些用户语法getent passwd
…中间还有很多用户
cat /etc/passwd效果一样