Linux之用户管理

目录

Linux之用户管理

添加新用户 --- useradd命令

语法格式

常用选项

 案例

 为用户账号设置密码 -- passwd

语法格式

选项及作用

案例

 修改用户属性 --- usermod命令

语法格式

选项及作用

案例

删除用户账号 --- userdel命令

语法格式

选项及作用

案例

用户切换 --- su(substitute user)命令

命令格式

su 命令与su - 命令的区别

控制用户对系统命令的使用权限 -- sudo命令

定义

配置sudo的2种方法

别名规则

        别名规则的定义格式

        Host_Alias

        User_Alias

        Runas_Alias

        Cmnd_Alias

授权规则

        定义格式

        sudo的客户端应用


Linux之用户管理

添加新用户 --- useradd命令

语法格式

        useradd [选项]

常用选项

        

选项 作用
-c 注释信息 设定与用户相关的说明(如:真实姓名、邮箱地址等)
-d 目录 设定用户的家目录(默认/home/用户名)
-e YYYY-MM-DD 设置用户的失效日期,此日期后将不能使用该账号
-f 天数 指定密码到期后多少天账号被禁用,若指定为0,则表示该账号到期后被立即禁用;若指定为-1,则表示账号过期后不被禁用(即密码永不过期)
-g 组名或GID号
为用户指定所属的基本组 , 该组在指定时必须已存在
-G 组名或GID号列表 为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组之间用“”分隔
-M 不创建用户家目录
-N 不创建用户同名的基本组
-p 密码 指定用户的登陆密码
-s shell名 指定用户登录后使用的shell,默认为bash
-u 用户名 设置账号的UID,默认是已有用户的最大UID加1.如果同时有-o选项,则可以重复使用其他用户的标识号

 案例

        案例1 --- 新建一个用户zhang3,查看passwd、shadow文件中的变化,并确认该用户的家目录中的初始配置文件。

[root@localhost ~]# useradd zhang3
[root@localhost ~]# tail -l /etc/passwd

Linux之用户管理_第1张图片

[root@localhost ~]# tail -l /etc/passwd

[root@localhost ~]# ls -ld /home/zhang3

[root@localhost ~]# ls -A /home/zhang3

 过程

       1. 在 /etc/passwd /etc/group文件中增添了一行记录

        2.为新用户创建家目录(  默认是“/home/用户名  , 除非特别设置 ), 并从 /etc/skel 中将 .bash_logout,.bash_profile、 .bashrc .mozilla 4 个隐藏文件 复制到用户家目录 , 以便为用户的会话 提供环境变量 ;
        3.为新用户添加一个邮件池目录;
        4.创建一个和用户名同名的基本组( 除非特别指定其他组名 )

示例2 --- 新建一个用户li4,并指定用户家目录为/usr/li4

[root@localhost ~]# useradd -d /usr/li4 li4
[root@localhost ~]# useradd -d /usr/li4 li4

示例3 --- 新建一个用户wang5,指定其UID1006、登录Shell/bin/bash、密码为123.com,账号永不过期。

[root@localhost ~]# useradd -u 1006 -s /bin/bash -p 123.com -f -1 wang5

Linux之用户管理_第2张图片

Linux之用户管理_第3张图片

示例4 --- 新建一个辅助管理员用户admin,将其用户家目录指定为/admin,基本组指定为wheel,附加组同时属于adm组和root

[root@localhost ~]# useradd -d /admin -g wheel -G adm,root admin

Linux之用户管理_第4张图片

Linux之用户管理_第5张图片

 

 示例--- 新建一个用于访问FTPzhao6用户,禁止其登录且不创建家目录

[root@localhost ~]# useradd -M -s /sbin/nologin zhao6

Linux之用户管理_第6张图片

Linux之用户管理_第7张图片

 为用户账号设置密码 -- passwd

         Linux的账户必须设置密码后,才能的登陆系统

语法格式

        passwd [账户名]

选项及作用

选项 作用

-d

清空指定用户的口令。这与未设置口令的账户不同,未设置口令的账户无法登陆系统,而口令为空的账户可以
-f 强迫用户下次登陆时必须修改口令
-i 口令过期后多少天停用账户
-l 锁定(停用)用户账户
-n 指定口令的最短存活周期
-S 显示账户口令的简短状态信息(是否被锁定)
-u 解锁用户账户

案例

        若当前用户为root,请修改root用户的密码,并为zhang3用户设置密码

[root@localhost ~]# passwd root

Linux之用户管理_第8张图片

此处密码设置为 root123 

[root@localhost ~]# passwd zhang3

Linux之用户管理_第9张图片

 此处密码设置为 zhang3123

 修改用户属性 --- usermod命令

语法格式

        usermod [选项] username

选项及作用

选项 作用
-c 注释信息 设定与用户相关的说明(如:真实姓名、邮箱地址等)
-d 目录 设定用户的家目录(默认/home/用户名)
-g 组名或GID号
为用户指定所属的基本组 , 该组在指定时必须已存在
-G 组名或GID号列表 为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组之间用“”分隔
-M 不创建用户家目录
-s shell名 指定用户登录后使用的shell,默认为bash
-u 用户名 设置账号的UID,默认是已有用户的最大UID加1.如果同时有-o选项,则可以重复使用其他用户的标识号
-l 新用户名 更改账户的名称,必须在该用户未登录的情况下才能使用
-L 锁定(暂停)用户账户,使其不能登陆使用
-U 解锁用户账户

