|NO.Z.00033|——————————|LinuxBasicEnd|——|Linux&用户管理.V03|

Posted yanqi_vip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了|NO.Z.00033|——————————|LinuxBasicEnd|——|Linux&用户管理.V03|相关的知识,希望对你有一定的参考价值。

一、用户管理命令:添加用户
### --- 手工删除用户
~~~     手工删除用户试验:手工删除,如果可以正常建立用户,证明用户删除干净。

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home/user1
/var/spool/mail/user1                                           // 邮箱

### --- useradd 命令
### --- useradd 选项 用户名
### --- 选项:

~~~     -u       550 指定 UID
~~~     -g       组名  指定初始组 不要手工指定
~~~     -G       组名  指定附加组,把用户加入组,使用附加组
~~~     -c       说明  添加说明    
~~~     -d       目录  手工指定家目录,目录不需要事先建立
~~~     -s       shell   /bin/bash.
 
### --- 例如:
[root@localhost ~]# groupadd lamp1
~~~     先手工添加 lamp1 用户组,因为我一会要把 lamp1 用户的初始组指定过来,
~~~     如果不事先建立,会报错用户组不存在
 
[root@localhost ~]# useradd -u 550 -g lamp1 -G root -d /home/lamp1 \\
-c "test user" -s /bin/bash lamp1
~~~     建立用户 lamp1 的同时指定了 UID(550),初始组(lamp1),附加组(root),
~~~     家目录(/home/lamp1),用户说明(test user)和用户登录 shell(/bin/bash)

[root@localhost ~]# grep "lamp1" /etc/passwd /etc/shadow /etc/group
~~~     同时查看三个文件
/etc/passwd:lamp1:x:550:502:test user:/home/lamp1:/bin/bash
~~~     用户的 UID、初始组、用户说明、家目录和登录 shell 都和命令手工指定的一致
/etc/shadow:lamp1:!!:15710:0:99999:7:::
~~~     lamp1 用户还没有设定密码
/etc/group:root:x:0:lamp1
~~~     lamp1 用户加入了 root 组,root 组是 lamp1 用户的附加组
/etc/group:lamp1:x:502:
~~~     GID502 的组是 lamp1 组
~~~     家目录也建立了啊。不需要手工建立家目录
[root@localhost ~]# ll -d /home/lamp1/
drwx------ 3 lamp1 lamp1 4096 1 月
6 01:13 /home/lamp1/
 
### --- useradd 默认值
### --- useradd 添 加 用 户 时 参 考 的 默 认 值 文 件 主 要 有 两 个 , 
~~~     分 别 是 /etc/default/useradd 和/etc/login.defs     /etc/default/useradd
[root@localhost ~]# vi /etc/default/useradd
~~~     useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
 
### --- 挨个解释下:

GROUP=100
~~~     这个选项是建立用户的默认组,也就是说添加每个用户时,
~~~     用户的初始组就是 GID 为 100 的这个用户组。目前我们采用的机制私有用户组机制。
HOME=/home
~~~     这个选项是用户的家目录的默认位置,所以所有的新建用户的家目录默认都在/home/下。
INACTIVE=-1
~~~     这个选项就是密码过期后的宽限天数,也就是/etc/shadow 文件的第七个字段。
~~~     如果是天数,比如 10 代表密码过期后 10 天后失效;如果是 0,代表密码过期后立即失效;
~~~     如果是-1,则代表密码永远不会失效。这里默认值是-1,所以所有新建立的用户密码都不会失效。
EXPIRE=
~~~     这个选项是密码失效时间,也就是/etc/shadow 文件的第八个字段。
~~~     也就说用户到达这个日期后就会直接失效。当然这里也是使用时间戳来表示日期的。
~~~     默认值是空,所以所有新建用户没有失效时间,永久有效。
SHELL=/bin/bash
~~~     这个选项是用户的默认 shell 的。/bin/bash 是 Linux 的标志 shell,
~~~     所以所有新建立的用户默认都具备 shell 赋予的权限。
SKEL=/etc/skel
~~~     这个选项就是定义用户的模板目录的位置,
~~~     /etc/skel/目录中的文件都会复制到新建用户的家目录当中。
CREATE_MAIL_SPOOL=yes
~~~     这个选项定义是否给新建用户建立邮箱,默认是创建,
~~~     也就是说所有的新建用户系统都会新建一个邮箱,放在/var/spool/mail/下和用户名相同。
### --- /etc/login.defs

