linux和windows互传文件、 用户组管理、用户管理

一、linux和windows互传文件

使用xshell,securecrt软件上传文件,先安装一个包linux

把linux中的文件上传到windows中,使用sz命令。方法:sz+文件名。算法

好比,咱们想把Linux下的文件传输到Windows,能够用sz filename便可:
sz y.txt
这时会弹出一个对话框,咱们能够选择保存位置桌面,而后咱们就能够在Windows桌面上查看这个文件了。shell

 

若是想把windows上的文件,传到Linux上去用rz命令
好比:rz 回车,这时会弹出一个对话框,咱们选择要传输的文件便可传到当前目录。windows

远程传输文件的命令:rz。从windows上,传到linux.安全


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

用户配置文件/etc/passwd,每一个用户占一行,,每一个用户都有一个独立的idbash

咱们把着些用户信息分为7段:
第一段wzq是用户名,
第二段x表明是密码,
第三段第一个1000表明用户uid
第四段,第二个1000表明gid,
第五段:与:之间表明用户的注释信息并无什么实质的做用,
第六段:/home/wzq表明用户的家目录,
第七段:/bin/bash表明用户的shell或者说是与其余用户交互的一个窗口,普通用户和root的shell都是“/bin/bash”,其余用户的shell是"/sbin/nologin",表示它们是不能登陆的。
·
另外一个专门存密码的文件叫作 /etc/shadow,它和用户配置文件passwd是一一对应的,是专门用来存储用户的密码的,每建立一个用户,它都会增长一行:
命令:ccat /etc/shadow
例如咱们建立用户huang。就会出现下面的信息
huang:!!:17619:0:99999:7:::服务器

 

出现nologin的用户,不能登陆。网络

给用户设置一个密码。app

系统里以下图这几个配置文件都是有一个带减号的文件,这是系统作的备份,若是不当心删除了这些配置文件,那么你就能够拷贝这些备份。
Linux和windows互传文件,用户配置文件和密码配置文件,用户及组管理ui

 

查看root用户的密码和aming用户的密码。

使用man shadow查看shadow的用法。


三、 用户组管理

(1)、组的概念:一个组里有不少个用户

groupadd 增长组

-g  (数字最好在1000以上) 指定gid

groupdel 删除组 (组内必须没有用户)

/etc/gshadow/  组密码的配置文件

/etc/shadow-/    /etc/passwd    /etc/gshadow-/  文件后面带-的,系统自动为咱们备份的,不当心删除时,能够拷贝回来,可能有新建用户的没有及时更新。

(2)、文件后缀的减号,是系统备份的文件。

[root@localhost ~]# ls -al /etc/passwd

-rw-r--r-- 1 root root 995 6月   8 11:31 /etc/passwd

注意:输入ls /etc/shadow后,不回车,用Tab键,命令补全查看,便可显示视频中的效果。

(3)、建立组grp1,组id号是1001

groupadd -g:指定gid
自定义最好指定1000以上的,由于1000之内系统都给预留了。

groupdel:删除组(前提是组里没有用户),存在用户的组,删除不掉。

 

 

删除目录时,要把目录里面的都删除,才能删除目录。


四、用户管理

(1)、语法

useradd(选项)(参数)

(2)、选项

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变动预设值;
-e<有效期限>:指定账号的有效期限;
-f<缓冲天数>:指定在密码过时后多少天即关闭该账号;
-g<群组>:指定用户所属的群组;
-G<群组>:建立用户,不建立家目录;
-m:自动创建用户的登入目录;
-M:不要自动创建用户的登入目录;
-n:取消创建以用户名称为名的群组;
-r:创建系统账号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id

(3)、参数

用户名:要建立的用户名。

(4)、实例

新建用户加入组:

useradd –g sales jack –G company,employees    //-g:加入主要组、-G:加入次要组

创建一个新用户帐户,并设置ID:

useradd caojh -u 544

须要说明的是,设定ID值时尽可能要大于500,以避免冲突。由于Linux安装后会创建一些特殊用户,通常0到499之间的值留给bin、mail这样的系统帐号

 

Linux用户分为三种类型:

管理用户:root用户,id 0;其家目录/root/;

系统用户:id (1-499),用于某些软件、基础服务的管理;

普通用户;id (500-60000),普通用户给我的使用,控制某些文件、软件;useradd -r name,系统用户默认没有家目录,能够指定/home/xxx;

