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

linux和windows互传文件

一、lrzsz包

lrzsz,只能用xshell或者securecrt,才支持,putty不支持。linux

安装lrzsz软件包。shell

[root@colinlinux ~]# yum install -y lrzsz

二、使用方法

2.一、sz命令

功    能:用来把linux上的文件传输到Windows上面。windows

语    法:sz [文件名]centos

说    明:sz只能传输文件,不能传输文件夹。文件名能够是带路径的,只要是一个文件便可。安全

 

弹出传送完毕对话框说明栓送完成;bash

sz命令只能传文件不能传文件夹,下面是传送文件夹失败代码;ssh

[root@colinlinux test1]# mkdir dir_t
[root@colinlinux test1]# ls
a.txt  b.txt  dir_t
[root@colinlinux test1]# sz dir_t/
sz: is not a file: dir_t/
                          
Can't open any requested files.                                                [root@colinlinux test1]# 
**01000000039a32^C
[root@colinlinux test1]#

2.二、rz命令

功    能:用来接收Windows上面的文件。post

语    法:rz测试

说    明:不能指定接收到linux的哪一个目录,默认接收到当前目录。只能接收文件,不能接收文件夹。ui

 

一、rz命令使用案例

直接输入rz,而后回车,在弹出对话框中选择要接收到当前文件夹的文件。

 

接收完成点击关闭,再回到查看当前目录发现刚刚接收的文件在当前目录了已经;

二、测试不能指定接收目录

不能指定接收目录,默认接收到当前目录

