关于linux用户管理各命令的备忘

用户管理和权限管理基础知识:

基本是基于3A原则(Authencattion/Authorzation/Accounting)认证/授权/审计或记账

Linux系统的用户认证一般采用用户名+密码方式。

用户:用户名/UID

    每个用户都有一个唯一的UID

    用户的UID:0-65535

    管理员UID:0

    普通用户:1-60000

    系统用户:

    CentOS6: 1-499

    CentOS7:1-999

    登录用户:

    CentOS6: 500+

    CentOS7: 1000+

Linux组:组名/GID

    管理员组:0

    普通组:

    1-499, 1-999

    500+, 1000+

    用户组分三类:

    用户的基本组/用户的私有组/用户的附加组

Linux用户和组的相关的配置文件:

/etc/passwd:用户名、UID、基本组等信息

/etc/group:组名、GID、组内包含的用户;

/etc/shadow:用户密码及相关属性;

/etc/gshadow:组的密码及相关属性;


/etc/passwd:

name:password:UID:GID:GECOS:directory:shell

登录名:密码(加密存储):UID:GID:comment:主目录:用户默认shell


/etc/shadow:

login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

加密算法,linux支持一下6种

md5, sha1, sha224, sha256, sha384, sha512(后面跟sum就是命令了)


/etc/group

group_name:password:GID:user_list


密码的复杂性策略:

1、使用数字、小写字母、大写字母、特殊字符四类中至少三类;

2、足够长(大于8位);

3、使用随机密码;

4、定期更换(三个月);


用户和组管理的相关命令解释:

useradd、usermod、passwd、userdel

groupadd、groupmod、gpasswd、groupdel

chage, chsh, chfn

id, w, who, whoami

su


useradd:创建用户

useradd [options] LOGIN

useradd -D [options]

-r: 创建系统用户

-u UID: 指定UID;

-g GID: 指定用户所属基本组,此组必须事先存在

-c 'COMMENT':

-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel

-s SHELL:设定用户的默认shell;

cat /etc/shells

-G GID,...:指定所属的附加组;

-M: 不给用户创建家目录;


练习:创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database;


groupadd:创建组

groupadd [OPTIONS] GROUPNAME

-g GID: 指明组ID;

-r: 创建系统组;


id:查看用户相关的id信息;

id [OPTION]... [USER]

-u: UID

-g: GID

-G: Groups

-n: NAME


su:switch user, 切换用户或以其它用户的身份执行命令;

切换方式:

su USERNAME: 非完全切换;非登录式切换

su - USERNAME或su -l USERNAME: 完全切换;登录式切换


仅以指定用户的身份执行指定的命令:

su - USERNAME -c 'COMMAND'


usermod:用户属性修改

usermod [OPTION]... LOGIN

-u UID

-g GID

-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;

-s SHELL

-c 'COMMENT'

-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;

-l LOGIN:


-L:lock user

-U: unlock user


passwd:给用户添加密码

passwd [OPTION] [UserName]


-l: lock user

-u: unlock user


-n mindays: 最短使用期限;

-x maxdays:默认为99999天;

-w warndays:

-i inactivedays:


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


echo 'centos' | passwd --stdin centos


userdel:删除用户

userdel [-r] USERNAME

-r:删除用户的同时删除其家目录;


groupmod: 组属性修改

groupmod [OPTION] GROUPNAME

-n GROUP_NAME

-g GID


gpasswd:设定组密码


newgrp:切换基本组为指定的组


groupdel:删除组


chage:修改用户账号及密码的属性

chage [OPTION]... LOGIN

-d LAST_DAY

-E

-l

-m

-M

-W


其它命令:chfn, chsh, finger, whoami, who, w


文件权限:


用户对文件的访问权限有三种:

r, w, x


文件:

r: 可使用文件查看工具查看其内容;

w: 可使用文件编辑工具编辑其内容;

x: 可向内核请求将此文件运行为进程;


目录:

r: 可使用ls命令列出目录中的文件或子目录列表;

w: 可在此目录中创建或删除文件;

x:可使用‘ls -l’列出目录文件及子目录的详细属性信息;可使用cd命令切换工作目录为指定目录;


文件的权限主要针对三类对象进行定义:

ownuer: u, 属主;

group: g, 属组;

other: o, 其它;


某类用户对某文件的访问权限:

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7


664:rw-rw-r--

rwxr-x---: 750


权限管理:

权限管理: chmod

所属关系管理: chown, chgrp

文件遮罩码:umask


本文出自 “蛋客的IT世界” 博客,转载请与作者联系!

你可能感兴趣的:(Linux用户管理各命令详解)