LInux用户管理

LInux用户管理,第1张

Linux 维持多个人使用同一个用户登录系统, Windows 在修改组策略的情况下,也可以多个使用同一个用户登录

远程连接Linux的方式:SSH协议

远程连接Windows的方式:RDP协议

安卓手机(Linux系统):root 刷机,使用root用户登录系统

Usage:id [选项] [用户名]

# id ,查看当前登录的用户信息

-u:查看用户的uid

-g:查看用户的gid

-G:查看用户的属组

[root@localhost ~]# id

uid=0(root) gid=0(root) 组=0(root)

[root@localhost ~]# id qiandao

uid=1001(qiandao) gid=1001(qiandao) 组=1001(qiandao)

[root@localhost ~]# id -g cls

1001

[root@localhost ~]# id -u cls

666

[root@localhost ~]# id -G cls

1001

[root@localhost ~]# id

uid=0(root) 用户id

gid=0(root) 用户组的id

组=0(root)

在系统中,不认识root,qiandao,zls

0:超级用户

uid=1001(qiandao)

gid=1001(qiandao)

groups=1001(qiandao)

[root@localhost ~]# ll /etc/passwd

-rw-r--r-- 1 root root 916 3⽉ 30 10:26 /etc/passwd

[root@localhost ~]# cat /etc/passwd

用户名 密码占位符 uid gid 注释信息 用户家目录 用户登录shell

root: x: 0: 0: root: /root: /bin/bash

cls: x: 666: 1001: : /home/cls: /bin/bash

wutenglan:x:777:1001:武藤兰老师是个好老师: /home/wutenglan:/bin/bash

[root@localhost ~]# ll /etc/shadow

---------- 1 root root 1088 3⽉ 30 10:50 /etc/shadow

[root@localhost ~]# cat /etc/shadow

qiandao :!! :18351 :0:99999:7:::

第一列:用户名

第二列:密码,!! 和 * 表示没有密码

第三列:上一次修改用户密码的时间(从1970年开始)/天

第四列:密码最少使用的天数(0 是 无限制)

第五列:密码过期天数 99999天

第六列:在密码过期的前7天,提示需要修改密码了,你的密码还有7天要过期了

第七列:密码过期后N天,强制提示修改密码

第⼋列:账户的失效时间,从1970年开始计算

第九列:保留

root:$6$iM1LuZaUuwyZrIg.$2X2Upu4KHmQoD1hzKHCzsmJqxPri9PlVDm5MYw/XdQsYgRpJaL

Iy1xWw0aDXLPePZNAcNRmfrYJrJgb6dmbu/.::0:99999:7:::

useradd

adduser

Usage:useradd [选项] [用户名]

默认情况下,在创建⽤户的时候,会创建一个和用户同名的组,并且把该用户加入该组

[root@localhost ~]# useradd zls

-u:(uid)指定uid

-g:(gid)指定gid,也可以指定组名

-G:(Group)指定附加组,如果加入多个附加组则用 逗号隔开

-M:不创建家目录

-s:(shell)指定登录的shell

-c:(comment)添加注释

-d:(directory)指定用户的家目录

-r:帮我们创建一个uid范围是201-999的系统用户,不创建家目录

userdel

Usage:userdel [选项] [用户名]

默认情况下,在删除用户的同时会把同名的用户组也删除,但是如果组内有其他用户,则不会删除组,

只删除用户

-r:删除用户的同时,删除用户的家目录,和用户的其他 邮件目录... (删除净)

usermod

Usage:usermod [选项] [用户名]

-u:修改uid

-g:修改gid

-G:修改附加组

-a:配合-G,在修改附加组的时候,起到追加效果(append)

-m:修改(迁移)家目录,必须配合 -d

-d:指定修改后的家目录

-s:修改登录的shell

-c:修改注释

-l:修改登录的用户名

-L:锁定用户(封号)

-U:解锁用户(解封)

id

whoami

1.什么是用户?

能够正常登录系统的,可以管理系统还有可以管理系统中的进程或者程序

02.Linux与windows系统的用户有什么区别?

linux          支持多用户同时登录

windows    默认不支持多用户同时登录

03.使用什么命令可以查看用户是否存在?

[root@oldboy ~]# id oldboy

[root@oldboy ~]# who

[root@oldboy ~]# whoami

root

04.跟用户相关的配置文件都有哪些?分别存放的是什么?

用户存放的信息文件  /etc/passwd

