用户管理相关配置文件及命令

9月19日任务

2.27linux和windows互传文件

3.1 用户配置文件和密码配置文件

3.2 用户组管理

3.3 用户管理

 

扩展知识

实用小工具

简单命令行下实现Linux/Windows文件互传

前提:使用远程工具Xshell/SecureCRT登录远程Linux服务器(暂不支持putty)

安装:yum install -y lrzsz

使用:

  • rz:Windows内文件传至Linux

        用法: rz + 回车键

a4311ab266ade3099ab2b1bc8ea0ee1303e.jpg

rz传递的文件默认保存在Linux系统的当前目录下,也可以更改存放目录

 

  • sz:Linux内文件传至Windows

        用法: sz + File[s]+ Enter

        只能传递文件,无法传整个目录

 

用户配置文件 /etc/passwd

该文件每行代表一个用户,每行由7个字段组成,用冒号分割

[root@localhost ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
.....

以第一列为例:root:x:0:0:root:/root:/bin/bash

 

  1. 用户名:代表用户账号的用户名;本例中为root

  2. 密码:在以前存储着该用户的密码,但是发现不安全,使用x占位,真实密码在/etc/shadow文件内(加密);本例中为x

  3. uid:用户标识号,取值范围为0-65535,对于6.x版本的普通用户uid从500开始,7.x版本从1000开始, root用户的uid为0,0-499表示系统用户;本例中为0

  4. gid:组标识号;本例中为0

  5. 注释说明:对用户进行说明,可选内容,使用chfn修改;本例中为root

  6. 用户家目录:可以在/etc/passwd内修改;本例中为/root

  7. 用户登录shell:有sh、bash、zsh、csh、tcsh等,设置了/sbin/nologin的用户不允许登录;本例中为/bin/bash

 

密码配置文件 /etc/shadow

专门用来设置用户秘密的文件,每一行对应与/etc/passwd的每一行的用户的密码信息; 同样以冒号分割为9个字段

[root@localhost ~]# head /etc/shadow
root:$6$uvD2N3N9$/lS24AXbOwnQWQcDwuZ0Fc2Dn2UJFTS99rW2Nz08M46ZrJ8hs7QaGUNtANSnvWYucY8HVSkN/2CH4S4MoSctK.:17408:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
shutdown:*:15980:0:99999:7:::
halt:*:15980:0:99999:7:::
mail:*:15980:0:99999:7:::
uucp:*:15980:0:99999:7:::
...

可以使用man shadow查看/etc/shadow文件内容具体含义

具体每列含义如下:

  1. 用户名:对应/etc/passwd文件的用户名

  2. 密码:真实密码(已加密,无法从该加密的字符串获取真实密码),*表示无密码

  3. 上次更改密码的时间:自1970.1.1以来的天数

  4. 过多少天后才可以修改密码:默认为0,表示不受限

  5. 密码多少天后到期,必须修改:默认99999,表示不需修改

  6. 密码到期前的警告天数:默认为7,到期前7天警告

  7. 账户失效期限:密码到期后n天,账户失效

  8. 账户的生命周期:代表账户在该日期前可以使用,到期后账户被作废(自1971.1.1以来的天数)

  9. 保留使用

系统会自动将/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow文件进行备份,

如果误操作,可以将对于的如passwd-文件拷贝后恢复。需要注意的是2个文件可能存在部分差别,但关系不大。

 

用户组管理

普通用户默认的uid/gid从1000开始(centos6.x从500开始)

[root@localhost ~]# groupadd castiel
[root@localhost ~]# tail -n 1 /etc/group
castiel:x:1000:
创建组

用法:groupadd [-g gid] group

[root@localhost ~]# groupadd -g 1024 test
[root@localhost ~]# tail -n 1 /etc/group
test:x:1024:

# 不指定gid,默认从之前最大的gid后一个开始;
# 如果未设置或普通组,会从1000开始计数
[root@localhost ~]# tail -n 1 /etc/group
test1:x:1025:
删除组

用法:groupdel group (删除组的前提:组内无用户)

[root@localhost ~]# groupdel test1
[root@localhost ~]# tail -n 1 /etc/group
test:x:1024:
之前最后一个显示的test1组已经删除

用户管理

新增用户 useradd

几个常用参数

  • -u 指定新增用户的uid或用户名;默认1000或在最大uid基础上+1;

  • -g 指定新增用户的gid或组名(必须是已存在的组);默认等于uid值,如果该值已被使用,就在该值上自增1,否则不会自增加;

  • -d 指定新增用户的家目录;默认/home/USER;

  • -M 表示新增用户时不创建同名家目录;

  • -s 指定其登录使用的shell;默认/bin/bash;

  • -p 创建新用户的同时指定密码;默认无密码;

  • -r 创建系统用户(不加默认创建普通用户);

  • -e 设置账户到期日期,格式YYYY-MM-DD;默认永不到期;

  • -f 账户到期至其失效的天数;默认为7;

  • -G 指定扩展组(一个用户有多个所属组);默认不加入任何扩展组;

使用useradd新建用户,参数可以随意搭配,不指定即为默认值

# 注意指定-g的时候,该gid的组必须存在,否则会出错
# 不指定-g参数时,默认会创建同名的组,
# gid的值从最大的gid后按顺序使用;
# 默认的uid的值也同样按顺序选择
[root@localhost ~]# groupadd -g 1080 test

# 一次性指定uid、gid、家目录、shell、密码、
# 到期日期、到期后失效天数
[root@localhost ~]# useradd -u 1024 \
> -g 1080 \
> -d /home/test \
> -s /bin/chsh \
> -p 123456 \
> -e 2017-10-25 \
> -f 2 \
> -G castiel test

[root@localhost ~]# tail -n1 /etc/passwd
test:x:1024:1080::/home/test:/bin/chsh

# 使用-p指定的密码,在/etc/shadow内是明文显示的,不太安全!!
# 但适合在脚本内创建用户!
[root@localhost ~]# tail -n1 /etc/shadow
test:123456:17460:0:99999:7:2:17464:
# 17464即2017-10-25

# -G 将test组加到了castiel用户的扩展组内
[root@localhost ~]# tail -n 2 /etc/group
castiel:x:1000:test
test1:x:1080:
删除用户 userdel
  • -r 参数 删除用户的同时删除其家目录(包括其内的文件)

  • 不加-r参数 用户的家目录及email文件不会被删除(未完全删除用户)

等效于-r参数的操作:执行userdel命令后手动删除用户家目录和/var/spool/mail/USER目录

# 创建2个普通用户,会同时创建同名组、家目录以及email文件
[root@localhost ~]# useradd test1
[root@localhost ~]# useradd test2

# 以加不加参数作为对照
[root@localhost ~]# userdel test1
[root@localhost ~]# userdel -r test2

# /etc/passwd和/etc/shadow文件内的信息已删除
[root@localhost ~]# tail -n 2 /etc/passwd /etc/shadow
==> /etc/passwd <==
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
castiel:x:1000:1000::/home/castiel:/bin/bash

==> /etc/shadow <==
chrony:!!:17456::::::
castiel:!!:17460:0:99999:7:::

# test2用户的家目录以及mail文件已删除,test1还在(删除不彻底)
[root@localhost ~]# ls -ld /home/test1 /home/test2 /var/spool/mail/test1 /var/spool/mail/test2
ls: 无法访问/home/test2: 没有那个文件或目录
ls: 无法访问/var/mail/test2: 没有那个文件或目录
drwx------. 2 1001 1001 62 ... /home/test1
-rw-rw----. 1 1001 mail  0 ... /var/mail/test1

关于用户创建时的mail文件,它实际上会创建2个文件:/var/spool/mail/USER和/var/mail/USER,

这2个文件互为硬连接

[root@localhost ~]# ls -li /var/spool/mail/test1  /var/mail/test1
17061940 -rw-rw----. 1 1001 mail 0 ... /var/mail/test1
17061940 -rw-rw----. 1 1001 mail 0 ... /var/spool/mail/test1

手动删除用户步骤:

删除/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow文件中的用户信息

删除用户家目录

删除用户邮件文件/var/spool/mail/USER或/var/mail/USER

 

usermod命令

更改用户属性

常用参数
  • -g 修改用户gid或组名(组需存在)

  • -u 修改uid或用户名

  • -G 设置用户还属于的扩展组

        对于-G参数需要注意的是后接的扩展组只有一个组时,再次使用相同方法想添加扩展组会不行的,它将覆盖原扩展组!

        同时创建多个扩展组的方法是将多个组用逗号连接一起设置!!

  • -s 修改shell

  • -d 修改家目录

  • -e 修改过期日期

  • -f 修改账户到期至其失效的天数

  • -L 锁定用户,不让其登录

  • -U 解锁因-L锁定的用户

用户密码管理

用法:passwd USER(不加USER,修改当前用户的密码;/etc/passwd文件有set_uid位,使得普通用户也可以修改自己的密码)

对于/etc/shadow文件的第二个密码字段

  • !! 没有密码,无法登录

  • * 密码被锁定,无法使用、登录

  • 一串字符串,表示用户有密码但 加密

        凡是有!!或*,表明账户无法登录

 

常用用法

锁定密码: passwd -l USER

执行该命令后有密码的用户会在其/etc/shadow文件的密码字段(加密的字符串)前加上!!;

解锁密码:passwd -u USER

--stdin,密码只需要输入一次:passwd --stdin USER

关于密码的几个建议
  • 长度大于10个字符

  • 包含大小写、数字和特殊字符

  • 不规则性(不要全字母或数字)

  • 不要包含自己的生日、姓名等易被获取的信息

  • 不要多个账户共用一个密码

 

mkpasswd命令

使用命令来创建密码

安装: yum install expect

使用方法

-l num 创建的密码长度

-d num 创建的密码中数字的个数

-s num 创建的密码中特殊字符的个数

-C num 创建的密码中大写数字的个数

-c num 创建的密码中小写数字的个数

不加参数,默认创建的密码长度为9位,包含大小写字母、数字和特殊字符!

[root@centos7 ~]# mkpasswd
nf72HG?ra
[root@centos7 ~]# mkpasswd -l 12 -c 3 -C 5 -s 2
W$]46NkcADfX

 

转载于:https://my.oschina.net/u/3964535/blog/2055990

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值