一、用户
在Linux系统中,一切皆文件。当我们用useradd命令添加一个用户user1时,会在文件系统中产生以下文件
1. /etc/passwd
用vi编辑器打开这个文件,可以看到第一行如下
root:x:0:0:root:/root:/bin/bash
可以发现这段代码被6个冒号分成7段,我们来说一下这7段分别代表什么
1)root 是用户名
2)x 是密码占位符,如果用在vim编辑器中把x改成无,那root密码就被清除了
3)0 是uid,就是用户id
4) 0 是组id,是群组id
5) 第五部分是用户描述信息,可有可无
6)是用户的家目录,普通用户的家目录是/home,root用户的家目录是/root
7)第七部分有两种情况,一种是bin/bash,代表该用户可以登录,另一种是sbin/nologin,表示用户不可以登录
2./etc/shadow
这个文件用来存放用户密码,用vi编辑器打开
zhangcan:$6$e4sqB6e.$p6XAimGr/T0oo/qeRM88kKUVFUKl.1qBozzFniq2nnGDSlqTL8q1QyuCBdT8qgwaYYuV28Ew9LgBzCREyjVV81:17769:0:99999:7:::
第二段就是加密后的密码
3./etc/group
这个文件用来存放组文件,用vi编辑器打开
zhangcan:x:1000:zhangcan
被冒号分开的第一部分是组名,第二部分是组密码占位符,第三部分是组ID,第四部分是组内成员
4./etc/gshadow
这个文件存放组密码,但很少会设置组密码
5./home/user1
这个是新建用户的家目录
6./var/spool/mail/user1
这个文件用来存放用户的邮箱
vim的使用
vim 路径进入vi编辑器
a 插入模式,方向键控制光标
esc 退出编辑模式
:wq 保存退出vi编辑器
yy 复制一行
p 粘贴
G 移动到最后一行
删除用户
userdel -r 用户 就可以删除一个普通用户,必须加 -r,才能把创建的全部文件删除
手动创建一个新用户user2
我们已经知道创建一个新用户会产生上述7个新文件,那我们自己添加这7个文件就可以手动创建一个新用户了
1.vim /etc/passwd
在最后一行添加
user2:x:1005:1005::/home/user2:/bin/bash
2.vim /etc/shadow
最后一行添加
user2:!!:17310:0:99999:7:::
3.vim /etc/group
最后一行添加
user2:x:1005:
4.vim /etc/gshadow
最后一行添加
user2:!::
5.要新建一个用户家目录,mkdir /home/user2
但是家目录下并不是空的,有一些隐藏文件,我们可以从模板里面去拷贝,模板在/etc/skel/ 中,代码如下
[root@localhost /]# cp -r /etc/skel/.[!.]* /home/user2
6.新创建一个邮箱文件
[root@localhost /]# touch /var/spool/mail/user2
这样,我们就手动创建了一个用户user2
二、群组
我们用useradd创建新用户user1时,用户所属的群组就是默认创建的user1
当我们用手动方式创建新用户user2时,默认用户所属的群组是root
当然我们也可以以指定信息的方式创建用户,如
[root@localhost /]# useradd user1 -u 1003 -g 0 -c'script' -d /home/aaa -s /bin/sbash
其中 -u 表示uid, -g 表示主组,0代表的是root组,-c 表示描述信息, -d 表示家目录, -s 表示 shell信息
也可以在创建好用户后手动修改用户的组,用命令usermod ,如usermod user1 -g 1,1 代表bin组
这种方式是用覆盖的方式,把user1的主组改成bin,如果是追加的方式,要用 usermod user1 -a -G group2
可以用chown 命令修改文件的属主,如chown root:user1 /home/user1,这样就将user1 的属主改成了root
删除组 groupdel 组
三、权限
1.用ls -l 查看一个文件时,可以看到前边有一段权限信息,类似-rw-r--r--.这样,其中
第一个 - 表示是普通文件,另外还有
d 表示是目录文件
b 表示是块设备文件
l 表示是软链接文件,类似Windows中的快捷方式
p 表示是管道文件
然后剩下的9个,三个一组,第一组是对应文件的属主对该文件的权限
第二组是对应文件的属组对该文件的权限
第三组是对应文件的其他用户(非属主和属组的用户)对该文件的权限
最后那个.表示是该文件是在SELinux模块下写的
r:read 读权限 对应数字4
w:write 写权限 对应数字2
x:execute 执行权限 对应数字1
1)修改属主属组 chown 属主:属组 文件名
2)修改权限 chmod u=rwx,g=r,o=- 文件名
u代表属主,g代表属组,o代表其他用户
-代表无任何权限
3)修改目录权限,同时修改目录下所有子文件的权限,用chmod -R
4)实际操作中最常用数字代表权限,如chmod 764 a.txt
2.文件的权限
读:可以读文件内容
写:可以修改文件内容
执行:可以把文件当做程序去执行
3.目录的权限
读:可以浏览到该目录下的子目录和子文件名
写:可以新建文件、重命名文件,删除文件
执行:可以cd进目录