一、用户、组、权限
用户:UID,/etc/passwd
组:GID,/etc/group
二、影子口令:
用户:/etc/shadow
组:/etc/gshadow
三、用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000
四、按照用户进行划分,用户组类别:
管理员组:
普通组:
系统组:
一般组:
五、按照访问机制划分,用户组类别:
私有组:创建用户时,如果没有为其指定所属组,系统会自动为其创建一个与用户名同名的组
基本组:用户的默认组
附加组、额外组:默认组以外的其它组
六、权限:
r、w、x
相对于文件:
r:可读,可以使用类似cat等命令查看文件内容
w:可写,可以编辑或删除此文件
x:可执行,eXacutable,可以命令提示符下当作命令提交给内核运行
相对于目录:
r:可以对此目录执行ls以列出内部的所有文件
w:可以在此目录创建文件
x:可以使用cd切换进入此目录,也可以使用ls -l查看内部文件的详细信息
七、/etc/passwd文件字段详解:
account:登录名
passwd:密码
UID:用户ID
GID:用户组ID
GECOS:用户注释信息(可选项)
directory:家目录
shell:用户默认shell
例:[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
八、/etc/shadow文件字段详解:
login name:登录名
encrypted passwd:加密的密码
days since Jan 1, 1970 that password was last changed:从1970年1月1日距离最近一次修改所经历的时间
days before password may be changed:密码最短使用期限
days after which password must be changed:密码最长使用期限
days before password is to expire that user is warned:距密码过期警告时间
days after password expires that account is disabled:密码过期后宽限时间
days since Jan 1, 1970 that account is disabled:禁用时间
a reserved field:保留字段
例:[root@localhost ~]# cat /etc/shadow
root:$1$cMOCZydV$a2mUU3nj8N4fhTP5FCvtN1:17235:0:99999:7:::
九、/etc/group文件字段详解:
文件格式: group_name:passwd:GID:user_list
group:组名
passwd:组密码
GID:组ID
user_list:所有组成员的用户名(用逗号分隔)
例:[root@localhost ~]# cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
十、用户管理命令:
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
1、useradd [options] USERNAME
-u:指定UID
例:[root@localhost ~]# useradd -u 1000 user1
[root@localhost ~]# tail -1 /etc/passwd
user1:x:1000:1000::/home/user1:/bin/bash
-g:指定GID或基本组,只能一个
例:[root@localhost ~]# useradd -g mygroup user2
[root@localhost ~]# tail -1 /etc/passwd
user2:x:4006:502::/home/user2:/bin/bash
-G:GID,... 指定额外组(附加组),可以多少个
例:[root@localhost ~]# tail /etc/group
mygroup:x:502:user3
-c:"COMMENT"注释用户信息
-d:/path/to/directory,指定家目录
例:[root@localhost ~]# useradd -c "Tom Blare" -d /home/blare user4
[root@localhost ~]# tail -1 /etc/passwd
user4:x:4008:4008:Tom Blare:/home/blare:/bin/bash
-s:SHELL,指定shell路径
例:[root@localhost ~]# useradd -s /sbin/nologin user5
[root@localhost ~]# su - user5
This account is currently not available.
-m:未指定家目录的情况下,强制为用户创建家目录
-k:将/etc/skel中环境变量拷贝到创建的家目录下,常与“-m”连用
-M:不给用户创建家目录
例:[root@localhost ~]# su - user7
su: warning: cannot change directory to /home/user7: 没有那个文件或目录
-bash-3.2$
-r:添加一个系统用户
2、userdel:
userdel [options] USERNAME:删除用户默认是不删除用户家目录
-r:同时删除用户的家目录
3、id: 查看用户ID相关信息
例:[root@localhost ~]# id user1
uid=1000(user1) gid=1000(user1) groups=1000(user1) context=root:system_r:unconfined_t:SystemLow-SystemHigh
-u:显示UID
例:[root@localhost ~]# id -u user1
1000
-g:显示基本组GID
例:[root@localhost ~]# id -g user1
1000
-G:显示附加组GID
例:[root@localhost ~]# id -G user1
1000
-n:显示属主、属组及附加组名称
例:[root@localhost ~]# id -u -n user1
user1
4、finger:查看用户账号属性相关信息
finger NAME
例:[root@localhost ~]# finger user1
Login: user1 Name: (null)
Directory: /home/user1 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
5、修改用户账号属性:
usermod:
-u:修改用户UID
例:
-g:修改用户基本组GID(必须存在)
-a -G:为用户追加附加组,不使用-a选项,会覆盖此前的附加组:
-c:修改用户注释信息
-d -m:修改用户家目录并将此前的家目录文件移动到修改的家目录中,不使用-m,家目录修改后原家目录文件无法访问
-s:修改用户shell
-l:修改用户登录名
-e:定义用户的过期时间
-L:锁定用户账号,即账号禁用
-U:解锁用户账号
chsh:修改用户shell
用法:chsh NAME
chfn:修改用户注释信息
6、密码管理:
passwd [USERNAME]
--stdin:从标准输入读取密码
例:[root@localhost ~]# echo "redhat" | passwd --stdin user3
Changing password for user user3.
passwd: all authentication tokens updated successfully.
-l:锁定用户账号
-u:解锁用户账号
-d:删除用户密码
例:[root@localhost ~]# passwd -d user3
Removing password for user user3.
passwd: Success
-n:设置密码最短使用时间
-x:设置密码最长使用时间
7、pwck:检查用户账号完整性
8、组管理:
groupadd:
-g:指定GID
-r:添加一个系统组
groupmod:修改组属性
-g:修改GID
-n:修改GRPNAME(组名)
groupdel:删除组
gpasswd:为组设定密码
newgrp:切换到新组
newgrp GRPNAME
chage:改变密码过期时间
-d:最近一次的修改时间
-E:过期时间
-I:非活动时间
-m:最短使用期限
-M:最长使用期限
-W:警告时间
十一、系统中的环境变量:
PATH
HISTSIZE
SHELL
查看自己当前shell:
查看系统中支持的SHELL种类:[root@localhost ~]# echo $SHELL
/bin/bash
例:[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
课后练习:
1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附件组为linux;
[root@Ourlab ~]# groupadd -g 3003 distro
[root@Ourlab ~]# groupadd linux
[root@Ourlab ~]# useradd -u 2002 -g distro -G linux mandriva
2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;
[root@Ourlab ~]# useradd -c "Fedora Community" -s /bin/tcsh fedora
3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;
[root@Ourlab ~]# usermod -u 4004 -g linux -G distro,fedora mandriva
4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;
[root@Ourlab ~]# passwd fedora
[root@Ourlab ~]# passwd -n 2 -x 50 fedora
5、将mandriva的默认shell改为/bin/bash;
[root@Ourlab ~]# usermod -s /bin/bash mandriva
6、添加系统用户hbase,且不允许其登录系统;
[root@Ourlab ~]# useradd -r -s /sbin/nologin hbase
阅读(1125) | 评论(0) | 转发(0) |