[root@colinlinux dir_t]# rz /tmp/test1/
rz: garbage on commandline
Try `rz --help' for more information.
[root@colinlinux dir_t]#

 

                                                                                                                                                                

 

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

一、/etc/passwd密码配置文件

功    能:/etc/passwd文件是用户的密码配置文件。

补 充:每建立一个用户都会在最后面增长一行新加用户的相关配置信息。

每一个用户有一行,内容被冒号:分割成7段,7段内容以下表;

1

2

3

4

5

6

7

用户名

x

(旧版本密码位置)

uid

gid

注释说明

(通常记录用户属性,无实际意义)

用户家目录

用户的shell

[root@colinlinux ~]# 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
colin:x:1000:1000::/home/colin:/bin/bash

 

(1)、用户名

        如第一行的root,就是用户名。用户名能够是大小写字母、数字、减号(减号不能出如今首位)、点及下划线,其余字符是不合法的。虽然用户名中能够出现点,和减号,可是不建议使用,尤为是在首位的时候,容易形成混淆。

 

(2)、x

        早期的Unix和旧版本的Linux此处存放用户密码,可是为了安全如今所有用x填充,并把密码放到/etc/shadow中。

 

(3)、uid

            这个数字表明用户标识号,也叫作uid。系统个识别用户身份就是经过这个数字来的,0就是root,若是把一个用户(加入是test)的uid改成0,系统就会认为root和test是同一个帐户。

            centOS7中0-999由系统保留,0是超级用户(root)的标识号,新添加的用户uid从1000开始;

(4)、gid

            表示用户所属组的标识号,也叫gid。这个地段对应着/etc/group中的一条记录,其实/etc/group和/etc/passwd基本上相似。

(5)、注释说明

            注释说明,该字段没有实际意义,通常记录用户一些信息属性,例如姓名、电话等等,通常没什么实际意义。

(6)、用户家目录,能够修改。

            说明用户的家目录是哪里。

            root用户的家目录是/root/

            普通用户(以colin为例)的家目录是/home/colin/,可是用户的家目录是能够自定义的。好比,创建一个普通的用户test1,要想让test1的家目录在/data目录下,只要修改/etc/passwd文件中对应该用户行的这个字段为/data目录就能够了。

(7)、用户的shell

 

            用户登陆后要启动一个进程,用来给内核下达指令,输入命令的窗口就是个shell。linux的shell有不少,如sh、csh、ksh、tcsh、bash等,centos的shell是bash。

            /sbin/nologin表示不容许该账号登陆。默认是/bin/bash

            若是创建一个账号不让他登陆,那就能够把这个字段改成/sbin/nologin

二、etc/shadow用户密码文件

功 能:专门用来存放用户的密码。

补 充:内容和用户一 一对应,每一行对应一个用户,次序和/etc/passwd中的用户次序保持相同。

每一个用户有一行,内容被冒号:分割成9段;

 

1

2

3

4

5

6

7

8

9

用户名

用户密码

上一次更改

密码的日期

过多少天后

才能修改密码

密码多少

天后到期

密码到期前

的警告期限

账号失

效期限

账号的

生命周期

保留

 

[root@colinlinux ~]# cat /etc/shadow
root:$6$l.bqkql0cZmLP58q$bSU4fqmy9t1GfF5BfHGu3ju7rzaEs1zJrnp/igpiiYYcT4BwhfY4p9/NERTVrsWUMpzD.DyFYv2PY8P/b7qbi1::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:!!:17457::::::
systemd-network:!!:17457::::::
dbus:!!:17457::::::
polkitd:!!:17457::::::
tss:!!:17457::::::
postfix:!!:17457::::::
sshd:!!:17457::::::
chrony:!!:17457::::::
colin:!!:17464:0:99999:7:::
[root@colinlinux ~]#

在shadow所在目录系统会自动备份一个带-的文件,用于备份。备份有些区别,有可能新的操做没有被更新进去还。

 

[root@colinlinux ~]# ls /etc/passwd*
/etc/passwd  /etc/passwd-
[root@colinlinux ~]# ls /etc/shadow*
/etc/shadow  /etc/shadow-

(1)、用户名

            和/etc/passwd一 一 对应。

(2)、用户密码

            这个才是改账号的真正密码。密码是加密过的。文件权限是000,可是root用户能够访问和更改。

[root@colinlinux ~]# ls -l /etc/shadow
----------. 1 root root 665 10月 26 07:01 /etc/shadow

 

用# head -n 1 /etc/shadow; tail -n 2 /etc/shadow(一行使用多个命令,中间用分号隔开便可)查看/etc/shadow中root用户和colin用户的密码一段,两个是不同的。

# passwd [用户名](更改用户密码)

# passwd colin更改用户colin的密码为和root用户的密码同样。

再查看/etc/shadow中的密码段,结果两个用户的密码段加密的字符串任然是不同的。说明这个加密的字符串是随机的。

(3)、上次更改密码的日期到UTC时间的第一天的天数。

起始日期是UTC时间的1970年1月1日,计算时候注意闰年有366天。

例如:若是上次更改密码的日期是2012年1月1日,则这个日期是365*(2012-1970)+(2012-1970)/4+1=15341。

(4)、再过多少天才能更改密码。

设定这个值后,密码在设定的天数内不能更改。默认是0,表示不作限制。

(5)、密码多少天后失效。

这里设置的天数表示密码在设置天数后会失效,也就是在设置天数内必须更改,对普通用户来讲就意味着在设定天数内必须把密码更改了,不然密码就不能用了,帐户也就登陆不上了。

默认是99999,表示永远不须要更改。

(6)、密码到期前的警告期限。

若是设置成7,那表示距离密码过时还有7天时候会发出提醒,提醒用户密码还有7天到期。

图中colin用户的到期前提早警告期限是7,可是由于失效天数是99999永不失效,因此colin永远接不到提醒了。

(7)、账号失效期限。

这个值在密码已经到期后,用于设置到期后再过几天账号会失效。

若是设置为3,而且密码到期前用户没有修改密码,那到期后再过3天,这个帐户就失效被锁定了。

(8)、账号失效日期。

日期的记录方式和第三段相同,按照距离UTC起始时间1970年1月1日计算,在这么多天内可使用。过时做废。默认空表示永不做废。

(9)、保留,无实际意义。

 

                                                                                                                                                                

 

用户组管理

一、/etc/group用户组配置文件

功 能:用户组配置文件。

补 充:基本和/etc/passwd内的内用对应。

默认建立用户会建立一个和用户名同样的组;

二、/etc/gshadow用户组密码配置文件

功 能:用户组密码配置文件。

补 充:和/etc/shadow类似。基本不用。

三、groupadd命令

功能:增长一个用户组。

语法:groupadd [-g gid ] [用户组名]

3.一、添加一个用户组,gid默认

# groupadd group1

增长用户组,用户组编号gid默认。

[root@colinlinux ~]# groupadd group1
[root@colinlinux ~]# tail -n 4 /etc/group
chrony:x:995:
colin:x:1000:
slocate:x:21:
group1:x:1001:
[root@colinlinux ~]#

3.二、建立用户组,指定gid

# groupadd -g 1005 group2

建立gid为1005的用户组group2,centos7默认0-999给系统预留,其余人不能使用。

[root@colinlinux ~]# groupadd -g 1005 group2
[root@colinlinux ~]# tail -n 4 /etc/group
colin:x:1000:
slocate:x:21:
group1:x:1001:
group2:x:1005:
[root@colinlinux ~]#

3.三、删除用户组

# groupdel group1

用来删除用户组;#groupdel group1,删除group1用户组;

[root@colinlinux ~]# tail -n 4 /etc/group
colin:x:1000:
slocate:x:21:
group1:x:1001:
group2:x:1005:
[root@colinlinux ~]# groupdel group1
[root@colinlinux ~]# tail -n 4 /etc/group
chrony:x:995:
colin:x:1000:
slocate:x:21:
group2:x:1005:
[root@colinlinux ~]#

删除用户组的时候,用户组必须是空的才能删除用户组,若是用户组里有用户,则没法删除,须要先删空用户才能删除用户组。

[root@colinlinux ~]# groupdel colin
groupdel:不能移除用户“colin”的主组
[root@colinlinux ~]#

 

                                                                                                                                                             

 

用户管理

一、/etc/passwd

用户管理的主要针对的是/etc/passwd文件,添加和删除用户主要改动的也是这里;

二、useradd添加用户

功能:添加一个用户。

语法:groupadd [-u UID ] [-g GID ] [-d HOME(用户家目录)] [-s xxx(用户的shell)] [-M] [用户名]

补充:

参数:

        -u:UID,设置用户的UID;

        -g:GID,设置用户的GID;

        -d:家目录,设置用户的家目录;

        -s:用户SHELL,设置用户使用的shell;

        -M:不建立家目录;

 

2.一、简单添加一个用户

# useradd user2

简单建立用户,默认UID会自动增长;

 

[root@colinlinux ~]# tail -n 4 /etc/passwd
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
colin:x:1000:1000::/home/colin:/bin/bash
[root@colinlinux ~]# useradd user2
[root@colinlinux ~]# tail -n 4 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
[root@colinlinux ~]#

2.二、添加用户时指定UID和GID

# useradd -u 1004 -g group2 user3

建立用户时指定用户UID和GID(即指定用户组)

 

[root@colinlinux ~]# tail -n 4 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
[root@colinlinux ~]# tail -n 4 /etc/group
colin:x:1000:
slocate:x:21:
group2:x:1005:
user2:x:1001:
[root@colinlinux ~]# useradd -u 1004 -g group2 user3
[root@colinlinux ~]# tail -n 4 /etc/passwd
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
[root@colinlinux ~]#

过程分析:

# tail -n 4 /etc/passwd,能够看到当前用户没有user3,也没有属于GID=1005的用户;
# tail -n 4 /etc/group,能够看到有一个GID=1005的用户组;
# useradd -u 1004 -g group2 user3,添加一个UID=1004,GID=1005即用户组group2的用户user3;
# tail -n 4 /etc/passwd,查看是否添加成功;

2.三、添加用户时指定用户UID、GID、家目录和shell

# useradd -u 1006 -g group2 -d /home/aming111 -s /sbin/nologin user4

命令分析:

-u 1006,指定用户UID=1006;

-g group2,GID=group2;

-d /home/aming111,指定用户家目录/home/aming111;

-s /sbin/nologin,指定shell;

user4,添加用户用户名是user4;

[root@colinlinux ~]# tail -n 4 /etc/passwd
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
[root@colinlinux ~]# useradd -u 1006 -g group2 -s /sbin/nologin user4
[root@colinlinux ~]# tail -n 4 /etc/passwd
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
user4:x:1006:1005::/home/user4:/sbin/nologin
[root@colinlinux ~]#

2.四、添加用户但不添加家目录

# useradd -M user5

建立用户的同时不建立家目录,虽然/etc/passwd中显示家目录是/home/user5,可是实际/home/中没有建立用户家目录。

三、UID和GID的增长

不指定的状况下uid自动从当前最大值增长;

不指定的状况下gid自动从同uid相同的值开始增长(若是此gid值没有被占用),若是和uid相同的gid被占用,则gid从当前gid最大值增长。

 

 

[root@colinlinux ~]# tail -n 6 /etc/passwd
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
colin:x:1000:1000::/home/colin:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
user4:x:1006:1005::/home/user4:/sbin/nologin
user5:x:1007:1007::/home/user5:/bin/bash

//首先查看一下当前的用户uid和gid状况,uid最大1007,gidzz最大1007;

[root@colinlinux ~]# groupadd -g 1010 group3
[root@colinlinux ~]# tail -n 2 /etc/group
user5:x:1007:
group3:x:1010:

//增长一个用户组group3,gid=1010,tail命令查看一下/etc/group结果显示添加成功;

[root@colinlinux ~]# useradd -g group3 user6
[root@colinlinux ~]# tail -n 3 /etc/passwd
user4:x:1006:1005::/home/user4:/sbin/nologin
user5:x:1007:1007::/home/user5:/bin/bash
user6:x:1008:1010::/home/user6:/bin/bash

//增长一个用户user6,指定用户gid=group3,即1010;

[root@colinlinux ~]# useradd user7
[root@colinlinux ~]# tail -n 6 /etc/passwd
user2:x:1001:1001::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
user4:x:1006:1005::/home/user4:/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

/*
再增长一个用户user7,不作任何设置;发现uid从1008直接变为了1009,但其实1005还空缺,因此说uid不指定的状况下uid自动从当前最大值增长;而gid没有从当前最大值1010增长,而是保持和uid一致;
*/

[root@colinlinux ~]# useradd user8
[root@colinlinux ~]# tail -n 3 /etc/passwd
user6:x:1008:1010::/home/user6:/bin/bash
user7:x:1009:1009::/home/user7:/bin/bash
user8:x:1010:1011::/home/user8:/bin/bash
[root@colinlinux ~]# 

/*
再增长一个用户user8,不作任何设置;uid从1009直接变为了1010,自动从当前最大值增长;而gid由于1010已经被占用,而且当前最大是1010,因此变为了1011;
*/
[root@colinlinux ~]# tail -n 6 /etc/passwd
user3:x:1004:1005::/home/user3:/bin/bash
user4:x:1006:1005::/home/user4:/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
user8:x:1010:1011::/home/user8:/bin/bash
[root@colinlinux ~]# useradd -u 1005 user9 
[root@colinlinux ~]# tail -n 6 /etc/passwd
user4:x:1006:1005::/home/user4:/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
user8:x:1010:1011::/home/user8:/bin/bash
user9:x:1005:1012::/home/user9:/bin/bash

/*
再天津爱一个用户user9,指定uid=1005,添加以前uid1005空缺,可是gid1005已经被占用,添加后发现user9的gid=1012,说明gid被占用的时候从当前最大值增长;
*/

三、userdel命令删除用户

功能:删除一个用户。

语法:userdel [-r] [用户名]

参数:

        -r:不加-r选项,默认只删除用户,不删除用户家目录和家目录里的文件,加-r则删除和用户相关的家目录及文件。

 

3.一、删除用户不删除相关目录和文件

# userdel user7

只删除用户user7,不删除用户家目录和家目录里的文件。

[root@colinlinux ~]# tail -n 3 /etc/passwd
user7:x:1009:1009::/home/user7:/bin/bash
user8:x:1010:1011::/home/user8:/bin/bash
user9:x:1005:1012::/home/user9:/bin/bash
[root@colinlinux ~]# userdel user7
[root@colinlinux ~]# tail -n 3 /etc/passwd
user6:x:1008:1010::/home/user6:/bin/bash
user8:x:1010:1011::/home/user8:/bin/bash
user9:x:1005:1012::/home/user9:/bin/bash
[root@colinlinux ~]# ls /home/
colin  user2  user3  user4  user6  user7  user8  user9
[root@colinlinux ~]#

3.一、删除用户同时删除相关目录和文件

# userdel -r user6

删除user6用户同时删除用户相关的家目录及文件。

[root@colinlinux ~]# ls /home/
colin  user2  user3  user4  user6  user7  user8  user9
[root@colinlinux ~]# tail -n 3 /etc/passwd
user6:x:1008:1010::/home/user6:/bin/bash
user8:x:1010:1011::/home/user8:/bin/bash
user9:x:1005:1012::/home/user9:/bin/bash
[root@colinlinux ~]# userdel -r user6
[root@colinlinux ~]# tail -n 3 /etc/passwd
user5:x:1007:1007::/home/user5:/bin/bash
user8:x:1010:1011::/home/user8:/bin/bash
user9:x:1005:1012::/home/user9:/bin/bash
[root@colinlinux ~]# ls /home/
colin  user2  user3  user4  user7  user8  user9
[root@colinlinux ~]#
相关文章
相关标签/搜索