Linux操做系统用户的特色以下:

  1. 每一个用户拥有一个UserID,操做系统实际读取的是UID,而非用户名;
  2. 每一个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;
  3. 每一个组拥有一个GroupID;
  4. 每一个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
  5. 每一个可登录用户拥有一个指定的Shell环境。
  1. /etc/passwd     保存用户信息
  2. /etc/shdaow     保存用户密码(以加密形式保存)
  3. /etc/group      保存组信息
  4. /etc/login.defs   用户属性限制,密码过时时间,密码最大长度等限制
  5. /etc/default/useradd 显示或更改默认的useradd配置文件;
  6. /etc/skel/                用户环境变量设置;

Cp  /etc/skel/.bash*  /home/jfedu1/

Su切换,环境变量恢复正常

把rwx转化为十进制,以下:

rwx=111=4+2+1

r-x=101=4+0+1=5

rw=110=4+4+0

r--=100=4+0+0=4

把rwx转化为二进制,其中有权限用1表示,没有权限用0表示:

rwx=111

r-x=101

rw-=110

r--=100

 

rwx--rwx--rwx=777

rwx--r-x--r-x=755

 

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

这段里-s /sbin/nologin user4怎么理解?

答案:-s 不就是指定用户的shell么。  /sbin/nologin 这个shell意思是不让这用户登陆。

user4放到最后,它就是你要增长的用户名字。

添加用户user3,并设置组为grp2,uid为1004。用tail -n3 /etc/passwd查看

添加user4,组grp2 更改目录和文件。

出现这种状况是由于,1004这个uid被占用了。

大M的做用,建立用户,不建立家目录。

useradd和adduser均可以添加用户。

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户账号,而不删除相关文件。

语法

userdel(选项)(参数)

选项

-f:强制删除用户,即便用户当前已登陆;
-r:删除用户的同时,删除与用户相关的全部文件。

参数

用户名:要删除的用户名。

实例

userdel命令很简单,好比咱们如今有个用户linuxde,其家目录位于/var目录中,如今咱们来删除这个用户:

userdel linuxde       //删除用户linuxde,但不删除其家目录及文件;
userdel -r linuxde    //删除用户linuxde,其家目录及文件一并删除;

 

理清Linux 用户与用户组关系

一、用户和用户组文件

 

在 linux 中,用户账号,用户密码,用户组信息和用户组密码均是存放在不一样的配置文件中的。


在 linux 系统中,所建立的用户账号和其相关信息 (密码除外) 均是存放在 / etc/passwd 配置文件中。因为全部用户对 passwd 文件均有读取的权限,所以密码信息并未保存在该文件中,而是保存在了 / etc/shadow 的配置文件中。


在 passwd 文件中,一行定义一个用户账号,每行均由多个不一样的字段构成,各字段值间用 ":” 分隔,每一个字段均表明该账号某方面的信息。


在刚安装完成的 linux 系统中,passwd 配置文件已有不少账号信息了,这些账号是由系统自动建立的,他们是 linux 进程或部分服务程序正常工做所须要使用的帐户,这些帐户的最后一个字段的值通常为 / sbin/nologin,表示该账号不能用来登陆 linux 系统。


在 passwd 配置文件中,从左至右各字段的对应关系及其含义:

 

 

因为 passwd 再也不保存密码信息,因此用 x 占位表明。


若要使某个用户帐户不能登陆 linux,只需设置该用户所使用的 shell 为 / sbin/nologin 便可。好比,对于 FTP 帐户,通常只容许登陆和访问 FTP 服务器,不容许登陆 linux 操做系统。若要让某用户没有 telnet 权限,即不容许该用户利用 telnet 远程登陆和访问 linux 操做系统,则设置该用户所使用的 shell 为 / bin/true 便可。若要让用户没有 telnet 和 ftp 登陆权限,则可设置该用户的 shell 为 / bin/false。


在 / etc/shells 文件中,若没有 / bin/true 或 / bin/false,则须要手动添加
[root@localhost ~]# echo "/bin/false">>/etc/shells
[root@localhost ~]# echo "/bin/true">>/etc/shells

 

二、用户密码文件

 

为安全起见,用户真实的密码采用 MD5 加密算法加密后,保存在 / etc/shadow 配置文件中,该文件只有 root 用户能够读取。


与 passwd 文件相似,shadow 文件也是每行定义和保存一个帐户的相关信息。第一个字段为用户账户名,第二个字段为帐户的密码。

 

