Linux用户权限管理

安全上下文 (secure context):

用户:#UID /etc/passwd
组:#GID   /etc/group
影子口令:
用户:#/etc/shadow
组:  #/etc/gshadow

用户类别:

管理员:#0
普通用户:#1-65535
系统用户:#1-499(不允许登录)
一般用户:#500-60000

用户组类别:

私有组:#创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组
基本组:#用户的默认组
附加组:#额外组:默认组意外的其他组 /etc/passwd
account:#登录名
password:#密码
UID:
GID:#基本组ID
comment:#注释
HOME DIR:#家目录
SHELL:#用户默认shell
/etc/shadow
account:#登录名
encrypted password:#加密的密码

用户管理:

useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
useradd [options] USERNAME 

-u:#UID
-g:#GID(基本组)
-G:#GID(附加组,可添加多个使用,号隔开)
-c:#"COMMENT" 指定注释信息
-d:#/path/to/directory
-M:#不为用户创建家目录
-r: #添加系统用户
-s:#shell路径(echo $SHELL:查看当前shell)指定shell路径(/etc/shells:指定了当前系统可以的安全shell)

userdel
userdel [options] USERNAME 
-r:#同时删除用户的家目录

usermod:修改用户账户属性
usermod [options] USERNAME
-u:#UID
-g:#GID
-a -G:#GID不使用-a会覆盖此前的附加组,使用-a -g为用户原有基础上追加附加组)
-c:#指定注册信息
-m -d:#既指定新的家目录,又移动此前的文件
-s:#修改用户的shell
-l:#修改用户登录名称
-L:#锁定帐号
-U:#解锁帐号
chsh:#修改用户的默认shell    #chsh USERNAME
chfn:#修改用户注释信息       #chfn USERNAME
finger:#查看用户帐号信息
finger USERNAME

密码管理:

passwd [USERNAME]  --stdin
echo "passwd" | passwd --stdin USERNAME
-l:#锁定
-u:#解锁
-d:#删除用户密码
openssl passwd -1 -salt ‘123456789‘    生成8位加密密码(单项加密)
pwck:检查用户帐号完整性

组密码管理:


groupadd,grouopdel,groupmod gpasswd
group [options] USERNAME 

groupadd:#创建组
-g:#GID
-r:#添加系统组

groupmod:#修改组信息
-g:#修改GID
-n:#修改组名

groupdel:#删除组
gpasswd:#为组设定密码
newgrp GRPNAME <--> exit:短暂为用户添加为基本组
chage [options] user
-d:#最近一次的修改时间
-E:#过期时间
-I:#非活动时间
-m:#最短使用期限
-M:#最长使用期限
-w:#警告时间

权限管理:

文件权限:r,w,x
r:#可读,可以使用类似cat等命令查看文件内容
w:#可写,可以编辑或删除此文件
x:#可执行,可以命令提示符下当作命令提交给内核运行


目录权限:
r:#可以对此目录执行ls以列出内部的所有文件
w:#可以在此目录创建文件
x:#可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
0 000 ---:#无权限
1 001 --x:#执行
2 010 -w-:#写
3 011 -wx:#写和执行
4 100 r--:#读
5 101 r-x:#读和执行
6 110 rw-:#读写
7 111 rwx:#读写执行


管理命令详解:
chown,chgrp,chmod,umask
chown:#修改属主(只有管理员可以使用此命令)
chown USERNAME  file
-R:#修改目录及其内部文件的属主
--reference=/path/smile file:#参考某个文件,设定跟参考文件属主一样
chown USERNAME:GRPNAME file #同时改变文件属主属组
chown USERNAME.GRPNAME file
chown :GRPNAME  file #单独改变属组
chown USERNAME: #file单独改变属主

chgrp:#修改属组(只有管理员可以使用此命令)
chown USERNAMEfile
-R:#修改目录及其内部文件的属组
--reference=/path/smile file:#参考某个文件,设定跟参考文件属组一样

chmod:#修改文件的权限
-R:#修改目录及其内部文件的属组
修改三类用户的权限:
修改某类用户或某些类用户权限:
修改某类用户的某位或某些位权限:

umask:#反向掩码
666-umask:#创建文件权限
777-umask:#创建目录权限
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1;

站在用户登录的角度来说,SHELL的类型:

登录式shell:
正常通过某终端登录:
su - USERNAME
su - l USERNAME


非登录式shell:
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本


登录式shell如何读取配置文件?
# /etc/profile --> /etc/profile.d/*sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非登录式shell如何读取配置文件?
# ~/.bashrc --> /etc/bashrc --> .etc.profile.d/*.sh


bash的配置文件:(一般作用范围越小越优先)
全局配置(对所有用户都生效)
#/etc/profile, /etc/profile.d/*.sh, /etc/bashrc


个人配置:(只针对当前用户本身)
# ~/.bashrc_profile, ~/.bashrc


profile类的文件:
#设定环境变量
#运行命令或脚本


bashrc类的文件:
#设定本地变量
#定义命令别名

本文出自 “Linux运维” 博客,请务必保留此出处http://linuxdarker.blog.51cto.com/8340258/1557406

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。