「学习笔记——Linux」Linux账号管理与ACL权限设定
$ head -n 4 /etc/passwd root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/sh
$cat /etc/passwd | grep minix007minix007:x:1000:1000:minix007,,,:/home/minix007:/bin/bash账号名称密码(此字段为x,真正的密码放在/etc/shadow里了)UID0:系统管理员1~499:系统账号500~65535:可登入账号GID用户信息说明家目录Shell
# cat /etc/shadow | grep minix007minix007:$6$Uk9abd2a7z.qWQQW0CNBsqeZvpx9UcyQ1:15597:0:99999:7:::账号名称加密后的密码最近修改密码的日期密码不可变动的天数密码需要变动的天数密码需要变动前的警告天数密码过期后账号宽限天数账号失效日期保留
$ head -n 4 /etc/grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:组名组密码GID此组支持的账号
# head -n 4 /etc/gshadowroot:*::daemon:*::bin:*::sys:*::组名密码群组管理员账号该群组所属账号
$ useradd -DGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no
ACL是Access Control List的缩写,主要的目的是提供传统的owner,group,others的read,write,execute 权限之外的细部权限设定,ACL可以针对单一使用者,单一档案或者目录来进行r,w,x权限的设定,对于需要 有特殊权限的使用状况非常有帮助。
$ mount/dev/sda7 on / type ext4 (rw,errors=remount-ro).../dev/sda10 on /home type ext4 (rw)...
括号里没有显示acl,说明acl没有启用
ACL的启用# mount -o remount,acl /home
这样,再查看ACL是否启用时,就会得到
$ mount | grep home/dev/sda10 on /home type ext4 (rw,acl)
$ touch testacl$ ll testacl -rw-rw-r-- 1 minix007 minix007 0 2月 4 16:42 testacl$ getfacl testacl # file: testacl # owner: minix007 # group: minix007user::rw-group::rw-other::r--setfacl为特定用户设置权限
$ ll testacl -rw-rw-r-- 1 minix007 minix007 0 2月 4 16:42 testacl# setfacl -m u:minix007:rx testacl$ ll testacl -rw-rwxr--+ 1 minix007 minix007 0 2月 4 16:42 testacl*
可以看到,testacl的权限信息已经和以前不同了
nologin是一个特殊的shell,如果一个账号的shell是nologin,那么它是无法通过shell登录的,但是它可以使用 系统的资源,这样就限制了这个账号使用shell的权利。因为有些账号是不需要使用shell的,分给它们会让系统 陷入危险。
一部主机上可能很多地方都需要验证,他们有着不同的验证机制,有的时候这可能造成一些混乱,比如 一致性问题,PAM是一套应用程序编程接口,他提供了一系列验证机制,只要使用者将验证需要告诉PAM, PAM就能返回验证的结果。
$ whominix007 tty7 2013-02-04 14:52minix007 pts/2 2013-02-04 15:15 (:0.0)lastlog:所有账户最后登录时间使用者交谈:write,mesg,mail