linux 基础学习4

来源:互联网 发布:php读取数据库并显示 编辑:程序博客网 时间:2024/05/18 05:24

************第五单元***********

一、什么是用户

1、用户就是系统的使用者,我们以前使用的root以及student都是用户。一个系统可以有多个普通用户,但是只能有一个超级用户。下面我们查看用户信息是如何在系统中存储的。

2、用户信息涉及到的系统配置文件:

使用  vim  /etc/passwd        查看用户信息


信息格式为:       用户名:密码:uidgid:说明:家目录:用户使用的shell

3、 vim  /etc/shadow           查看用户认证信息


信息格式:        用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

1)我们看到,密码为加密形式,如果没有设置密码则为!!

2)最后一次修改密码的时间为距离计算机元年(1970.1.1)的天数

3)使用passwd 可以修改用户认证信息

passwd 参数 用户名称

-S student     用户密码信息

-l student     锁定帐号

-u student    解锁

-n 天数student    设定密码最短有效期天数

-x 天数 student    设定密码最长有效期

-w 天数 student    警告期

-i 天数 student    设定用户非活跃天数

-d student    清除用户密码


4、 vim  /etc/group      查看组信息

信息格式为:
组名称:组密码:组id(gid):附加组成员(用户名)

5vim  /etc/gshadow        查看组认证信息


使用命令   ls  /home:可以列出普通用户家目录

使用命令   ls  -a  /etc/ skel  : 可以查看用户骨架文件

二、用户管理

使用监控 命令  :watch -n 1 ' tail -n 3 /etc/passwd /etc/group; ls -l /home'

1.用户建立

(1)useradd  参数  用户名字

-u         指定用户uid

-g         指定用户初始组信息,这个组必须已经存在

-G         指定附加组成员,这个组必须存在


(2)useradd  参数  用户名字

-c          用户说明

-d         用户家目录

-s         用户所使用的shell/etc/shells记录了用户能使用shell的名字



2、用户删除

userdel  -r 用户名称             -r表示删除用户信息及用户的系统配置

 上图中使用  userdel  -r   redhat   删除名为redhat 的用户。


3.组的建立与删除

(1)建立

groupadd   组名称        建立组(不指定组的gid)

groupadd     -g       gid      组名称        建立组(指定组的gid)

注意:1)不能使用已经存在的组名称建立组;

            2)不能使用已经存在的gid建立组。


(2)删除

groupdel    组名字     删除组

4、用户id信息查看(不加参数默认为显示所有信息)

id 参数 用户

-u    用户uid

-g    用户初始组id

-G    用户所有所在组id

-n    显示名称而不是id数字

-a    显示所有信息


 

5、用户信息更改

usermod 参数 用户

-l      更改用户名称

-u    更改uid

-g    更改gid

-G    更改(添加)附加组

-aG    添加附加组

-c    更改说明

-d    更改家目录指定

-md    更改家目录指定及家目录名称

-s    更改shell

-L    冻结帐号

-U    解锁

三、用户权力下放

1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers

 

2.下放权力的方法

1超级用户执行visudo进入编辑/etc/sudoers模式

2格式:

获得权限用户 主机名称=(获得到的用户身份) 命令

admin (可以为任意用户)          server1.example.com=(root)        /usr/sbin/useradd

用户能在server1.example.com以超级用户身份执行/usr/sbin/useradd

 

3.执行下放权限命令

sudo 命令 ##如果第一次执行sudo需要输入当前用户密码

/etc/sudoers中如果设置如下:

admin(可以为任意用户)   server1.example.com=(root)     NOPASSWD: /usr/sbin/useradd

表示用户调用sudo命令的时候不需要自己密码

 4.例子:

(1)使用命令

在超级用户下:

1)为了方便把主机名修改为 server1.example.com

2)用hostname命令显示主机名

3)使用命令visudo 进入编辑/etc/sudoers模式进行修改

在普通用户下:

执行      sudo useradd  用户名    添加新的用户

第一次执行需要密码,为了不需要使用密码,再次使用命令visudo 进入编辑/etc/sudoers模式进行修改

按照上面3所示格式。

(2)编辑模式下修改内容(在第99行)



四、root密码忘记


1.重新启动系统

2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
9.exit两次使系统自动重新启动


原创粉丝点击