想要能让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命令去逐个列出这些文件,会发现还有一个相同名称带个-号的文件,这个带有-号的文件是备份文件,如果不小心删除了原来的文件的话,拷贝这个文件就可以使用了。但是可能会有个问题,如果你刚好新创建了一个用户,但是这个备份文件还没来得及更新的话,这个用户的信息就会丢失,不过一般来讲影响不大。
关于用户组有一个命令: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,如需转载请自行联系原作者