[root@localhost ~]# vi /etc/login.defs
~~~     这个文件有些注释,把注释删除掉,文件内容就变成下面这个样子了
MAIL_DIR            /var/spool/mail
PASS_MAX_DAYS       99999
PASS_MIN_DAYS       0
PASS_MIN_LEN        5
PASS_WARN_AGE       7
UID_MIN             500
UID_MAX             60000
GID_MIN             500
GID_MAX             60000
CREATE_HOME         yes
UMASK               077
USERGROUPS_ENAB     yes
ENCRYPT_METHOD SHA512
### --- 我们一行一行解释下文件内容:

MAIL_DIR        /var/spool/mail
~~~     这行指定了新建用户的默认邮箱位置。
~~~     比如 user1 用户的邮箱是就是/var/spool/mail/user1。
~~~     PASS_MAX_DAYS   99999
~~~     这行指定的是密码的有效期,也就是/etc/shadow 文件的第五字段。
~~~     代表多少天之后必须修改密码,默认值是 99999。
PASS_MIN_DAYS   0
~~~     这行指定的是两次密码的修改间隔时间,也就是/etc/shadow 文件的第四字段。
~~~     代表第一次修改密码之后,几天后才能再次修改密码。默认值是 0。
PASS_MIN_LEN        5
~~~     这行代表密码的最小长度,默认不小于 5 位。
~~~     但是我们现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。
PASS_WARN_AGE   7
~~~     这行代表密码修改到期前的警告天数,也就是/etc/shadow 文件的第六字段。
~~~     代表密码到底有效期前多少天开始进行警告提醒,默认值是 7 天。
UID_MIN     500
UID_MAX     60000
~~~     这两行代表创建用户时,最小 UID 和最大的 UID 的范围。我们 2.6.x 内核开始,
~~~     Linux 用户的 UID32UID 是 550,那么下一个创建的用户的 UID 就会从 551 开始,
~~~     哪怕 500-549 之间的 UID 没有使用(小于 500 的 UID 是给伪用户预留的)。
GID_MIN 500
### --- 最大可以支持 2 这么多,但是真正使用时最大范围是 60000。

~~~     还要注意如果我手工指定了一个用户的 
GID_MAX  60000
~~~     这两行指定了 GID 的最小值和最大值之间的范围。
CREATE_HOME yes
~~~     这行指定建立用户时是否自动建立用户的家目录,默认是建立
UMASK   077
~~~     这行指定的是建立的用户家目录的默认权限,因为 umask 值是 077,
~~~     所以新建的用户家目录的权限是 700,
~~~     umask 的具体作用和修改方法我们可以参考下一章权限设定章节。
USERGROUPS_ENAB yes
~~~     这行指定的是使用命令 userdel 删除用户时,是否删除用户的初始组,默认是删除。
ENCRYPT_METHOD  SHA512
~~~     这行指定 Linux 用户的密码使用 SHA512 散列模式加密,这是新的密码加密模式,
~~~     原先的 Linux只能用 DES 或 MD5 方式加密

所有值使用默认值添加用户:实验专题

### --- 所有值使用默认值添加用户<——
### --- 用户添加用户

[root@server11 ~]# useradd yanqi
[root@server11 ~]# cat /etc/passwd
yanqi:x:1001:1001::/home/yanqi:/bin/bash
 
### --- 为用户设置密码

[root@server11 ~]# passwd yanqi
New password: 
Retype new password: 
[root@server11 ~]# cat /etc/shadow
yanqi:$6$ScNDYxzB$OxNktWeWuW4Y0BkbHpqbPTZYmhm9oW7/UN96ZAw0HiK7jp8/3obeQcpgvF6rF31Me0D8X3Wy2V1wCLueFhm5l0:18696:0:99999:7:::
 
~~~     ——>添加特定值的用户<——生产环境不会使用

[root@server11 ~]# useradd -u 550 -c "test yanqitest" -d /yanqitest -s /bin/bash yanqitest
[root@server11 ~]# cat /etc/passwd
yanqitest:x:550:100cat2:test yanqitest:/yanqitest:/bin/bash
 