三、用户组账号文件


用户组账号信息保存在 / etc/group 配置文件中,任何用户都可以读取。用户组的真实密码保存在 / etc/gshadow 配置文件中。


在 group 中,第一个字段表明用户组的名称,第二个字段为 x,第三个为用户组的 ID 号,第四个为该用户组的用户成员列表,各用户名间用逗号分隔。

 

四、添加用户


建立或添加新用户使用 useradd 命令来实现,其命令用法为:


useradd [option] username
该命令的 option 选项较多,经常使用的主要有:
-c 注释      用户设置对帐户的注释说明文字
-d 主目录    指定用来取代默认的 / home/username 的主目录
-m          若主目录不存在,则建立它。-r 与 - m 相结合,可为系统帐户建立主目录
-M          不建立主目录
-e date     指定帐户过时的日期。日期格式为 MM/DD/YY
-f days     账号过时几往后永久停权。若指定为 -,则当即被停权,若为 - 1,则关闭此功能
-g 用户组     指定将用户加入到哪一个用户组,该用户组必须存在
-G 用户组列表 指定用户同时加入的用户组列表,各组用逗分隔
-n          不为用户建立私有用户组
-s shell    指定用户登陆时使用的 shell,默认为 / bin/bash
-r          建立一个用户 ID 小于 500 的系统帐户,默认不建立对应的主目录
-u 用户 ID    手动指定新用户的 ID 值,该值必须惟一,且大于 499
-p password 为新建用户指定登陆密码。此处的 password 是对应登陆密码经 MD5 加密后所获得的密码值,不实真实密码原文,所以在实际应用中,该参数选项使用较少,一般单独使用 passwd 命令来为用户设置登陆密码。

 

示例:


若要建立一个名为 nisj 的用户,并做为 babyfish 用户组的成员,则操做命令为:
[root@localhost ~]# useradd -g babyfish nisj
[root@localhost ~]# id nisj
uid=502(nisj) gid=500(babyfish) groups=500(babyfish)
[root@localhost ~]# tail -1 /etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
添加用户时,若未用 - g 参数指定用户组,则系统默认会自动建立一个与用户账号同名的私有用户组。若不须要建立该私有用户组,则可选用 - n 参数。
好比,添加一个名为 nsj820 的帐户,但不指定用户组,其操做结果为:
[root@localhost ~]# useradd nsj820
[root@localhost ~]# id nsj820
uid=503(nsj820) gid=503(nsj820) groups=503(nsj820)
[root@localhost ~]# tail -1 /etc/passwd
nsj820:x:503:503::/home/nsj820:/bin/bash
[root@localhost ~]# tail -2 /etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
nsj820:x:503:503::/home/nsj820:/bin/bash #系统自动建立了名为 nsj820 的用户组,ID 号为 503


建立用户帐户时,系统会自动建立该用户对应的主目录,该目录默认放在 / home 目录下,若要改变位置,能够利用 - d 参数指定;对于用户登陆时使用的 shell,默认为 / bin/bash,若要更改,则使用 - s 参数指定


例如,若要建立一个名为 vodup 的帐户,主目录放在 / var 目录下,并指定登陆 shell 为 / sbin/nologin,则操做命令为:


[root@localhost ~]#  useradd -d /var/vodup -s /sbin/nologin vodup
[root@localhost ~]# id vodup
uid=504(vodup) gid=504(vodup) groups=504(vodup)
[root@localhost ~]# tail -1 /etc/passwd
vodup:x:504:504::/var/vodup:/sbin/nologin
[root@localhost ~]# tail -1 /etc/group
vodup:x:504:

 

 

五、设置账号属性


对于已建立好的用户,可以使用 usermod 命令来修改和设置帐户的各项属性,包括登陆名,主目录,用户组,登陆 shell 等,该命令用法为:


usermod [option] username
部分 option 选项


(1)改变用户账户名


使用 - l 参数来实现,命令用法为:
usermod -l 新用户名 原用户名


