第一:用户
1:配置文件
/etc/passwd
/etc/shadow
2:过程
文件/etc/passwd中寻找账户---->文件/etc/shadow中匹配密码--->加载相应shell
3:文件
/etc/passwd
账号名:密码:UID:GID:用户说明信息:主文件夹:shell
/etc/shadow
账号:密码(已加密):更改时间:不可变动时间:重改时间:警告天数:失效时间:失效日期:保留
第二:用户组
1:配置文件
/etc/group
/etc/gshadow
2:文件
/etc/group
用户组名:密码:GID:包含的用户
/etc/gshadow
用户组名:密码:用户组管理员名:包含用户名
注意:包含用户名中对于初始用户组的用户,它是不写入第四个字段,这是由于登陆时用户会自动获取它的组,初始用户组是/passwd中的GID就是该用户组的初始用户组。
有效用户组:通过groups命令可以查看所有用户组,则第一个就是有效的,表示当前工作在次用户组下;可以通过命令newgrp来改变有效用户组。
注意:newgrp命令是设置一个新的shell环境,如果像回到原来工作环境需要用exit命令退出。
第三:相关命令集合
1:useradd命令---增加用户
-u:用户名 ID; –g:初始用户组名;–G:次用户组; –c:用户说明; –d:主文件夹; –s:Shell命令
修改了上述4个文件,普通的用户还会创建主文件夹,系统用户(用户系统服务)不会。
基本默认值如下:在文件/etc/default/useradd
查看详细默认值在文件:/etc/login.defs文件中
此命令相关文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home/xxxxx
/etc/login.defs
/etc/skel/* 改目录下的文件会复制到/home/*下。
/etc/default/useradd
2:passwd密码设置命令
用root用户来对其他用户设置密码;直接“passwd 用户”或则是”passwd”修改root密码。
常用方式:echo “xxxx” | passwd –stdin 用户
查看密码信息:passwd –S 用户名 或则 chage –l 用户名 //也可用来修改密码中的一些信息
3:usermod修改用户
通过参数修改用户中的信息。
4:userdel删除用户
-r表示连同主目录也删除
------------------------------------上述命令是系统用户的命令就是id<500的---------------------------------------------
5:finger---显示用户信息---“finger 用户”
6:chfn----修改用户信息---“chfn 用户”
7:chsh----显示修改shell信息跟文件/etc/shell
8:id---查看UID和GID---“id 用户名”
------------------------------------上述是用户的命令------------------------------------------------------------------
9:groupadd---增加用户组
groupadd 用户组名(<500的系统用户组用-r)
10:groupmod ----- 修改用户组
-g 改ID; –n 改名字
11:groupdel删除用户组
是初始用户组的用户组不能删除,必须先删除该用户,或则解除这种关系。
12:gpasswd用户管理员
gpasswd 用户组---设置密码
”gpasswd –A 用户 用户组“ 将用户组主控权给该组中某个用户
第四:ACL使用
独立对某个用户设置权限。。前提是系统文件支持这个acl
1:查看是否支持
mount可能查看不到
dumpe2fs –f /dev/hda2能查看到
修改成支持用 mount –o remount ,acl /
或者:在文件/etc/fstab中的defaults字段旁添加acl
2:2个关键命令
getfacl获取ACL设置
setfacl设置ACL-----setfacl –m u:用户:权限 文件-----设置后的文件会变成一个+
对用户组就是 g:用户组:权限
mask表示有效权限
m:权限 设置有效权限表示权限范围,要是mask只有r,则用户和 用户组也只能有-r,即使设置了也只能是r的权限。
第5:用户切换
1:命令su
切换用户,低级用户到高级用户需要填写高级用户密码---比如一般用户切换到root,则需要填写root的密码。
参数:
- 表示用login-shell方式登陆;没有则是切换身份,而没有登录进入目的用户的登录,这种方式不会改变变量例如变量$PATH
通过su xulinux切换了身份,但是变量中的PWD,PATH,MAIL等值还是身份root的值。
通过su – xulinux切换,可以看到它的变量名也跟着改变了。这就是他们两的区别。
建议使用su - 用户名 方式切换
参数: -c表示执行一次后自动返回原身份。
2:命令sudo
切换时需要输入自己的密码,这样可以隐蔽root的密码。
前提是:用户在/etc/sudoers里,如何去修改这个文件呢?不能直接用vi ,而是用visudo命令,这是因为它有语法,防止错误修改。
%表示用户组;
NOPASSWD:表示无码切换
第六:PAM模块
此部分有很多安全方面的东西,涉及的配置文件很多,具体用哪个时才细致详解。
待定。。。。。。。。。。。。。。。。
第七:其他
1:查询命令
w who last lastlog
2:用户对谈
write mesg wall
3:用户邮箱mail
4:pwck检查命令
Linux单机系统管理一:账号管理