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

[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

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

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

 

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

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

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

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

语法格式

        passwd [账户名]

选项及作用

选项作用

-d

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

案例

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

[root@localhost ~]# passwd root

此处密码设置为 root123 

[root@localhost ~]# passwd zhang3

 此处密码设置为 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 

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

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

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

语法格式

        userdel [-r] 账户名

选项及作用

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

案例

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

[root@localhost ~]# userdel -r yang99

用户切换 --- 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文件

 

找到以下行: Defaults env_reset ,并修改为, Defaults env_reset, timestamp_timeout=30

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值