第四课笔记

一、shadow passwd文件结构

1./etc/passwd

1.png

passwd文件是存放用户的基本信息的。

passwd共有7个字段分别以冒号:隔开。

1.帐号名称

2.密码 

现在放在了/etc/shadow里面了。用x代替。

3.UID 

0为系统管理员,其他账号UID为0时拥有root权限。 

1~499为系统账号 

500~$一般用户登录的账号。

4.GID 

与/etc/group有关。

5.用户信息说明

6.主文件夹

7.shell类型

2./etc/shadow

2.png

shadow是存放帐号密码的问题。

1.账号名称 

对应/etc/passwd的第一列

2.经过加密的秘密

3.最近更改密码的日期 

以1970年月1日开始算到今天的日期

4.密码不可被更改的天数。与第三段相比。 

如果为3,最近更改过密码的日期,3天内不能修改密码。

5.密码需要被更改的天数。与第三段相比。 

99999计算为273年,表示没有限制之意。

6.密码休要更改期限前的警告天数,与第五段相比。 

如果为3,第5段到期前3天提醒该用户。

7.密码过期后的宽限日。与第五段相比。 

第五段天数密码过期后,密码可以登录,需要重置密码才能继续使用。

8.账户失效日期 

和第三段一样使用1970年的日期来计算。到期后不能继续使用。用于收费服务。

9.保留。

二、用户管理 useradd userdel usermod

1.useradd命令

新增用户

语法:

useradd [选项]  [用户名]

u:指定UID 

g:指定GID或所属组 

G:次要用户组 

m:强制创建家目录,默认 

M:强制不创建家目录。 

c:说明栏。 

d:家目录的绝对路径。 

s:shell类型 /bin/bash ; /sbin/nologin 

r:系统账户

实例:

创建账户 wang 次要用户组users 不创建家目录 不允许登录 说明栏shaojun 指定UID 630 

useradd -G users -M -s /sbin/nologin -c shaojun -u 630 wang

创建系统账号wang1 ,系统账号没有家目录

useradd -r wang1 

useradd的配置文件

1.png

GROUP=100,新建账号的初始用户组使用的GID为100 

CentOS上面默认的用户组和账号相同的用户组,针对用户组的角度有两种不同的极致所致,分别为私有用户组机制和公用用户组机制。私有就是CentOS的这种一用户一用户组,目录权限为700。公用机制就是新用户默认使用同一个用户组,目录权限755。CentOS是私有用户组机制,不会生效。

Home=/home 用户主文件夹的基准目录

INACTIVE=-1 密码过期后是否会失效的设置值 

0表示密码过期后立即失效。-1 表示密码永远不会失效。30表示密码过期后30天失效。

EXPIRE= 账户失效的日期

SHELL=/bin/bash 默认使用的shell程序 

不允许用户登录可以设置成/sbin/nologin

SKEL=/etc/skel 用户主文件夹的参考基准目录 

用户的家目录就是把这个目录复制过去的。skel目录下有什么文件,新用户的家目录里面就有什么文件。

CREATE_MAIL_SPOOL=yes 创建用户的mailbox 

用户的邮件箱在/var/spool/mail/用户名

2.png

MAIL_DIR 

mailbox所在目录

PASS_MAX_DAYS 

/etc/shadow的第5字段,多久更改一次密码

PASS_MIN_DAYS 

shadow的第4段,多久不可重新更改密码

PASS_MIN_LEN 

密码最短字符长度,已被PAM模块代替,失效。

PASS_WARN_AGE 

shadow的第6段,过期前多少天警告。

UID_MIN 

用户可使用最小的UID

UID_MAX 

用户可使用最大的UID

GID_MIN

GID_MAX

CREATE_HOME 

是否创建用户家目录

UMASK 

用户家目录的umask,目录权限为700

USERGROUPS_ENAB 

使用userdel删除时,是否删除初始用户组。

ENCRYPT_METHOD 

加密方式

使用useradd创建用户至少参考

/etc/default/useradd

/etc/login.defs