例如,若要将用户 nsj820 改名为 nsj0820,则操做命令为:
[root@localhost ~]# usermod -l nsj0820 nsj820
[root@localhost ~]# id nsj0820
uid=503(nsj0820) gid=503(nsj820) groups=503(nsj820)
[root@localhost ~]# tail -1 /etc/passwd
nsj0820:x:503:503::/home/nsj820:/bin/bash
从输出结果可见,用户名已更改成 nsj0820。主目录仍为原来的 / home/nsj820,若也要更改成 / home/nsj0820,则可经过执行如下命令来实现
[root@localhost ~]# usermod -d /home/nsj0820 nsj0820
[root@localhost ~]# id nsj0820
uid=503(nsj0820) gid=503(nsj820) groups=503(nsj820)
[root@localhost ~]# tail -1 /etc/passwd
nsj0820:x:503:503::/home/nsj0820:/bin/bash
[root@localhost home]# mv /home/nsj820 /home/nsj0820

 

(2)锁定帐户


若要临时禁止用户登陆,可将该用户帐户锁定。锁定帐户可利用 - L 参数来实现,其命令用法为:


usermod -L 要锁定的帐户


linux 锁定用户,是经过在密码文件 shadow 的密码字段前加 “!” 来标识该用户被锁定。


[root@localhost home]# usermod -L nsj0820
[root@localhost home]# tail -1 /etc/shadow
nsj0820:!$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::


但经过 root 用户进去,而后 su 到被锁定的用户,是能够进去的。

 

(3)解锁帐户


要解锁帐户,可使用带 -U 参数的 usermod 命令来实现。


[root@localhost ~]# usermod -U nsj0820
[root@localhost ~]# tail -1 /etc/shadow
nsj0820:$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::

 

六、删除帐户

 

要删除帐户,可使用 userdel 命令来实现,其用法为:
userdel [-r] 账户名


-r 为可选项,若带上该参数,则在删除该帐户的同时,一并删除该帐户对应的主目录


[root@localhost ~]# userdel -r nsj0820


若要设置全部用户帐户密码过时的时间,则可经过修改 / etc/login.defs 配置文件中的 PASS_MAX_DAYS 配置项的值来实现,其默认值为 99999,表明用户帐户密码永不过时。其中 PASS_MIN_LEN 配置项用于指定帐户密码的最小长度,默认为 5 个字符。

 

七、设置用户登陆密码


使用 passwd 命令来设置,其命令用法为:
passwd [账户名]
若指定了账户名称,则设置指定帐户的登陆密码,原密码自动被覆盖。只有 root 用户才有权设置指定帐户的密码。通常用户只能设置或修改本身帐户的密码(不带参数)。


例如, 若要设置 nisj 帐户的登录密码,则操做命令为:
[root@localhost home]# passwd nisj
Changing password for user nisj.
New password: 
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
帐户登陆密码设置后,该帐户就能够登陆系统了。

 

八、锁定 / 解锁帐户密码及查询密码状态、删除帐户密码


在 linux 中,除了用户帐户可被锁定外,帐户密码也可被锁定,任何一方被锁定后,都将没法登陆系统。只有 root 用户才有权执行该命令,锁定帐户密码使用带 - l 选项的 passwd 命令,其用法为:


passwd -l 账户名
passwd -u 账户名 
   #解锁帐户密码
[root@localhost home]# passwd -l nisj
Locking password for user nisj.
passwd: Success
[root@localhost home]# passwd -u nisj
Unlocking password for user nisj.
passwd: Success


要查询当前帐户的密码是否被锁定,可使用带 - S 参数的 passwd 命令来实现,其用法为:
passwd -S 帐户名
例如
[root@localhost home]# passwd -S nisj
nisj PS 2016-04-18 0 99999 7 -1 (Password set, MD5 crypt.)


如要删除帐户的密码,使用带 - d 参数的 passwd 命令来实现,该命令也只有 root 用户才有权执行,其用法为:
passwd -d 账户名
账户密码被删除后,将不能登陆系统,除非从新设置密码

 

九、建立用户组


用户和用户组属于多对多关系,一个用户能够同时属于多个用户组,一个用户组能够包含多个不一样的用户。


建立用户组使用 groupadd 命令,其命令用法为:
groupadd [-r] 用户组名称


若命令带有 - r 参数,则建立系统用户组,该类用户组的 GID 值小于 500;若没有 - r 参数,则建立普通用户组,其 GID 值大于或等于 500.

 

十、修改用户组属性

 

用户组建立后,根据须要可对用户组的相关属性进行修改。对用户组属性的修改,主要是修改用户组的名称和用户组的 GID 值。
(1)改变用户组的名称
若要对用户组进行重命名,可以使用带 - n 参数的 groupmod 命令来实现,其用法为:
groupmod -n 新用户组名  原用户组名