案例

        示例1 --- 将用户admin的家目录移至/home目录下

[root@localhost ~]# usermod -d /home/admin admin 

Linux之用户管理_第10张图片

         示例2 --- 将用户wang5的名称修改为wangwu,并暂停使用账号

[root@localhost ~]# usermod -l wangwu -L wang5 

删除用户账号 --- userdel命令

语法格式

        userdel [-r] 账户名

选项及作用

        -r --- 再上出该账户的同时,一并删除该账户对应的主目录

案例

        示例 --- 删除yang99及其主目录

Linux之用户管理_第11张图片

[root@localhost ~]# userdel -r yang99

Linux之用户管理_第12张图片

用户切换 --- su(substitute user)命令

命令格式

        su [用户名]

        su - [用户名]

注意:

        root用户切换到任何用户不需要密码验证,而从普通用户到root其他普通用户需要输入目标用户的密码且验证成功后才可切换。

su 命令与su - 命令的区别

        su 只切换了root身份,但shell环境任然是普通的shell

        su- 连用户和shell环境一起切换成root身份

控制用户对系统命令的使用权限 -- sudo命令

定义

        sudo --- 控制用户对系统命令的使用权限,root允许的操作

注意:

        通过sudo命令可以提高普通用户的操作权限,不过这个权限是需要进行配置才可以使用

配置sudo的2种方法

        visudo 建议使用,会做语法检查

        vi /etc/sudoer --- sudo配置文件

别名规则

别名规则的定义格式

        Alias_Type NAME = item1, item2, ...

        Alias_Type NAME = item1, item2, item3 : NAME = item4, item5

注意:

        其中Alias_Type是指别名类型,包括四种:Host_AliasUser_AliasRunas_AliasCmnd_Alias

        NAME就是别名 ---  包含大写字母、下划线以及数字,但必须以一个大写字母开头,比如 ADMIN、 SYS1 NETWORKING 都是合法的,而 sYS 6ADMIN 是非法的

Host_Alias

        定义主机别名

例子

        Host_Alias HT1=localhost,ztg,192.168.0.0/24
        主机别名是HT1 “=” 号右边是成员。
        Host_Alias HT1= localhost,ztguang,192.168.10.0/24:HT2=ztg2,ztg3
        定义了两个主机别名HT1 HT2 ,别名之间用 “:”号隔开

User_Alias

         用户别名 ,别名成员可以是用户,用户组(前面要加% 号)
例子
        User_Alias ADMIN=ztg,ztguang
        定义用户别名ADMIN,有两个成员ztg ztguang ,这 两个成员要在系统中确实存在
        User_Alias PROCESSES= ztg1
        定义用户别名PROCESSES ,有一个成员 ztg1 ,这个成员要 在系统中确实存在

Runas_Alias

        用来定义runas 别名,这个别名是指 sudo允许切换到的用户
例子
        Runas_Alias RUN_AS = root
        定义runas 别名 RUN_AS ,有一个成员 root

Cmnd_Alias

        定义命令的别名,这些命令 必须是系统存在的文件 ,要用 绝对路径 ,文件名 可以用通配符表示
例子
        Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
        Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

授权规则

定义格式

        授权用户 主机=命令动作

        授权用户 主机=[( 切换到哪些用户或用户组 )] [ 是否需要密码验证 ] 命令 1,[( 切换到哪些用户或用户组)] [ 是否需要密码验证 ] [ 命令 2],[( 切换到哪些用户或用户组 )] [ 是否需要密码验证 ] [ 命令 3] …
注意:
        这三个要素 缺一不可 ,但在 动作之前 可以指定切换到特定用户 下,在这里指定切换的用户要 用( )号括起来 ,如果 不需要密码直接运行命令 的,应该 加NOPASSWD:参数 ,但这些可以省略

sudo的客户端应用

sudo -l
列出当前用户可以执行的命令。只有在 sudoers 里的用户才能使用该选项
sudo -u 用户名 命令
以指定用户的身份执行命令。后面的用户是除 root 以外的,可以是用户名,也可以是UID
sudo -k
清除存活期时间,下次再使用 sudo 时要再输入密码
sudo -b 命令
在后台执行指定的命令
sudo -p 提示语 < 操作选项 >
提示语 < 操作选项 > :可以更改询问密码的提示语,其中 %u 会代换为使用者账号名称,%h会显示主机名称

案例:

        sudo记录用户输入密码时间。默认单位是分钟

[root@localhost ~]# sudo visudo --- 此命令将在nano编辑器中打开/ etc / sudoers文件
Linux之用户管理_第13张图片

 

找到以下行: Defaults env_reset ,并修改为, Defaults env_reset, timestamp_timeout=30
Linux之用户管理_第14张图片

 

Linux之用户管理_第15张图片

 

 

你可能感兴趣的:(Rhcsa,linux,数学建模,运维)