用户存放的密码文件 /etc/shadow

用户组信息文件 /etc/group

05./etc/passwd文件以':' 为分割符, 分为7个字段,请说明一下每个字段的具体含义?

字段名称              注释说明

1.用户名称            //用户的账号名称

2.密码占位符        //存放账户的口令,暂用x表示,密码保存在/etc/shadow

3.用户的UID        //用户标识号

4.用户基本组GID      //组标识号

5.用户注释          //用户详细信息

6.用户家目录        //root家目录是/root普通用户家目录存在/home/username(可自定义)

7.用户登录Shell    //用户登录Linux使用的shell  #cat /etc/shells

06./etc/shadow文件以':' 为分割符, 分为9个字段,请说明一下每个字段的具体含义?

字段名称                      注释说明

1.用户登陆名            //用户的账号名称

2.加密后的密码            //用户密码,这是加密过的口令(未设密码时为!!)

3.最近一次密码更改时间    //从1970年到最近一次更改密码时间之间过了多少天

4.密码最少使用几天        //密码最少使用几天才可以更改密码(0表示无限制)

5.密码最长使用几天      //密码使用多少天需要修改密码(默认99999永不过期)

6.密码到期前警告期限    //密码过期前多少天提醒用户更改密码(默认过期提前7天警告)

7.密码到期后保持活动的天数 //在此期限内, 用户依然可以登陆系统并更改密码, 指定天数过后, 账户被锁定

8.账户到期时间        //从1970年起,账户在这个日期前可使用,到期后失效。

9.标志                        //保留

07.什么是用户的UID?

用户的标识符  它和用户一一对应关系

User Identification  的缩写

08.不同的用户对应UID号范围是多少?

0            超级用户

1-200      系统用户

201-999  系统用户  (不需要登录)

1000+      普通用户

09.新建用户user1、user2,用户user2不允许登陆到系统中。

[root@oldboy ~]# useradd user1

[root@oldboy ~]# useradd user2 -s /sbin/nologin

10.创建普通用户oldboy,其ID号为789

[root@oldboy ~]# useradd -u  789 oldboy

[root@oldboy ~]# id oldboy

uid=789(oldboy) gid=1003(oldboy) groups=1003(oldboy)

11.创建虚拟用户test,其ID号为666

[root@oldboy ~]# useradd -u 666 -s /sbin/nologin test

12.修改oldboy用户的ID号,修改为777

[root@oldboy ~]# usermod -u 777 oldboy

[root@oldboy ~]# id oldboy

uid=777(oldboy) gid=1003(oldboy) groups=1003(oldboy)

13.修改用户test的命令解释器,使其可以登录到系统。

[root@oldboy ~]# usermod  -s /bin/sh test

[root@oldboy ~]# su - test

Last login: Tue Mar 31 15:09:39 CST 2020 on pts/3

[test@oldboy ~]# whoami

test

14.删除用户user1.不删除其家目录。

[root@oldboy ~]# userdel user1

[root@oldboy ~]# ll /home/

total 0

drwx------ 3 oldboy oldboy 78 Mar 31 15:06 oldboy

drwx------ 3 test  test  99 Mar 31 15:16 test

drwx------ 3  1001  1001 78 Mar 31 15:04 user1

drwx------ 3 user2  user2  78 Mar 31 15:05 user2

drwx------ 3 www    www    78 Jan  1  2021 www

15.删除用户user2,不保留其家目录。

[root@oldboy ~]# userdel -r user2

16.给oldboy用户创建一个密码为123,并尝试登录(两种方法实现)

[root@oldboy ~]# passwd oldboy

[root@oldboy ~]# echo "123" |passwd --stdin oldboy

17批量创建10个用户,前缀是你的姓,后缀为数字序列,比如qian1等。

大佬的方法

#  sed  后项引用

# | xargs 

#  awk 

[root@oldboy ~]# cat aa.sh

#!/bin/bash

read -p "请输入你的用户名 " ming

read -p "请输入这个用户名创建的次数  " shu

for i in `seq $shu`

do

useradd $ming$i

done

小弟的方法

for

[root@oldboy ~]# for i in `seq 10`do useradd qian$idone

18.默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录

/home

19.如何检查系统中存在oldboy用户,并且显示用户id信息

[root@oldboy ~]# id oldboy

uid=777(oldboy) gid=1003(oldboy) groups=1003(oldboy)

