且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux和windows互传文件,用户配置文件和密码配置文件,用户组和用户管理

更新时间:2022-09-17 08:10:33

想要能让Linux和Windows互传文件,可以使用Xshell,但是首先需要在Linux里安装一个包,命令如下:

[root@study-01 ~]# yum install -y lrzsz

安装完后就可以使用命令将Linux的文件传到Windows上,例如我要将a.txt文件传到Windows上,命令如下:

[root@study-01 ~]# sz a.txt

然后会弹出一个界面让你选择保存的路径,按照自己的需求保存即可

还可以将Windows的文件传到Linux上,命令如下:

[root@study-01 ~]# rz

同样的也会弹出一个界面让你选择需要传递到Linux上的文件,文件保存的路径是你Linux当前输入此命令的路径

注意:此工具只适用于Xshell和secureCRT,PUTTY是不支持的

3.1 用户配置文件和密码配置文件

etc目录下的passwd文件是核心的用户配置文件,每创建一个用户的信息都会存储在这个文件里,这个文件的结构是每个用户一行,每一行都会用冒分割成七段。第一段表示的是用户名,第二段是密码的占位符(所以密码不是存放在这个文件里),第三段是用户的uid,第四段是用户所属组的gid,第五段是对用户的描述、注释信息,第六段是用户的家目录也叫宿主目录,第七段是用户的登录shell。

