用户(user)和用户组(group)
一。相关配置文件
1. 与用户(user)相关的配置文件
1.1 /etc/passwd 用户(user)的配置文件
[root@VM_14_49_centos ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
(1). 用户名(root)
(2). 用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代(x)
(3). 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。(0)
(4). 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输
入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的
话正常登录。(0)
(5). 用户的账号说明解释(root)
(6). 用户的家目录文件夹(/root)
(7). 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。(/bin/bash)
1.2. /etc/shadow 用户(user)影子口令文件
[root@VM_14_49_centos ~]# cat /etc/shadow
root:$1$yncolwWR$AtIAQZLmWz66C0EwP14Ns/:17114:0:99999:7:3::
(1). 用户名(root)
(2). 用户的密码加密字段($1$yncolwWR$AtIAQZLmWz66C0EwP14Ns/)
(3). 密码已经使用的日期(从1970-01-01开始,为什么?因为unix1969年发布雏形,基于当时对系统的考虑,就这样了)(17114)
(4). 密码最少多少天之后可以修改(如果例子中是3天之后,也就是修改一次3天之后才能再次修改)(0)
(5). 密码多少天之后必须修改(例子中99999就是表明可以一直不用修改密码)(99999)
(6). 密码修改之前几天提醒我修改(例子中是7天之前)
(7). 要是没有修改延长几天(例子中延长3天)(3)
(8). 无论怎样到这个时间过期(例子中的时间从1970-01-01算)
(9). 保留字段,目前无含义
2. 与用户组(group)相关的配置文件
1.1. /etc/group 用户组(group)配置文件
[root@VM_14_49_centos ~]# cat /etc/group root:x:0: bin:x:1:bin,daemon
(1). 组名(bin)
(2). 密码,一般不需要(x)
(3). 组标识符gid(1)
(4). 组里的用户列表(bin,daemon)
1.2. /etc/gshadow 用户组(group)的影子文件(很少用)
3. /etc/skel 目录
[root@VM_14_49_centos ~]# ls -la /etc/skel/ total 20 drwxr-xr-x. 2 root root 4096 Dec 12 10:14 . drwxr-xr-x. 70 root root 4096 Dec 12 10:48 .. -rw-r--r-- 1 root root 18 Mar 23 2017 .bash_logout -rw-r--r-- 1 root root 176 Mar 23 2017 .bash_profile -rw-r--r-- 1 root root 124 Mar 23 2017 .bashrc [root@VM_14_49_centos ~]#
/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录
下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默
认的用户环境;
4. /etc/login.defs 配置文件
/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;
5. /etc/default/useradd 文件
[root@VM_14_49_centos ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home #把用户的家目录建在/home中 INACTIVE=-1 #是否启用帐号过期停权,-1表示不启用 EXPIRE= #帐号终止日期,不设置表示不启用 SHELL=/bin/bash #所用SHELL的类型 SKEL=/etc/skel #默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的 CREATE_MAIL_SPOOL=yes
二。相关命令
1. 建新用户
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码
2. 建工作组
groupadd test //新建test工作组
3. 新建用户同时增加工作组
useradd -g test phpq //新建phpq用户并增加到test工作组
-g 所属组 -d 家目录 -s 所用的SHELL
4. 给已有的用户增加工作组
usermod -G groupname username (这个会把用户从其他组中去掉)
usermod -a groupname username
5. 永久性删除用户账号
userdel peter
groupdel peter
usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)
6. 从组中删除用户
编辑/etc/group
三。文件权限
1. 权限说明
[root@VM_14_49_centos ~]# ls -alh total 80K drwx------ 2 root root 4.0K Dec 4 17:47 .ssh -rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc
(1) d表示文件夹,-表示文件(从左往右第一个标识)
(2) r 可读(4) w可写(2) x可执行(1) #后面的数字可直接用来改对应的权限
(3). 从左往右每三个表示 所有者 组 其他用户 的权限
(4). 左边的root 表示所有者,右边的root表示组
2. 相关命令
(1) 修改a.html的权限(文件夹也可以)
chmod 777 a.html
三个数字分别表示 所有者 组 其他用户 的权限,每个数字可用r(4)w(2)x(1)-(0)组合
(2)递归修改a文件夹的所有(包括当前文件夹和里面文件夹和文件)
chmod -R 777 a
(3)修改文件所有者
chown root:root a.html
四。参考
https://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html