~~~     ——>添加组名<——生产环境中会使用到的
### --- 添加2个用户并把它指定到yanqi组里
~~~     说明:说明yanqitest1是没有建立的组;若是需要把用户加入到特定组里,建议使用-G

[root@server11 ~]# useradd -g yanqi yanqitest1
[root@server11 ~]# useradd -G yanqi yanqitest2
[root@server11 ~]# cat /etc/passwd
yanqitest1:x:1002:1001::/home/yanqitest1:/bin/bash
yanqitest2:x:1003:1003::/home/yanqitest2:/bin/bash
[root@server11 ~]# cat /etc/group
yanqitest2:x:1003:
 
### --- ——>useradd的默认值<——

[root@server11 ~]# cat /etc/default/useradd 
GROUP=100                                                       // 建立用户的默认组
HOME=/home                                                      // 用户家目录位置
INACTIVE=-1                                                     // 密码过去后的宽限天数
EXPIRE=                                                         // 密码的失效时间
SHELL=/bin/bash                                                 // 使用bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes                                           // 给每一个用户创建邮箱
[root@server11 ~]# cat /etc/login.defs
PASS_MAX_DAYS   99999                                           // 最大密码间隔时间
PASS_MIN_DAYS   0                                               // 密码最小间隔时间
PASS_MIN_LEN    5                                               // 最小密码长度
PASS_WARN_AGE   7                                               // 密码修改天数
UID_MIN                  1000                                   // UID的设定范围
UID_MAX                 60000
SYS_UID_MIN               201                                   // GID的设定范围
SYS_UID_MAX               999

二、设定密码

### --- 设定密码
### --- 选项:
~~~     -l:          暂时锁定用户。仅 root 用户可用
~~~     -u:          解锁用户。仅 root 用户可用
~~~     --stdin: 可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用

[root@localhost ~]#passwd [选项] 用户名
 
~~~     passwd 直接回车代表修改当前用户的密码
~~~     也可以使用字符串作为密码:
[root@localhost ~]#passwd

~~~     更改用户 user1 的密码 。
~~~     可以通过命令,把密码修改日期归零(shadow 第 3 字段).这样用户一登陆就要修改密码,例如:
[root@localhost ~]# echo "123" | passwd --stdin user1
[root@localhost ~]# chage -d 0 user1
超级用户可以修改任何用户的密码:实验专题
### --- 超级用户可以修改任何用户的密码
### --- 普通用户只能修改自己的密码

[yanqi@server11 ~]$ passwd                                        // 普通用户修改自己的密码,直接使用passwd即可
(current) UNIX password: 
New password: 
 
### --- 锁定用户

[root@server11 ~]# passwd -l yanqi
Locking password for user yanqi.
passwd: Success
[root@server11 ~]# cat /etc/shadow
yanqi:!!$6$ScNDYxzB$OxNktWeWuW4Y0BkbHpqbPTZYmhm9oW7/UN96ZAw0HiK7jp8/3obeQcpgvF6rF31Me0D8X3Wy2V1wCLueFhm5l0:18696:0:99999:7:::
 
### --- 在密码位前加入2个感叹号;锁定密码
### --- 解锁用户

[root@server11 ~]# passwd -u yanqi
Unlocking password for user yanqi.
passwd: Success
[root@server11 ~]# cat /etc/shadow
yanqi:$6$ScNDYxzB$OxNktWeWuW4Y0BkbHpqbPTZYmhm9oW7/UN96ZAw0HiK7jp8/3obeQcpgvF6rF31Me0D8X3Wy2V1wCLueFhm5l0:18696:0:99999:7:::
 
### --- 使用字符串设置密码

[root@server11 ~]# echo "123" | passwd --stdin yanqi
Changing password for user yanqi.
passwd: all authentication tokens updated successfully.
 
### --- 修改用户的密码修改时间改为0
 
[root@server11 ~]# chage -d 0 yanqi
yanqi:$6$.brNdrPm$KYibkCHjlTOnvCO89WY.Sy39tIpVlod6tf.PGAti5NOVgFFDoiXBatzSK6kdhujS6O7GvNWW3kLuOE3aEDIQ00:0:0:99999:7:::
 
### --- 重新登录yanqi用户,会让你强制更改密码

