您的位置:首页 > 运维架构 > Linux

linux学习笔记:账号管理与ACL权限设置

2014-12-20 20:24 337 查看
linux的账号与用户组

用户标识符:UID与GID

虽然在登录linux主机的时候,输入的是账号,但实际上linux认识的ID。每一个文件都会有UID和GID,当我们有要显示文件属性的需求时,系统会根据/etc/passwd和/etc/group的内容,找到UID和GID对应的账号与组名再显示出来。

/etc/passwd文件结构

例如:root:x:0:0:root:/root:/bin/bash

分别为账号名称,密码(密码放到/etc/shadow中,这里用x),UID(0指的是系统管理员,1-499是系统账号,500-65535是一般用户),GID(与/etc/group有关),用户信息说明列,主文件夹,Shell

/etc/group文件结构

例如:root:x:0:root

分别为用户组名称,用户组密码,GID,此用户组支持的账号名称(如果想将某个账号加入此用户组,将该账号填入这个字段即可)

有效与初始用户组

账号管理

useradd:新增用户

passwd:设置密码,比较特殊的可以通过standard input新建用户的密码,例如echo "abcd12345" | passwd --stdin lihui

chage:密码参数功能,有一个功能,让用户第一次登录时强制他们一定要更改密码后才能够使用系统资源:chage -d 0 lihui

usermod:修改

userdel:删除

finger:查阅用户相关的信息

cnfn:更改很多相关信息,例如电话,办公室号码

chsh:是change shell的缩写

id:查询某人或自己相关UID/GID等的信息

ACL的使用(具体权限规划)

主要的目的是提供传统的owner、group、others的read、write、execute权限之外的具体权限设置。ACL可以针对单一用户、单一文件或目录来进行r、w、x的权限设置。

用户身份切换

如何让一般用户转变身份为root呢?主要有两种方式:

1、以”su -“直接将身份变成root即可,但这个命令却需要root的密码

2、以”sudo“命令执行root的命令串,由于sudo需要实现设置妥当,且sudo需要输入用户自己的密码

su

单纯使用su切换成为root的身份,读取的变量设置方式为non-login shell的方式,这种方式下很多原本的变量不会被改变,尤其是PATH这个变量,虽然切换身份时,务必使用”su -“。

sudo

用户的特殊shell和PAM模块

特殊的shell,/sbin/nologin

系统账号的shell就是使用/sbin/nologin,系统账号是不需要登录的。但这个账号是可以使用其他的系统资源。例如,打印作业由lp这个账号在管理,WWW服务是由apahe这个账号在管理,他们都可以进行系统程序的工作,但是无法登录主机。

PAM模块

PAM可以说是一套应用程序编程接口,它提供了一连串的验证机制,只要用户将验证阶段的需求告知PAM后,PAM就能够回报用户验证的结果(成功或失败)。

Linux主机上的用户信息传递

查询用户:w、who、last、lastlog

用户对谈:write、mesg、wall

邮箱:mail

手动新增用户

pwck:检查/etc/passwd这个账号配置的文件内的信息,与实际的主文件夹是否存在等信息,还可以比较/etc/passwd /etc/shadow的信息是否一致

pwconv:将/etc/passwd内的账号与密码移动到/etc/shadow当中

手机新增用户

1、新建用户组

vi /etc/group,加入normalgroup:x:520:

grpconv

2、新建账号

vi /etc/passwd,加入normaluser:x:700:520::/home/normaluser:/bin/bash

3、同步密码,并且修改密码

pwconv

passwd normaluser

4、新建用户主文件夹,并且修改权限

cp -a /etc/skel /home/normaluser

chown -R normaluser:normaigroup /home/normaluser

chmod 700 /home/normaluser
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: