linux用户及用户组管理

时间:2022-01-15 16:44:32

linux与windows互传文件:


  1. xshell securecet 前提要使用这两个软件才可以使用命令上传下载文件

  2. lrzsz 安装yum install -y lrzsz

  3. sz 从linux传到windows 用法sz 1.txt

  4. rz 从windows传到linux 用法rz 回车 (文件传到当前目录)


linux用户配置文件和密码配置文件:


用户配置文件


  1. 查看用户配置文件,输入ls /etc/passwd,查看文件输入cat /etc/passwd。

[root@aminglinux-01 ~]# ls /etc/passwd

/etc/passwd

[root@aminglinux-01 ~]# cat /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

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:998:996:User for polkitd:/:/sbin/nologin

tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

chrony:x:997:995::/var/lib/chrony:/sbin/nologin

aming:x:1000:1000::/home/aming:/bin/bash           //从这开始都是新创建的用户

user1:x:1001:1001::/home/user1:/bin/bash

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

举例解释每个用户行的意思,如user1:x:1001:1001::/home/user1:/bin/bash

  1. 每个用户行都被用:号分割成七段,第一个是root用户,其它都是系统自带的用户。

  2. user1第一段表示用户。

  3. 1001:1001,第三段与第四段表示UID,每个用户都有一个ID,它也会属于一个组,它的组ID是第四段。

  4. 第二段x,早期是属于密码文件 。

  5. 第五段为空,这个表示用户注释信息,没有实质作用。

  6. 第六段是用户的家目录,如普通用户是/home/user1,root的家目录是root。

  7. 第七段是用户shell,一个用户能登录首先要有一个交互的终端,那我们用xsehll或Putty去登录centos获得一个窗口,那这个窗口就是shell。/bin/bash表示这个用户是可以登录的,/sbin/nologin表示不能登录的,即使设置密码也不能登录 。


密码配置文件


  1. 查看用户配置文件,输入ls /etc/shadow,查看文件输入cat /etc/passwd

[root@aminglinux-01 ~]# ls /etc/shadow

/etc/shadow

[root@aminglinux-01 ~]# cat /etc/shadow

root:$6$d/ka/dyhdjMyt3sM$MgvGAIq26dXli0z65uotOigG60TskCnEAAXRbmNF/Jz5PhmUo5Bb9Rj7MznInVovaKeI1fVck30Zo/wFUdb.Q1::0:99999:7:::

bin:*:17110:0:99999:7:::

daemon:*:17110:0:99999:7:::

adm:*:17110:0:99999:7:::

lp:*:17110:0:99999:7:::

sync:*:17110:0:99999:7:::

shutdown:*:17110:0:99999:7:::

halt:*:17110:0:99999:7:::

mail:*:17110:0:99999:7:::

operator:*:17110:0:99999:7:::

games:*:17110:0:99999:7:::

ftp:*:17110:0:99999:7:::

nobody:*:17110:0:99999:7:::

systemd-bus-proxy:!!:17455::::::

systemd-network:!!:17455::::::

dbus:!!:17455::::::

polkitd:!!:17455::::::

tss:!!:17455::::::

postfix:!!:17455::::::

sshd:!!:17455::::::

chrony:!!:17455::::::

aming:!!:17464:0:99999:7:::

user1:!!:17464:0:99999:7:::

aminglinux:!!:17466:0:99999:7:::

  1. 这个密码配置文件/etc/shadow每一行与用户配置文件/etc/passwd每一行是一一对应的

  2. 给用户设置密码passwd aming,查看两个用户的密码配置文件(设置同样的密码加密不一样)

linux用户及用户组管理

举例解释每个用户行的意思,如:user1:!!:17464:0:99999:7:::

  1. 这个文件是专门用来控制用户密码的,用:被分割成九段,第一段是用户名

  2. 第二段是用户的密码,密码是加密的,而且无法编译。

  3. 第三段是一个数字,表示天数。距离1970年1月1号到密码更改的时候经过了多少天。

  4. 第四段表示密码有多少天之前不能更改,要过多少天才可以更改密码,默认为0,0表示不受限制。

  5. 第五段意思是密码多少天后到期及在多少天内必须要更改密码。

  6. 第六段密码到期前的期限,系统会有一个提醒。比如期限设置为七天,当七天后密码过期时,系统就是发出警告,提醒用户密码将在七天后到期。

  7. 第七段表示账户失效期限,比如期限设置为3天,密码到期后还没有更改密码,三天后这个用户将被锁定。

  8. 第八段表示一个账号的生命周期,与第三段差不多,距离19700101账有多少天,账号号在这个日期前可以使用,到期后密码会被锁定,就不能使用。

  9. 第九段是保留字段,没有实际意义。