对于用户组更名,不会改变其 GID 的值


好比,若要将 student 用户组改名为 teacher 用户组,则操做命令为:
[root@localhost home]# groupadd student
[root@localhost home]# tail -1 /etc/group
student:x:505:
[root@localhost home]# groupmod -n teacher student
[root@localhost home]# tail -1 /etc/group
teacher:x:505:


(2)重设用户组的 GID
用户组的 GID 值能够从新进行设置修改,但不能与已有用户组的 GID 值重复。对 GID 进行修改,不会改变用户名的名称。


要修改用户组的 GID,可以使用带 - g 参数的 groupmod 命令,其用法为:
groupmod -g new_GID 用户组名称


例如,若要将 teacher 组的 GID 更改成 506,则操做命令为:
[root@localhost home]#  groupmod -g 506 teacher
[root@localhost home]# tail -1 /etc/group
teacher:x:506:

 

十一、删除用户组


删除用户组使用 groupdel 命令来实现,其用法为:
groupdel 用户组名


在删除用户组时,被删除的用户组不能是某个帐户的私有用户组,不然将没法删除,若要删除,则应先删除引用该私有用户组的帐户,而后再删除用户组。


[root@localhost home]# groupdel teacher
[root@localhost ~]# grep teacher /etc/group    #没有输出,说明 teacher 用户组以不存在,删除成功

 

十二、添加用户到指定的组 / 从指定的组中移除用户


能够将用户添加到指定的组,使其成为该组的成员。其实现命令为:
gpasswd -a 用户帐户  用户组名


若要从用户组中移除某用户,其实现命令为:
gpasswd -d 用户帐户  用户组名
例如:
[root@localhost home]# groupadd student
[root@localhost home]# gpasswd -a nisj student
Adding user nisj to group student
[root@localhost home]# id nisj
uid=502(nisj) gid=500(babyfish) groups=500(babyfish),505(student)
[root@localhost home]# gpasswd -d nisj student
Removing user nisj from group student
[root@localhost home]# id nisj
uid=502(nisj) gid=500(babyfish) groups=500(babyfish)
[root@localhost home]# groups nisj
nisj : babyfish

 

1三、设置用户组管理员


添加用户到组和从组中移除某用户,除了 root 用户能够执行该操做外,用户组管理员也能够执行该操做。


要将某用户指派为某个用户组的管理员,可以使用如下命令来实现;


gpasswd -A 用户帐户 要管理的用户组
命令功能:将指定的用户设置为指定用户组的用户管理员。用户管理员只能对受权的用户组进行用户管理 (添加用户到组或从组中删除用户),无权对其余用户组进行管理。


[root@localhost home]# gpasswd -a nisj student
Adding user nisj to group student
[root@localhost home]# gpasswd -A nisj student
[root@localhost home]# useradd stu
[root@localhost home]# gpasswd -a stu student
Adding user stu to group student
[root@localhost home]# groups stu
stu : stu student
[root@localhost home]# su - nisj
[nisj@localhost ~]$ gpasswd -d stu student
Removing user stu from group student
[nisj@localhost ~]$ gpasswd -d stu stu
gpasswd: Permission denied.

 

1四、用户其余相关


另外,linux 还提供了 id,whoami 和 groups 等命令,用来查看用户和组的状态。id 命令用于显示当前用户的 uid,gid 和所属的用户组的列表;whoami 用于查询当前用户的名称;groups 用于产看指定用户所隶属的用户组。


同时,咱们可使用图形界面来管理用户和用户组,系统 ---> 管理 ---> 用户和组群能够打开相应的配置界面。

 

附:将用户添加到组中,也能够以下操做
将一个用户添加到用户组中,千万不能直接用: 
usermod -G groupA 
这样作会使你离开其余用户组,仅仅作为这个用户组 groupA 的成员。 
应该用 加上 -a 选项: 
usermod -a -G groupA user
(FC4: usermod -G groupA,groupB,groupC user)
-a 表明 append, 也就是 将本身添加到 用户组 groupA 中,而没必要离开其余用户组。

 

 

centOS 6和centOS 7的区别

 

常见问题:

上传下载的软件lrzsz

安装命令:yum install lrzsz  -y

安装过程出现这个状况,要删除media.repo源。缘由是不能上网。

配置一下网络

 

相关文章
相关标签/搜索