您的位置:首页 > 运维架构 > Linux

linux用户及用户组管理

2017-10-30 20:21 316 查看
linux与windows互传文件:

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

lrzsz 安装yum install -y lrzsz

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

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

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

用户配置文件

查看用户配置文件,输入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
每个用户行都被用:号分割成七段,第一个是root用户,其它都是系统自带的用户。

user1第一段表示用户。

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

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

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

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

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

密码配置文件

查看用户配置文件,输入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:::
这个密码配置文件/etc/shadow每一行与用户配置文件/etc/passwd每一行是一一对应的

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




举例解释每个用户行的意思,如:user1:!!:17464:0:99999:7:::
这个文件是专门用来控制用户密码的,用:被分割成九段,第一段是用户名

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

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

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

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

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

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

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

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

用户组管理:

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

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

在增加组的同时可以给组指定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”的主组

用户管理:

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

查看一个用户文件/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

知识点:

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

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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 用户