/etc/skel/*

2.usermod命令

修改用户的参数

语法:

usermod [选项] [username]

参数:

c:账号说明/etc/passwd第5列 

d:家目录,/etc/passwd第6列 

e:日期,格式:YYYY-MM-DD,/etc/shadow第8列 

f:天数。shadow的第7段 

g:初始用户组 

G:次要用户组 

a:与-G合用。增加用户组的支持而非设置。 

l:账号名称,/etc/passwd的第1列 

s:修改shell类型 

u:UID数字 

L:暂时将用户密码冻结。其实仅修改/etc/shadow的密码 

U:将/etc/shadow密码列的!去掉。

实例:

修改用户 wang 的UID 为 1002

usermod -u 1002 wang

3.userdel命令

删除用户以及相关数据。

语法:

userdel  [选项] [用户名]

选项:

r:连同用户的主文件夹也一起删除。

如果只是暂时不启用该账号,将/etc/shadow的第8段设置为0,相关数据就回留下来。 

如果真的想把该账户完整的删除,userdel -r username之前,先 find / -user username 查出属于username的文件。

实例:

删除用户wang,并删掉家目录

userdel -r wang

三、用户组管理 groupadd groupdel groupmod gpasswd

1.groupadd命令

新增用户组

语法:

groupadd [-g gid] [-r] 用户组名

选项:

g:指定为占用的GID 

r:新建系统用户组,与/etc/login.defs内的GID_MIN有关

实例:

新建一个用户组,gid为1655  名称为group1

groupmod -g 1656 -n group2 group1

2.groupmod命令

修改用户组的相关参数

语法:

groupmod [-g gid] [-n group_name] 用户组名

选项:

g:指定新的GID,必须为不存在的

-n:指定新的用户组名字。

实例:

修改group1的gid为 1656 更名为group2 

groupmod -g 1656 -n group2 group2

3.groupdel命令

删除用户组

语法:

groupdel  用户组名

实例:

删掉group2这个用户组。

如果用户组删除失败,可能是该用户组里面有用户,将用户usermod -g 更改用户组,即可删除。

groupdel group2

4.gpasswd命令

就是让某个用户组拥有一个管理员,管理员可以管理账号加入或移除该用户组。

root操作:

gpasswd group_nameg //设置用户组密码

passwd -A user1 -M user2,user3 group_name //-A添加管理员,-M添加用户

gpasswd [-rR] group_name //-r删除密码,-R密码栏失效

管理员操作:

gpasswd -a user4 group_name //新增user4用户到用户组

gpasswd -d user2 group_name //删除user2用户

四、mkpasswd命令 随机生成密码

1.mkpasswd命令

mkpasswd命令 是make password的简写。可以随机生成字符串。

2.mkpasswd命令使用方法

安装:

# yum install -y expect

语法:

mkpasswd [选项] [参数]

选项:

-l:指定长度

-d:数字的个数

-c:小写字母个数

-C:大写字母个数

-s:特殊字符个数

3.实例

生成一个15位的密码,特殊符号0个,数字5个

# mkpasswd -l 15 -s 0 -d 5

zv63Zw2Uj8mp1cy

五、passwd命令

1.passwd命令

创建帐号之后,该帐号是被封闭的,需要用时 passwd 命令设置密码。

如果想更改密码,用户可以自己执行 passwd 命令修改密码。

如果用户自己忘记了密码。可以让 root 执行 passwd username 来修改密码。

2.passwd命令的使用方法

语法:

passwd [选项] [用户名]

选项:

--stdin:通过前一个管道的数据作为密码输入,对shell script有用。 

-l:lock 锁定的意思,将/etc/shadow的第二列前面加!,使密码失效。 

-u:unlock 解锁的意思 ,与l相反。

S:列出密码相关的信息。 

nxwi:接天数,分别shadow的第4567段。

3.passwd命令实例

修改当前用户的密码

# passwd

修改普通用户 wang 的密码

# passwd user1

锁定user1的密码

# passwd -l user1

锁定用户 user1 的密码 。

# cat /etc/shawod //两个感叹号表示锁定的意思,用户不能登录

user1:!!$6$emJiiHP0$nrWaUvhAmv.cOuXJJp9/jiZ.Aqwngb9YgGVtx6g7yzCvMqJkecDogtls9CPEDbD4hSuBphXQB.wLMxCblHB3U1:17619:0:99999:7:::

解锁user1的密码

# passwd -u user1

4.一条命令修改密码 用于shell脚本

passwd --stdin 选项可以只输入一遍密码即可更改密码。

echo -e "xxx\nxxx" -e选项支持换行扩展,可以使passwd不加选项更改密码。

修改user1的密码

echo "123456789" |passwd --stdin user1

echo -e "123456789\n123456789" |passwd user1

六、su命令 切换用户

1.su命令

su命令可以切换用户的命令,切换时需要输入用户名和密码。

2.su命令的使用方法

su  username //切换到指定的用户,不加载配置文件和环境变量。

su - username //切换到指定的用户,加载配置文件和环境变量。

su - -c "touch /ymp/1.txt"  username //用指定用户的身份执行一条命令。

3.实例

切换到用户 wang ,加载其配置。

# su - wang

退回到root权限,两种均可。

$ exit

$ logout

使用用户 wang 的身份 在/tmp下创建一个文件。

# su - -c "touch /tmp/wang.txt" wang

# ll /tmp/wang.txt    

七、sudo命令

1.sudo命令

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

2.sudo的配置文件详解

sudo的配置文件是:/etc/sudoers

修改配置文件内容建议使用:visudo命令

[root@wangshaojun-01 ~]# visudo

root    ALL=(ALL)       ALL

root:授权的用户

ALL:来源IP,可以写IP段。

(ALL):以哪个用户身份运行

ALL:可以写命令,前面加上NOPASSWD: 则不用输入密码。

用户和命令栏,可以分组

Cmnd_Alias CMDS = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

User_Alias ADMINS = user1, user2, wang

3.实例

修改配置文件使用户 wang ,有ls touch命令权限。

[root@wangshaojun-01 ~]# visudo

wang    ALL=(ALL)       /usr/bin/ls, /usr/bin/cat

[wang@wangshaojun-01 ~]# su - wang

[wang@wangshaojun-01 ~]$ ls /root/

[wang@wangshaojun-01 ~]$ sudo ls /root/

[sudo] wang 的密码:

1.txt  2.txt  4.txt  anaconda-ks.cfg

修改配置文件通过alias的方式,使用户 wang user1 ,有ls,cat,su的命令权限

[root@wangshaojun-01 ~]# visudo

User_Alias USERS = wang, user1

Cmnd_Alias CMDS = /usr/bin/ls, /usr/bin/cat, /usr/bin/su

USERS   ALL=(ALL)       CMDS

[root@wangshaojun-01 ~]# su - user1

[user1@wangshaojun-01 ~]$ sudo su - root

[sudo] user1 的密码:

[root@wangshaojun-01 ~]#

转载于:https://my.oschina.net/u/3851573/blog/1815638

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值