20.创建gid为666,名字为www的用户组

[root@oldboy ~]# groupadd -g 666 www

21.创建uid为666,gid为666,名字为www的用户

[root@oldboy ~]# useradd -u 666 -g 666 www

[root@oldboy ~]# useradd -u 666 -g 666 www

useradd: group '666' does not exist

22.创建uid为888,注释信息为"虚拟用户",不创建家目录,不能登录系统,名字为oldboyedu的用户

[root@oldboy ~]# useradd -u 888 -c "虚拟用户" -M  -s /sbin/nologin oldboyedu

23.假设公司研发部的用户yanfa和dev属于组yf,财务部的用户caiwu和money属于组cw,根据要求创建用户及组。

[root@oldboy ~]# groupadd yf

[root@oldboy ~]# groupadd cw

[root@oldboy ~]# useradd yanfa -g yf

[root@oldboy ~]# useradd dev -g yf

[root@oldboy ~]# useradd caiwu -g cw

[root@oldboy ~]# useradd money -g cw

[root@oldboy ~]# id yanfa

uid=1021(yanfa) gid=1024(yf) groups=1024(yf)

[root@oldboy ~]# id caiwu

uid=1023(caiwu) gid=1025(cw) groups=1025(cw)

24.报如下错误是什么原因,并怎么解决

(1)

[root@oldboy ~]# id qzg

id: qzg: no such user

没有这个用户

(2)

[root@oldboy ~]# useradd aaa -s /sbin/nologin

useradd: group aaa exists - if you want to add this user to that group, use -g.

aaa用户组已经存在

(3)

[root@oldboy ~]# su - qzg1

This account is currently not available.

这个用户无法登录系统

25.oldboy8用户的用户名修改成oldboy888

[root@oldboy ~]# usermod -l oldboy888 oldboy8

26.创建zls用户,指定UID5001,基本组students 附加组sa,dba 注释信息:one newB user, 登陆的shell:/bin/bash

曾导博客上的题

27.linux系统存放所有用户密码信息的文件是?

/etc/shadow

28.存放用户账户信息的配置文件是?

[root@oldboy ~]# ll /etc/default/useradd

-rw-r--r--. 1 root root 119 Nov  5  2016 /etc/default/useradd

[root@oldboy ~]# ll /etc/login.defs

-rw-r--r--. 1 root root 2028 Nov  5  2016 /etc/login.defs

/etc/passwd

29.建自己姓名全拼用户,UID5000,基本组students,附加组sa,注释信息:2020 new student,登陆shell:/bin/bash

[root@oldboy ~]# groupadd students

[root@oldboy ~]# groupadd sa

[root@oldboy ~]# useradd -u 5000 -g students -G sa -c "2020 new student" -s /bin/bash qianzhigang

[root@oldboy ~]# cat /etc/passwd|tail -1

qianzhigang:x:5000:1027:2020 new student:/home/qianzhigang:/bin/bash

[root@oldboy ~]# id qianzhigang

uid=5000(qianzhigang) gid=1027(students) groups=1027(students),1028(sa)

30.建用户useroldboy,附加组bin和root,默认shell为/bin/bash,注释信息"user1_info"

[root@oldboy ~]# useradd -G bin,root -c "user1_info" -s /bin/bash  useroldboy

[root@oldboy ~]# id useroldboy

uid=5001(useroldboy) gid=5001(useroldboy) groups=5001(useroldboy),0(root),1(bin)

31.新建一个用户jack,指定uid为330

[root@oldboy ~]# useradd -u 330 jack

(1)修改jack的uid为666,用户名改为jacky

[root@oldboy ~]# usermod -u 666 jack

[root@oldboy ~]# id jack

uid=666(jack) gid=5002(jack) groups=5002(jack)

[root@oldboy ~]# usermod  -l jacky jack

[root@oldboy ~]# id jacky

uid=666(jacky) gid=5002(jack) groups=5002(jack)

(2)把jacky的密码设置为123

passwd  jacky

[root@oldboy ~]# echo "123"| passwd --stdin jacky

(3)切换控制台,用jacky帐户登录系统

[root@oldboy ~]# su - jacky

[jacky@oldboy ~]#

(4)换回控制台,用命令将jacky锁定,验证jacky能否再次登录系统,解锁后再次尝试能否登录系统

[root@oldboy ~]# usermod -L jacky

[root@oldboy ~]# usermod -U jacky