用户组管理:


  1. 查看用户组管理配置文件,输入ls /etc/group,查看文件内容输入cat /etc/group,组密码配置文件查看输入cat /etc/gshadow。

  2. groupadd 创建一个新的用户组命令,例:groupadd grp1

  3. 在增加组的同时可以给组指定ID,命令groupadd -g 例:

[root@aminglinux-01 ~]# groupadd -g 1005 grp2

[root@aminglinux-01 ~]# tail -n3 /etc/group

slocate:x:21:

grp1:x:1003:

grp2:x:1005:

4.删除组,命令groupdel ,tail -n3是查看文件/etc/group下的组前三行,例:

[root@aminglinux-01 ~]# groupdel grp1

[root@aminglinux-01 ~]# tail -n3 /etc/group

aminglinux:x:1002:

slocate:x:21:

grp2:x:1005:

5.删除user1组,提示不能删除,如果需要一个组,前提是这个组里面没有用户。组的概念:一个组包含很多成员,每个成员都是一个用户,只要是这个组里面有任何一个成员在,就不能删除这个组。

[root@aminglinux-01 ~]# groupdel user1

groupdel:不能移除用户“user1”的主组


用户管理:


  1. useradd与adduser 创建用户命令,例:创建用户user2,输入命令useradd user2。

  2. 查看一个用户文件/etc/passwd的UID号列表。

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user1:x:1001:1001::/home/user1:/bin/bash

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

user2:x:1003:1003::/home/user2:/bin/bash

3.在创建用户的同时指定用户的UID及用户组。例:

[root@aminglinux-01 ~]# useradd -u 1004 -g grp2 user3

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

[root@aminglinux-01 ~]#

4.在创建用户的同时指定家目录及shell。例:

[root@aminglinux-01 ~]# useradd -u 1006 -g grp2 -d /home/aming111 -s /sbin/nologin user4

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

[root@aminglinux-01 ~]# ls /home/

aming  aming111  aminglinux  user1  user2  user3

5.在创建用户的同时指定不能建立家目录,例:

[root@aminglinux-01 ~]# useradd -M user5       //-M的作用是在创建用户的同时不去创建家目录,它的家目录是/home/user5,只是没有创建而已。

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

问题:GID是否可以从其它数字开始,例子:

1.假设先创建一个组grp3,指定GID是1010。

[root@aminglinux-01 ~]# groupadd -g 1010 grp3

2.在创建一个新的用户user6,指定组为grp3。

[root@aminglinux-01 ~]# useradd -g grp3 user6

3.查看刚创建用户及组指定的GID号,从第五段看出GID直接从7跳到了10。

[root@aminglinux-01 ~]# tail -n5 /etc/passwd

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

4.创建用户user7

[root@aminglinux-01 ~]# useradd user7

5.查看user7GID是1009

[root@aminglinux-01 ~]# tail -n5 /etc/passwd

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

user7:x:1009:1009::/home/user7:/bin/bash

结论:GID与上面的数字没有关系,不会根据GID去增加,只会根据UID去增加。

6.userdel 删除用户命令,例:删除用户user8

[root@aminglinux-01 ~]# userdel user8

[root@aminglinux-01 ~]# tail -n3 /etc/passwd

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

user7:x:1009:1009::/home/user7:/bin/bash

7.userdel -r 删除用户的同时也把用户家目录删除。原因:删除用户的时候担心误删掉用户的文件,想把这个删除用户家目录的权限留给管理员,所以删除用户的时候没有直接删除用户家目录,加上-r就可以直接删除用户及用户家目录。

[root@aminglinux-01 ~]# ls /home/

aming  aming111  aminglinux  user1  user2  user3  user6  user7  user8

[root@aminglinux-01 ~]# rm -rf /home/user8        //单独删除用户user8家目录

[root@aminglinux-01 ~]# userdel -r user7            //举例,直接删除用户user7及家目录

[root@aminglinux-01 ~]# ls /home/

aming  aming111  aminglinux  user1  user2  user3  user6


知识点:


  1. 如果想在一行终端上打两个命令,你就可以用;分割开,如:

[root@aminglinux-01 ~]# head -n1 /etc/shadow: tail -n2 /etc/shadow

  1. 使用ls查看下面这些文件中,记住在输入命令时使用Tab键补全或ls /etc/passwd*回车,带减号的文件是系统自动给这些文件做备份用的,假如不小心把文件删除或用户删除了,把文件拷贝还可以恢复过来,如果备份文件没更新,可能会导致两个文件信息不一致。

linux用户及用户组管理

本文出自 “Gary博客” 博客,请务必保留此出处http://taoxie.blog.51cto.com/10245493/1977596