① 用户账号
? 超级用户: root 用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的
? 普通用户: 由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
? 程序用户: 在安装linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行
如 bin、daemon、ftp、 mail 等
② 组账号
? 基本组(私有组): 基本组账号只有一个,一般为创建用户时指定的组
在/etc/ passwd文件中第4字段记录的即为该用户的基本组GID号
? 附加组(公共组): 用户除了基本组以外,额外添加指定的组
③ UID和GID
? UID: 用户标识号(User IDentity)
? GID: 组标识号(Group IDentify)
root用户账号的UID和GID号为固定值0
程序用户账号的UID和GID号默认为Centos5,6: 1~499,Centos7: 1 ~ 999
普通用户的UID和GID号默认为Centos5, 6: 500~65535, Centos7: 1000 ~65535
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,而passwd文 件中仅保留密码占位符“x”
? 文件位置:/etc/passwd
? 每一行对应一个用户的账号记录
字段1: 用户帐号的名称
字段2: 用户密码占位符“x”
字段3: 用户帐号的UID号
字段4: 所属基本组帐号的GID号
字段5: 用户全名
字段6: 宿主目录
字段7: 登录Shell信息( /bin/ bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)
默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容
? 文件位置:/etc/shadow
? 每一行对应一个用户的密码记录
字段1: 用户帐号的名称
字段2: 使用MD5加密的密码字串信息,当为“*"或“!!”时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段3:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段4: 密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段5: 密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段6: 提前多少天警告用户密码将过期,默认值为7
字段7: 在密码过期之后多少天禁用此用户
字段8: 帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用
字段9: 保留字段(未使用)
? 在/etc/passwd文件和/etc/ shadow文件的末尾增加该用户账号的记录
? 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件
? 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/gshadow文件中
useradd+【选项】+ 用户名
-u: 指定用户的UID号,要求该UID号码未被其他用户使用
-d: 指定用户的宿主目录位置(当与-M一.起使用时,不生效)。只能用绝对路径指定目录,且不需要事先创建目录
-e: 指定用户的账户失效时间,可使用YYYY -MM-DD的日期格式
-g: 指定用户的基本组名(或使用GID号),对应的组名必须已存在
-G: 指定用户的附加组名(或使用GID号),对应的组名必须已存在
-M: 不建立宿主目录
-s: 指定用户的登录Shell, (比如/bin/bash为可登陆系统,/sbin/ nologin和/bin/ false为禁止用户登陆系统)
useradd -d /admin -g wheel -G root admin1
useradd -e 2021-12-31 -s /sbin/nologin admin2
-u -d -g -G:
-M -s -e:
注:-M -e -s对于程序用户会用的多
? 为用户账号设置密码passwd
? root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码
? 普通用户却只能执行单独的“passwd"命令修改自己的密码
passwd + 【选项】+ 用户名
-d: 清空指定用户的密码,仅使用用户名即可登录系统
-l: 锁定用户账户,锁定的用户账号将无法再登录系统
-S(大写): 查看用户账户的状态(是否被锁定)
-u: 解锁用户账户
设置用户密码方法二: echo "密码” | passwd --stdin 用户名
没锁定的时候,列表是可以看到的:
锁定这个用户的时候,列表中就看不到了:
echo "密码” | passwd --stdin 用户名
usermod + 【选项】+ 用户名
-l: 更改用户账号的登录名称
-L: 锁定用户账户
-U: 解锁用户账户
以下选项和useradd命令中的含义一样,只不过是修改罢了
-u: 修改用户的UID号
-d: 修改用户的宿主目录位置
-e: 修改用户的账户失效时间,可使用YYYY-MM-DD 的日期格式
-g: 修改用户的基本组名(或使用GID号)
-G: 修改用户的附加组名(或使用GID号)
-s: 指定用户的登录Shell
-l:
-d -g -G:
注:用usermod更改前一个用户名的宿主目录之后,/home里的原宿主目录不会变可以 mv jj heihei
userdel + 【-r】+ 用户名
添加-r选项时,表示连用户的宿主目录一并删除
? useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一-些初始配置文件
? 这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件
用户宿主目录下的初始配置文件只对当前用户有效
~/ .bash_ profile
此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/ . bashrc
此文件中的命令会在每次打开新的bash shell时( 也包括登录系统)被执行,并且会调用/etc/bashrc文件
~/ . bash_logout
此文件中的命令将在用户每次退出登录或退出bash shell时执行
全局配置文件对所有用户有效
/etc/profile
这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile 命令使profile文件被读取
/etc/profile.d/
这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本
/etc/bashrc
每一个运行bash shell 的用户都会执行此文件,可通过执行bash命令打开一个新的bash shell时,使bashrc文件被读取
vi /etc/bashrc
alias myls=’ /bin/ls -lhr’
bash
type myls
~/ .bash_ profile
~/ . bashrc
解决方法:
注意,以上的方法只是在当前用户下有效
需要任意用户切换都可以,解决方法:
注:需要加什么样的环境变量,看你自己需求
PATH变量用于设置可执行程序的默认搜索路径
PATH生效的原理:
每次启动系统的时候会初始化命令,会执行/etc/profile和~/ . bash_ profile
/etc/profile会将路径/usr/local/bin、/usr/bin、/usr/local/sbin、/usr/sbin追加到PATH中去。然后调用/etc/profile.d 目录下的脚本
Mysql数据库五——mysql事务及引擎 一、事务 1、事务的概念 2、事务的ACID特点 ...
本文实例为大家分享了js实现电灯开关效果的具体代码,供大家参考,具体内容如下 ...
例如: 我们在百度中搜索 尊托云数,则网址后面的参数就是 http://www.baidu.com/...
发现每个编辑实例都可以加载不同的css样式表,而且其样式不继承 页面的css。 于...
接着昨天的,如果forEach中的items类型是map或者Collection类型的,怎样使用增强...
如果你很在意你的终端的外观的话,一个跨 shell 的提示符可以让你轻松地定制和配...
我之前写过一个简易版的自动+手动轮播图: 简易轮播图 但是这个轮播图在切换的时...
Asp 解析 XML并分页显示,示例源码如下: 复制代码 代码如下: !DOCTYPE html PUB...
主要目的 a. 掌握获取 GridPanel 当前行的各个字段值的方法 b. 掌握如何将前台数...
关于我的SWFObject V1.5的使用过程,以 上篇 中的介绍暂时告一段落了,下面我将...