32.迁移jacky用户的家目录到/tmp/jacky

[root@oldboy ~]# usermod -md /tmp/jacky  jacky

33.批量创建10个用户,用户名为oldboy1 oldboy2 oldboy3 .... oldboy10

[root@oldboy ~]# for i in `seq 10`do useradd oldboy$idone

[root@oldboy ~]# echo kkk{1..10}|xargs -n1|sed -r 's#(.*)#useradd \1#g'|bash

一、 *** 作系统中的用户管理 相关配置文件解读

Linux用户在 *** 作系统可以进行日常管理和维护,涉及到的相关配置文件如下:

/etc/passwd 保存 *** 作系统中的所有用户信息

root : x : 0 : 0 : root : /root : /bin/bash

name:password:UID:GID:GECOS:directory:shell

用户名 :密码占位符 :uid :基本组的gid :用户信息记录字段:用户的家目录:用户登录系统后使用的命令解析器

————————————————

字段1:用户名

字段2:密码占位符

字段3:用户的UID 0 表示超级用户 , 500-60000 普通用户 , 1-499 程序用户

字段4:基本组的GID 先有组才有用户

字段5:用户信息记录字段

字段6:用户的家目录

字段7:用户登录系统后使用的命令解释器

————————————————

UID:0表示超级用户, 程序用户 (1-499),普通用户 (500以上60000以下),根据uid将用户分为以上三类用户。

/etc/shdaow 保存用户密码(以加密形式保存)

[root@xing /]# cat /etc/shadow

root : $Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :

用户名:密码(加密后的字符串):最近一次的修改时间【距离1970年1月1日的距离】:密码的最短有效期:密码的最长有效期:密码过期前7天警告:密码的不活跃期:用户的失效时间: 保留字段

————————————————

字段1:用户名

*字段2:用户的密码加密后的字符串(sha)

字段3:距离1970/1/1密码最近一次修改的时间

字段4:密码的最短有效期

*字段5:密码的最长有效期(建议时间 90)

字段6:密码过期前7天警告

字段7:密码的不活跃期

字段8:用户的失效时间

字段9:保留字段

这个字段目前没有使用,等待新功能的加入。

————————————————

/etc/group 保存组信息

————————————————

root:x:0:

bin:x:1:bin,daemon

组名:组的密码占位符:gid:附加组成员

————————————————

/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制

/etc/default/useradd 显示或更改默认的useradd配置文件

二、文件及目录权限

文件与权限: 即文件或者目录属于哪个用户,属于哪个组,不同的用户能对该文件进行何种 *** 作。

————————————————

注:

查看文件权限: ls -l 文件

查看目录权限 : ls -ld 目录

————————————————

[root@xing Desktop]# ls -l /root/Desktop/

total 70584

lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt ->/root/Desktop/ming