[root@study-01 ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash     //第一行就是root用户,往下的都是系统自带的bin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinsystemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:998:996:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:997:995:User for polkitd:/:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinzero:x:1000:1000::/home/zero:/bin/bash   //从这里开始往下是创建的普通用户user1:x:1001:1001::/home/user1:/bin/bash

在这个文件可以发现root用户和普通用户的第七段信息都是/bin/bash,这代表这些用户都可以登录,而系统自带的用户大多数都是sbin/nologin,这代表这些用户不可以进行登录。

相对的在etc目录下还有一个shadow文件,这个文件是用户的密码文件,用户的密码都存放在这里,这个文件和passwd文件是一一对应的,所以这个文件是专门用来存储、控制用户的密码的。同样的这个文件也是每一行记录一个用户,用冒号分割成九段,第一段是用户的名称;第二段是用户的密码,这些密码都是经过加密的,因为使用的是MD5的算法加随机数生成的密文所以无法破解或反编译;第三段是一个天数,这个天数是从1970年1月1日开始计算到上一次你修改密码的时间;第四段表示要过多少天才能更改密码,这段默认的是零,也就是没有限制;第五段表示的是密码多少天后会过期,即在此天数内必须要更改密码;第六段表示密码到期前的警告,会提醒用户密码在多少天内会过期;第七段表示的是账户的失效期限;第八段表示账号的生命周期;第九段是保留字段,没有实际意义。

[root@study-01 ~]# cat /etc/shadow
root:$6$uAsDxv2a$M4Rua7noZjCntcwNsCIvygc9gXLIs1SOl/kYtTewQptuPFQF6Z9Vi8rjAYo77R665vwL2ZMX03/OMwK/cIAsM1:17368:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
adm:*:16659:0:99999:7:::
lp:*:16659:0:99999:7:::
sync:*:16659:0:99999:7:::
shutdown:*:16659:0:99999:7:::
halt:*:16659:0:99999:7:::
mail:*:16659:0:99999:7:::
operator:*:16659:0:99999:7:::
games:*:16659:0:99999:7:::
ftp:*:16659:0:99999:7:::
nobody:*:16659:0:99999:7:::
avahi-autoipd:!!:17351::::::
systemd-bus-proxy:!!:17351::::::
systemd-network:!!:17351::::::
dbus:!!:17351::::::
polkitd:!!:17351::::::
tss:!!:17351::::::
postfix:!!:17351::::::
sshd:!!:17351::::::
zero:!!:17369:0:99999:7:::
user1:$6$Ld3J2xRC$9hVwsRCl7xySEtFASoHMRNS44d7Gn7yckZmUWvcZDpiwG4KM.O29295iuWN0SOB6hgPAeWQulYHEs93mPLF6Z/:17373:0:99999:7:::

3.2 用户组管理

etc目录下有个group文件,这个文件存储的是用户组的信息。跟passwd差不多的含义。

[root@study-01 ~]# cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:lp:x:7:mem:x:8:kmem:x:9:wheel:x:10:cdrom:x:11:mail:x:12:postfixman:x:15:dialout:x:18:floppy:x:19:games:x:20:tape:x:30:video:x:39:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:avahi-autoipd:x:170:utmp:x:22:utempter:x:35:ssh_keys:x:999:input:x:998:systemd-journal:x:190:systemd-bus-proxy:x:997:systemd-network:x:996:dbus:x:81:polkitd:x:995:dip:x:40:tss:x:59:postdrop:x:90:postfix:x:89:sshd:x:74:zero:x:1000:user1:x:1001:slocate:x:21:[root@study-01 ~]# 
[root@study-01 ~]# cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:lp:x:7:mem:x:8:kmem:x:9:wheel:x:10:cdrom:x:11:mail:x:12:postfixman:x:15:dialout:x:18:floppy:x:19:games:x:20:tape:x:30:video:x:39:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:avahi-autoipd:x:170:utmp:x:22:utempter:x:35:ssh_keys:x:999:input:x:998:systemd-journal:x:190:systemd-bus-proxy:x:997:systemd-network:x:996:dbus:x:81:polkitd:x:995:dip:x:40:tss:x:59:postdrop:x:90:postfix:x:89:sshd:x:74:zero:x:1000:user1:x:1001:slocate:x:21:

除此之外etc目录下还有一个与shadow差不多的文件:gshadow,此文件是用户组密码的配置文件,此文件几乎不会去动它。

[root@study-01 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
dialout:::
floppy:::
games:::
tape:::
video:::
ftp:::
lock:::
audio:::
nobody:::
users:::
avahi-autoipd:!::
utmp:!::
utempter:!::
ssh_keys:!::
input:!::
systemd-journal:!::
systemd-bus-proxy:!::
systemd-network:!::
dbus:!::
polkitd:!::
dip:!::
tss:!::
postdrop:!::
postfix:!::
sshd:!::
zero:!::
user1:!::
slocate:!::

如果使用ls命令去逐个列出这些文件,会发现还有一个相同名称带个-号的文件,这个带有-号的文件是备份文件,如果不小心删除了原来的文件的话,拷贝这个文件就可以使用了。但是可能会有个问题,如果你刚好新创建了一个用户,但是这个备份文件还没来得及更新的话,这个用户的信息就会丢失,不过一般来讲影响不大。

linux和windows互传文件,用户配置文件和密码配置文件,用户组和用户管理

关于用户组有一个命令:groupadd,此命令是用来添加用户组的,示例:

[root@study-01 ~]# groupadd grp1
[root@study-01 ~]# tail -n1 /etc/groupgrp1:x:1002:

创建的同时可以指定gid,在CentOS7中指定的gi要在1000以上,1000以内的已经预留给系统了,CentOS6则是500以上,这一点要区分一下:

[root@study-01 ~]# groupadd -g 1005  grp2
[root@study-01 ~]# tail -n2 /etc/groupgrp1:x:1002:
grp2:x:1005:

既然可以创建用户组,也就可以删除用户组,但是前提是这个用户组里没有用户才能删除,不然是删除不了的,命令是:

[root@study-01 ~]# groupdel grp1
[root@study-01 ~]# tail -n1 /etc/groupgrp2:x:1005:

总结:用户组可以包含很多成员,每个成员都是一个用户,只要这个用户组里面有一个用户,就不能把这个用户组删除。

3.3 用户管理

useradd和adduser命令可以添加一个普通用户,这两个命令的用法是一样的,示例:

[root@study-01 ~]# useradd user2[root@study-01 ~]# tail -n3 /etc/passwdzero:x:1000:1000::/home/zero:/bin/bashuser1:x:1001:1001::/home/user1:/bin/bashuser2:x:1002:1002::/home/user2:/bin/bash

可以看得出普通用户的uid是从1000开始的

同样的可以创建用户,也就可以删除用户:

[root@study-01 ~]# userdel user3[root@study-01 ~]# tail -n3 /etc/passwduser2:x:1002:1002::/home/user2:/bin/bashuser4:x:1008:1005::/home/zero000:/sbin/nologinuser5:x:1009:1009::/home/user5:/bin/bash

但是虽然删除了用户,但是用户的家目录没被删除,因为用户的家目可能会有文件,所以没有删除,留给系统管理员手动删除:

[root@study-01 ~]# ls /home/user1  user2  user3  zero  zero000

也可以删除用户的同时将用户的家目录一并删除:

[root@study-01 ~]# userdel -r user4[root@study-01 ~]# tail -n3 /etc/passwduser1:x:1001:1001::/home/user1:/bin/bashuser2:x:1002:1002::/home/user2:/bin/bashuser5:x:1009:1009::/home/user5:/bin/bash[root@study-01 ~]# ls /home/user1  user2  user3  zero

创建用户的同时可以指定用户的uid,和指定用户的用户组,示例:

[root@study-01 ~]# useradd -u 1006 -g grp2 user3[root@study-01 ~]# tail -n3 /etc/passwduser1:x:1001:1001::/home/user1:/bin/bashuser2:x:1002:1002::/home/user2:/bin/bashuser3:x:1006:1005::/home/user3:/bin/bash

创建用户的同时可以指定用户的家目录,和指定用户的shell,示例:

[root@study-01 ~]# useradd -u 1008 -g grp2 -d /home/zero000 -s /sbin/nologin  user4[root@study-01 ~]# tail -n3 /etc/passwduser2:x:1002:1002::/home/user2:/bin/bashuser3:x:1006:1005::/home/user3:/bin/bashuser4:x:1008:1005::/home/zero000:/sbin/nologin

创建用户的同时还可以指定不创建用户的家目录,示例:

[root@study-01 ~]# useradd -M  user5[root@study-01 ~]# tail -n3 /etc/passwduser3:x:1006:1005::/home/user3:/bin/bashuser4:x:1008:1005::/home/zero000:/sbin/nologinuser5:x:1009:1009::/home/user5:/bin/bash[root@study-01 ~]# ls /home/user1  user2  user3  zero  zero000   //并没有user5这个目录

虽然指定不创建家目录,但是并不代表这个用户没有家目录,只是没有创建而已。

创建用户时没有指定用户的uid的话,那么默认是从上一个用户的uid自增。如果创建用户时不指定gid的话,gid不会根据上一个用户的gid自增,而是和用户的uid一致。




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972137,如需转载请自行联系原作者