第二章 用户和组管理
2.27 Linux和windows互传文件
注: 只能在Xshell环境下使用,lrzsz工具
Yum install –y lrzsz ##安装包
Sz 1.txt ##linux传Windows文件,空文件有时会传输失败
rz ##回车 选文件 电脑传liunx
第三章 用户和组管理
3.1 用户配置文件和密码配置文件
1)用户配置文件
[root@3 ~]# cat /etc/passwd | head
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
关于“|”:
head前面的“|”叫做管道符。它的作用是把前面命令的输出再输入给后面的命令。
注意:
1)管道命令只处理前一个命令正确输出,不处理错误输出
2)管道命令右边命令,必须能够接收标准输入流命令才行。
用户配置文件解析:
/etc/passwd 由“:”分割成 7 个字段,每个字段的具体含义是:
(1) 用户名(如第一行中的 root 就是用户名),代表用户账号的字符串。用户名字符可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为容易造成混淆。
(2) 第二个字段存放的是该账号的口令。这里为什么是“x”呢?早期的 Unix 系统口令确实是存放在这里,但基于安全因素,后来就将其存放到“/etc/shadow”中了,在这里只用一个“x”代替。
(3) 这个数字代表用户标识号,也叫做 uid。系统识别用户身份就是通过这个数字来的, 0 就是 root,也就是说我们可以修改 test 用户的 uid 为 0,那么系统会认为 root 和 test 为同一个账户。 uid 的取值范围是0~65535(但实际上已经可以支持到 4294967294), 0 是超级用户(root)的标识号, 1~499 由系统保留,作为管理账号,普通用户的标识号从 500 开始,如果我们自定义建立一个普通用户,你会看到该账户的标识号是大于或等于 500 的。
(4) 表示组标识号,也叫做 gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group 和/etc/passwd基本上类似。
(5) 注释说明,该字段没有实际意义。通常记录该用户的一些属性,例如姓名、电话、地址等等。不过,当你使用 finger 的功能时就会显示这些信息的(稍后做介绍)。
(6) 用户的家目录,当用户登录时就处在这个目录下。 root 的家目录是/root,普通用户的家目录则为/home/username,用户家目录是可以自定义的。比如,建立一个普通用户 test1,要想让 test1 的家目录在/data目录下,只要修改/etc/passwd 文件中对应该用户那行中的本字段为/data 即可。
(7) 用户的 shell。用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是 shell。 Linux的 shell 有很多种 sh、 csh、 ksh、 tcsh、 bash 等。而 Redhat/CentOS 的 shell 就是 bash。查看/etc/passwd 文件,该字段中除了/bin/bash 外还有/sbin/nologin 比较多,它表示不允许该账号登录。如果想建立一个账号不让他登录,那么就可以把该字段改成/sbin/nologin,默认是/bin/bash。
2)密码配置文件
[root@3 ~]# cat /etc/shadow | head -n3
root:$6$SMvrA/u3SwTTikIa$TcmVJk9wYHfDaPP47SOyTXKkKoQlMbmnzEu3tBi/y8/JkPt2CSe2jDJeLL6TTn0CoCITTonxAE28Gbd6PruFg.::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
密码配置文件解析:
3.2 用户组管理
组文件:/etc/group 组密码:/etc/gshadow
groupadd命令
语法: groupadd [-g] groupname
[root@3 ~]# groupadd grptest001 创建组
[root@3 ~]# tail -n1 /etc/group
grptest001:x:1002:
选项:
-g:指定组权限(gid)
[root@3 ~]# groupadd -g 511 grptest002 创建组的同时指定其权限
[root@3 ~]# tail -n2 /etc/group
grptest001:x:1002:
grptest002:x:511:
groupdel命令
[root@3 ~]# groupdel grptest002 删除组
[root@3 ~]# tail -n3 /etc/group
user1:x:1001:
slocate:x:21:
grptest001:x:1002:
[root@3 ~]# groupdel user1
groupdel:不能移除用户“user1”的主组 组user1内有用户user1,无法删除
说明: 该命令没有特殊选项,只能删除空白组!
3.3 用户管理
useradd命令
语法: useradd [-u] [-g] [-d] [-M] [-s] [username]
选项:
-u:指定uid
-g:指定其所属组
-d:自定义用户家目录
-M:不建立家目录
-s:自定义shell
eg:
[root@3 ~]# useradd test1
[root@3 ~]# tail -n1 /etc/passwd
test1:x:1002:1002::/home/test1:/bin/bash
[root@3 ~]# tail -n1 /etc/group
test1:x:1002:
useradd不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组!
[root@3 ~]# useradd -u754 -gtest1 -M -s /sbin/nologin user001
[root@3 ~]# tail -n2 /etc/passwd
test1:x:1002:1002::/home/test1:/bin/bash
user001:x:754:1002::/home/user001:/sbin/nologin
[root@3 ~]# tail -n2 /etc/group
slocate:x:21:
test1:x:1002:
[root@3 ~]# ls /home/user001
ls: 无法访问/home/user001: 没有那个文件或目录
说明: -M选项是不创建目录,但是在/etc/passwd文件中仍有这个字段,但是用ls /home/user001查看时提示目录不存在,所以-M选项的作用只是不创建那个目录。
userdel命令
语法: userdel [-r] username
[root@3 ~]# ls -ld /home/user002
drwx------ 2 user002 test1 62 6月 12 21:27 /home/user002
[root@3 ~]# userdel user002
[root@3 ~]# ls -ld /home/user002/
drwx------ 2 755 test1 62 6月 12 21:27 /home/user002
[root@3 ~]# userdel -r test1
[root@3 ~]# ls -ld /home/test1/
ls无法访问/home/test1:没有那个文件或目录
即:-r选项的作用时删除账户的时候连带账户的家目录一起删除。