-rw-r--r--. (文件属性) 1 (链接个数: 表示指向它的链接文件的个数 root (所属者) root (所属组) 0(文件大小:单位byte) Jul 14 14:14(最后一次修改时间) 2.txt(文件名)

drwx------.(文件属性) 7 (目录中的子目录数: 此处看到的值要减2才等于该目录下的子目录的实际个数。 root (所属者) root (所属组) 4096 (文件大小:单位byte)Jul 13 16:56(最后一次修改时间) vmware-tools-distrib(目录名)

[root@xing Desktop]# ls -ld /root/Desktop/

drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/

————————————————

文件属性解释:

- rw- r-- r-- .

d rwx r-x r-x .

字段1:文件类型 【- 普通文件 d目录 l符号链接 b块设备】

字段2:文件所有者对该文件的权限

字段3:文件所属组的权限

字段4:其他用户的权限(既不是文件所有者也不是文件所属组的用户)

字段5:表示文件受 selinux 的程序管理

8进制赋权法: r 【100】4; w【010】2; x【001】1

————————————————

三、用户以及权限管理命令汇总:

————————————————

用户增删改命令

useradd

userdel

usermod

————————————————

用户组增删改命令

groupadd

groupdel

groupmod

————————————————

passwd

change

————————————————

文件权限修改: chmod命令

chmod 对象 算数运算符 权限 文件

[root@xing tmp]# ls -ld ming

drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming

[root@xing tmp]# chmod o-x ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming

————————————————

文件所属者修改:

chown 用户 文件

[root@xing tmp]# chown ming ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming

————————————————

文件所属组修改:

chgrp 组 文件

[root@xing tmp]# chgrp ming ming

[root@xing tmp]# ls -ld ming

drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming

————————————————

8进制赋权法

[root@xing ~]# chmod 644 /tmp/ming

[root@xing ~]# ls -ld /tmp/ming

drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming

————————————————

linux下命令“ll”是“ls -l"的别名。

————————————————

粘滞位:赋权后的文件 只有建立者可以删除

chmod o+t 文件

[root@xing ~]# chmod o+t /tmp/ming

[root@xing ~]# ll -d /tmp/ming

drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming

————————————————

sgid : 赋权后的目录,新建立的文件或者子目录的所属组继承父目录的所属组

chmod g+s 目录

[root@xing ming]# chmod g+s /tmp/ming

[root@xing tmp]# ll

drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming

[root@xing ming]# touch 20.txt

[root@xing ming]# ll

-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt

[root@xing ming]# mkdir 60

[root@xing ming]# ll

drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60

————————————————

suid :允许谁运行该文件具有该文件所属者的权限

chmod u+s 文件

[root@xing Desktop]# ll /usr/bin/vim

-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim

[root@xing Desktop]# chmod u+s /usr/bin/vim

[root@xing Desktop]# ll /usr/bin/vim

-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim

备注:linux 红底白字代表警告!

————————————————

[root@xing Desktop]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

suid:4 sgid:2 粘滞位:1

[root@xing Desktop]# find /usr/bin -perm 4 755

/usr/bin/at

/usr/bin/chage

/usr/bin/pkexec

/usr/bin/Xorg

/usr/bin/crontab

/usr/bin/newgrp

/usr/bin/vim

/usr/bin/gpasswd

/usr/bin/passwd

/usr/bin/ksu

————————————————

1、不再允许添加新用户的请求

chattr命令 :用于改变文件属性

chattr +i 文件

lsttr命令 :查看文件属性

lsattr 文件

[root@xing Desktop]# lsattr /etc/passwd /etc/shadow

-------------e- /etc/passwd

-------------e- /etc/shadow

[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow

[root@xing Desktop]# lsattr /etc/passwd /etc/shadow

----i--------e- /etc/passwd

----i--------e- /etc/shadow

[root@xing Desktop]# useradd kk

useradd: cannot open /etc/passwd

2、umask

root用户的umask默认值是0022,一般用户默认是0002

目录的最高权限 0777-0022=0755

文件的最高权限 0666-0022=644

一般服务器配置umask的值配置为027最好;需要去修改两处文件中的umask值。

/etc/profile

/etc/bashrc

3、修改默认的密码最长有效期:修改以下配置文件

/etc/login.defs

Linux系统使用一个专门的文件将用户的登录名匹配到对应的UID值,这个文件就是/etc/passwd文件,它包含了一些与用户有关的关键信息

root用户账户是Linux系统的管理员,固定分配给他的UID是0。Linux系统会为各种功能创建不同的账户,而这些账户并不是真的用户,叫做系统账户

/etc/passwd文件文件中的密码字段都被设置成了x,这并不是说所有用户账户都用相同的密码,而密码都被保存在另一个叫/etc/shadow的文件中,这需要特殊的程序才能访问

/etc/passwd是一个标准的文本文件,但是不建议用编辑器直接修改其内容

/etc/shadow文件对Linux系统密码提供了更多的控制,只有root用户才能访问/etc/shadow文件,这让它比/etc/passwd安全许多

他一共有九个字段

1、与/etc/passwd文件中登录名对应字段的登录名

2、加密后的密码

3、上次修改密码后过去多少天

4、多少天后才能修改密码

5、多少天后必须修改密码

6、密码过期提前多少天通知用户

7、密码过期后多少天禁用用户账户

8、用户账户被禁用的日期

9、预留字段

/etc/group文件包含了系统上用到的每个组的信息和UID一样,GID也使用相同的格式,并从500开始分配

主目录 :用户的起始工作目录,用户登录后有 *** 作权限的访问目录

注释性描述 :这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

登陆shell :用户登录后,要启动一个进程,负责将用户的 *** 作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

newgrp 指令类似 login 指令,当它是以相同的帐号,另一个群组名称,再次登入系统。 newgrp 命令可以从用户的附加组中选择一个群组,作为用户新的初始组。 欲使用 newgrp 指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则 newgrp 指令会登入该用户名称的预设群组。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8008311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存