WARNING! The remote SSH server rejected X11 forwarding request.
You are required to change your password immediately (root enforced)
Last login: Thu Feb  4 10:06:47 2021 from 20.20.20.240
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user yanqi.
Changing password for yanqi.
(current) UNIX password:                                          // 强制修改新的密码
[root@server11 ~]# cat /etc/shadow
yanqi:$6$NmOAT5Cs$jZ84jnrfWzMy0mBjON6N8a.NLnaapYPRag2BXBnENNqRZjWujhJO8T4LOigM9GxcJh0Rp.bYN7On20BkU2TOv/:18696:0:99999:7:::

三、用户信息修改
### --- 用户信息修改
### --- usermod 命令是修改已经添加的用户的信息的,命令如下:
### --- 选项:
~~~     -u UID:          修改用户的 UID
~~~     -d 家目录:        修改用户的家目录。家目录必须写绝对路径
~~~     -c 用户说明:      修改用户的说明信息,就是/etc/passwd 文件的第五个字段
~~~     -g 组名:         修改用户的初始组,就是/etc/passwd 文件的第四个字段
~~~     -G 组名:         修改用户的附加组,其实就是把用户加入其他用户组
~~~     -s shell:        修改用户的登录 Shell。默认是/bin/bash
~~~     -e 日期:         修改用户的失效日期,格式为“YYYY-MM-DD”。也就是/etc/shadow文件的第八个字段
~~~     -L:              临时锁定用户(Lock)    
~~~     -U:              解锁用户(Unlock)
~~~     有学员突发奇想,问超哥,那用户可以修改用户名吗?当然可以:

[root@localhost ~]# usermod [选项] 用户名
 
### --- 改名
### --- 但是真不建议改名,这样及其容易把管理员自己搞晕菜,建议删除旧用户,再建立新用户!

[root@localhost ~]# usermod -l 新名 旧名

用户信息修改:实验专题

### --- 用户信息修改:实验专题
### --- 修改已存在的用户到特定组里
### --- 将yanqi1和yanqi2添加到yanqi组里

[root@server11 ~]# usermod -G yanqi yanqi1                          // 将yanqi1用户添加到yanqi组里
[root@server11 ~]# usermod -G yanqi yanqi2                          // 将yanqi2用户添加到yanqi组里
[root@server11 ~]# cat /etc/group
yanqi:x:1001:yanqi1,yanqi2

四、删除用户

### --- 删除用户
### --- 选项:
~~~     -r: 在删除用户的同时删除用户的家目录

[root@localhost ~]# userdel [-r] 用户名

删除用户:实验专题

### --- 删除用户:实验专题
[root@server11 ~]# ll /home/
drwx------   3 test   test     78 Mar 10 20:46 test
drwx------   3 yanqi  yanqi    78 Mar 10 20:37 yanqi
drwx------   3 yanqi1 yanqi1   78 Mar 10 20:39 yanqi1
drwx------   3 yanqi2 yanqi2   78 Mar 10 20:39 yanqi2
 
### --- 删除用户
[root@server11 ~]# userdel -r test                                   // 删除用户-r同步删除用户家目录

五、切换用户身份

### --- 切换用户身份
### --- su 命令可以切换成不同的用户身份,命令格式如下:
### --- 选项:
~~~     -:       选项只使用“-”代表连带用户的环境变量一起切换
~~~     -c 命令: 仅执行一次命令,而不切换用户身份
~~~     “-”不能省略,它代表切换用户身份时,用户的环境变量也要切换成新用户的环境变量。

[root@localhost ~]# su [选项] 用户名

切换用户身份:实验专题

### --- 切换用户身份:实验专题

[root@server11 ~]# su yanqi
[yanqi@server11 ~]$ su root                                        // 直接写入root环境变量不会发生变化
Password: 空格
[root@server11 ~]# env
USER=yanqi
[yanqi@server11 ~]$ su - root                                      // 和环境变量一起切换
[root@server11 ~]# env
USER=root

 

 

 

 

 

 

 

   
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warmd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor
 

 

以上是关于|NO.Z.00033|——————————|LinuxBasicEnd|——|Linux&用户管理.V03|的主要内容,如果未能解决你的问题,请参考以下文章

js 点击列表li,获得当前li的id

CSS样式中 li + li表示啥意思?

jquery点击li标签之后在该li标签上添加一个class,点击下一个li时删除上一个li的class

li点击弹出序号

事件委托性能优化

遍历ul下的li,点击弹出li的索引