linux用户和组管理

来源:互联网 发布:matlab 矩阵添加行 编辑:程序博客网 时间:2024/06/05 06:26
Linux用户

   Username/UID

管理员:root,0
普通用户: 1-65535 
系统用户:1-499  (centos 6)
守护进程获取资源进行权限分配:
登录用户:500+ (centos 6)
交互式登录:
Linux组

    Groupname/GID

管理员组:root,0
普通组:
系统组:1-499 (centos 6)
普通组:500+ (centos 6)
Linux组的类别
用户的基本组(主组):
组名同用户名,且仅包含一个用户:私有组
用户的附加组(额外组):

Linux用户和组相关的配置文件:
/etc/passwd:用户及属性信息(名称、UID、基本组ID等)
格式:account:password:UID:GID:GECOS:directory:shell
/etc/group:组及其属性信息
格式: group_name:passwd:GID:user_list
组名:组密码:GID:以当前组为附加组的用户列表(多个用户以","逗号分割)
/etc/shadow:用户密码及相关属性
格式:用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:密码最大使用期限:密码警告时间段:密码禁用期:帐号的过期日期:保留字段
/etc/gshadow:组密码及相关属性

用户和组相关的管理命令:
用户创建
useradd [options] LOGIN
-u:指定uid,范围[UID_MIN, UID_MAX],定义在/etc/login.defs中
-g:指定用户所属基本组,可为组名,也可为gid
-c:用户备注信息,一般用于设置用户全名
-d :/PATH/TO/HOME_DIR:以指定的路径为家目录
-r:创建系统用户
-s :指定用户默认shell,可用列表在/etc/shells  文件中
-G group1[,group2,...[,groupn]] :指定用户附加组
默认值值设定:/etc/default/useradd 
useradd -D  修改默认值
-s shell 

组创建
groupadd [options] GROUP
-g:指定GID号,范围[GID_MIN, GID_MAX],定义在/etc/login.defs中
-r:创建系统组
用户属性修改

usermod [options] LOGIN

-u:新UID

-g:新GID

-G:新附加组,原有附加组会被覆盖,如果要保留原附加组,要同时使用-a选项

-s:新的shell

-c:新的备注信息

-d:新的家目录,原有家目录中的文件不会移动至新的家目录,若要移动,则同时使用-m选项

-l:新的用户名

-L:锁定用户

-U:解锁用户

-e:指定用户帐户过期日期,日期格式YYYY-MM-DD

-f:指定非活动期限

设置用户密码

passwd [选项...] <帐号名称>

-l:锁定用户

-u:解锁用户

-n mindays:指定密码最短使用期限

-x maxdays:指定密码最长使用期限

-w warndays:指定密码过期前多少天警告用户

-i inactivedays:非活动期限(密码过期后,还有多天可以登录修改密码)

--stdin:从标准输入接收用户密码

echo "password" | passwd --stdin username

删除用户

userdel [options] LOGIN

-r:删除用户家目录

修改组属性

groupmod [options] GROUP

-n:新的组名

-g:新的GID

删除组

groupdel group

设置组密码

gpasswd [option] GROUP

-a:将用户添加至组中(附加组), gpasswd -a username groupname

-d:将用户从组中(附加组)删除,gpasswd -d username groupname

临时切换基本组

newgrp

修改文件的属主与属组
修改文件的属主

chown [OPTION]... [OWNER][:[GROUP]] FILE..

用法

owner:只修改属主

:group:只修改属组

owner:group:同时修改属主与属组

NOTE:命令中的:可用 . 替换

-R:递归修改

修改文件的属组

chgrp [OPTION]... GROUP FILE...

-R:递归修改

权限管理
文件的权限主要针对三类对象进行定义:
owner:属主,u
group:属组,g
other:其他,o

每个文件针对每类访问者都定义了三种权限:
r:readable
w:writable
x:excutable
文件:
r:可获取文件内容
w:可修改其内容
x:可把此文件提请内核启动为一个进程

目录:
r:可使用ls查看此目录的列表
w:可在此目录中创建与删除文件
x:可以使用cd 进入此目录

修改文件权限

chmod [选项]... 八进制模式 文件...

例:chmod 755 /tmp/test

-R:递归修改

chmod [选项]... 模式[,模式]... 文件...

模式:

修改一类用户的所有权限:

u=

g=

o=

ug=

a=

u=,g=

例:chmod u=rw,go= a.txt

修改一类用户某位或某些权限

u+

u-

chmod [选项]... --reference=参考文件 文件...

例:chmod --reference=./c.txt a.txt

特殊权限

SUID

任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否有执行权限

设置了SUID后,启动为进程之后,其进程的属主为原程序文件的属主

权限设定:

chmod u+s FILE

chmod u-s FILE 

SGID

默认情况下,用户创建文件时,其属组为此用户所属的基本组;

一旦某目录被设置了SGID后,则对此目录有写权限的用户在此目录中创建的文件的属组为此目录的属组

权限设定:

chmod g+s DIR

chmod g-s DIR

Sticky

对于一个多人可写的目录,如果设置了sticky,则每个用户只能删除自己的文件

权限设定:

chmod o+t DIR

chmod o-t DIR

umask
创建文件:666-umask
NOTE:如果某用户的权限减得的结果存在x权限,则将其权限+1(遇奇数加1),例umask为3,666-3=663,加1,权限为664

创建目录:777-umask

原创粉丝点击