linux权限管理命令

date -s “2018-4-3”

1、/etc/passwd,用户属性
---->cat /etc/passwd or getent passwd,查看/etc/passwd文件
C}KIN3]@4O@)]%}[J8T7_{W
---->getent passwd 用户名
3C{)UVX(%L{ESM1YNT1LPEA
1.1 /etc/passwd文件中每行的7个字段,意义如下:
    login name:登录用名(wang) 
    passwd:密码 (x) 
    UID:用户身份编号 (1000) 
    GID:登录默认所在组编号 (1000) 
    GECOS:用户全名或注释 
    home directory:用户主目录 (/home/wang) 
    shell:用户默认使用shell (/bin/bash) 
---->pwunconv,将x转换成哈希(sha512)加密后的密码
0_58APF5$WG4BAB{HGL7J19
---->pwconv,哈希(sha512)后的密码转换成x
2M[]CSE}PTBSQEAN9S~U@MM
2、/etc/shadow,用户密码属性
---->cat /etc/shadow or getent shadow,查看/etc/shadoww文件
QC7YJ~MA53`5Z$U[0DT27ZA
---->getent shadow 用户名,查看此用户这行密码属性
A{D1[HIC8UD8W4D(4PKV
2.1 /etc/shadow文件中9个字段,意义如下:
     登录用名 
     用户密码:一般用sha512加密 
     从1970年1月1日起到密码最近一次被更改的时间 
     密码再过几天可以被变更(0表示随时可被变更) 
     密码再过几天必须被变更(99999表示永不过期) 
     密码过期前几天系统提醒用户(默认为一周) 
     密码过期几天后帐号会被锁定 
     从1970年1月1日算起,多少天后帐号失效 

UP0)F4~`J@KUEIL410836(4
2.2第二个字段哈希密码第一个$与第二个$之间表示意义:
QC7YJ~MA53`5Z$U[0DT27ZA
   $6:sha512加密算法;$1:md5算法
2.3 第二个字段哈希密码第二个$与第三个$之间表示意义:
   salt:哈希加密算法加密之前,添加随机字段,单向加密目前不可逆(MD5除外),雪崩效应,为加强密码安全性
2.4 更改/etc/shadow文件中加密算法
---->authconfig --passalgo=sha256 --update,原理是改变/etc/login.def文件中ENCRYPT METHOD SHA512
4H6OL`U0MZ`S@U5UZJ06%_U
3、/etc/group,用户组属性
---->cat /etc/group or getent group
ZBKWT2Z55}Q1D]PJ]27I88V   
其包含4个字段,意义:
    群组名称:就是群组名称 
    群组密码:通常不需要设定,密码是被记录在 /etc/gshadow 
    GID:就是群组的ID 
    以当前组为附加组的用户列表(分隔符为逗号) 
4、/etc/gshadow,用户组密码及管理属性
---->cat /etc/gshadow or getent gpasswd,查看此文件
]~J)FD62LJVA%`AX6YM(N0W
其包含4个字段,意义:
    群组名称:就是群组名称 
    群组密码: 
    组管理员列表:组管理员的列表,更改组密码和成员 
    以当前组为附加组的用户列表:(分隔符为逗号)
5、vipw , vigr 打开/etc/passwd,/etc/group,相当于vim -o /etc/passwd /etc/group
6、pwck , grpck 检查/etc/passwd,/etc/group文件中语法
7、useradd
7.1 useradd [options] LOGIN 
   -u UID 
   -o 配合-u 选项,不检查UID的唯一性 
   -g GID:指明用户所属基本组,可为组名,也可以GID 
   -c "COMMENT":用户的注释信息 
   -d HOME_DIR: 以指定的路径(不存在)为家目录 
   -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中 
   -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在 
   -N 不创建私用组做主组,使用users组做主组 
   -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000 
   -m 创建家目录,如果主目录不存在则自动创建
   -M 不创建家目录,用于非系统用户 
---->groupadd -g 1080 parrot
K@4{CN]SOJEW$AO}VVC{AV4
---->useradd -u 1080 -c "Centos is king" -s /bash/shell -m -d /data/parrot parrot
N81(8E7E8581_4UA)[K]3$I
---->useradd -o -u 1080 parrot_1,不检查id唯一性
3JT2{%2M]7F2QS5E`M4C{FA
---->useradd -N gentoo,不创建私有组作为主组,而是users作为主组
Q[G93XRI1JYI_0KV5`BN]IC
L3P_~D3YT2)96Y3VV}8(UIR
7.2 useradd 添加用户时默认配置文件/etc/default/useradd 
---->cat /etc/default/useradd or useradd -D
P%H`K2CM}([3FQ%@)040 
显示或更改默认设置 
   useradd –D -s SHELL 
   useradd –D –b BASE_DIR 
   useradd –D –g GROUP 
---->useradd -D -b /data,修改添加用户时默认家目录
[J}%B%Q_3$5GCLH$TM26%PC
C%{APFCC]MNIE`0I[K38I1A
7.3 /etc/skel,创建用户家目录时,其家目录下环境变量等隐藏文件是以此目录为模板复制
U5CM2}]T[46YXSI_AE5DD%0
8、newusers 文件:后面跟文件是以passwd格式文件,批量创建用户
---->newusers 1.new,以1.new文件添加用户
(X(3_MP6K(6$GQ~MOH8C77R
注:此方法创建用户家目录下无/etc/skel/环境变量配置文件
   chpasswd 文件:文件格式为user:passwd,批量修改用户口令 
cat 1.new.passwd |chpasswd,批量设置用户密码
PWFPN74E7]VMUXRWHK2Q~VV
9、 usermod
    usermod [OPTION] login 
    -u UID: 新UID 
    -g GID: 新主组 
    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项 
    -s SHELL:新的默认SHELL 
    -c 'COMMENT':新的注释信息 
    -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项 
    -l login_name: 新的名字; 
    -L: lock指定用户,在/etc/shadow 密码栏的增加 ! 
    -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 
    -e YYYY-MM-DD: 指明用户账号过期日期 
    -f INACTIVE: 设定非活动期限
---->usermod -u 2018 -g 2019 -aG mysql -s /sbin/nologin test
NS2$A1%8RR8JF0VX}Y_W4EL
9X[GYK@G7`KFUAZA9P~W8C7
---->usermod -f 5 test,修改用户INACTIVE period ,默认为空
2A4B1JB{3~]ZAZHAVUX]$4I
10、userdel 
    userdel [OPTION]... login 
     -r: 删除用户家目 
---->userdel -r 用户 ,删除用户时同时删除其家目录,默认不删除
CKTA2J$)(M%5_4OY2PQ$CPV
注:/etc/login.defs下如果CREATE_HOME项不存在,或设置为no,则创建用户时不会创建家目录,-m选项则会自动创建
YFY}$~_VXFULWZ57_M4)0AH
---->ueradd test1 && useradd -m test1
UT4}0E9N`3$6O@Q16@VHN@I
11、id
    id [OPTION]... [USER] 
    -u: 显示UID 
    -g: 显示GID 
    -G: 显示用户所属的组的ID 
    -n: 显示名称,需配合ugG使用 
---->id -u yyc;id -ng 1001
T@$O`6[3WVN41NLY8@ZJO`Y
12、su,切换用户
    su [options...] [-] [user [args...]] 
12.1切换用户的方式: 
    su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变
12.2当前工作目录 
    su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换 
12.3root su至其他用户无须密码;非root用户切换时需要密码 
12.4换个身份执行命令: 
    su [-] UserName -c 'COMMAND' 
13、passwd 修改/设置用户密码
    passwd [OPTIONS] UserName: 修改指定用户的密码 
    常用选项: 
    -d:删除指定用户密码 
    -l:锁定指定用户 
    -u:解锁指定用户 
    -e:强制用户下次登录修改密码 
    -f: 强制操作 
    -n mindays: 指定最短使用期限 
    -x maxdays:最大使用期限 
    -w warndays:提前多少天开始警告 
    -i inactivedays:非活动期限 
    --stdin:从标准输入接收用户密码 
 echo "PASSWORD" | passwd --stdin USERNAME 
---->passwd -d 用户,删除用户密码
J5%0PW34WA(ZLL}QH01}AJW
---->passwd -l 用户名,锁定用户
---->passwd -u 用户名,解锁用户
J5%0PW34WA(ZLL}QH01}AJW
其原理/etc/shadow文件中第二个字段前加!
---->passwd -e 用户,强制下次登录修改密码
EE7BMTFBA2$7TGHDTT25`_C
原理是将上一次修改密码时间设置为0,下一次登录则必须修改密码
---->passwd -n 1 -x 20 -w 3 -i 3 test2
OLU8_J}YAB7ZJWR`_@X@@ZN
14、chage,修改用户密码策略
    chage [OPTION]... LOGIN 
    -d LAST_DAY 
    -E --expiredate EXPIRE_DATE 
    -I --inactive INACTIVE 
    -m --mindays MIN_DAYS 
    -M --maxdays MAX_DAYS 
    -W --warndays WARN_DAYS 
    –l 显示密码策略 
---->chage -l test2;chage -d 0 -m 1 -M 100 -W 4 -I 4 -E 2021-11-11 test2
_)R$)3]U`VO(ST@7030XH(A
15、用户信息查看修改命令
     finger chfn chsh
15.1 finger,用户及登录邮件等信息
---->finger root
@LPTK]@]}VPE(NRKWN8S89K
15.2 chfn ,增加、修改用户备注信息,即/etc/passwd中用户第五个字段信息
---->chfn root;finger root;getent passwd root
)%J4EL}Q7MGO}NW3Y`76Q_A
15.3 chsh ,修改用户使用的shell
$PD8(3M)(QH`KTH56Z}}7]K
16、groupadd [OPTION]... group_name 
    -g GID: 指明GID号;[GID_MIN, GID_MAX] 
    -r: 创建系统组   
     CentOS 6: ID<500 
     CentOS 7: ID<1000 
17、groupmod ,组属性修改
    groupmod [OPTION]... group 
     -n group_name: 新名字 
     -g GID: 新的GID 
    groupdel,组删除
     groupdel GROUP 
18、gpasswd 
    gpasswd [OPTION] GROUP 
     -a user 将user添加至指定组中 
     -d user 从指定组中移除用户user 
     -A user1,user2,... 设置有管理权限的用户列表 
    newgrp命令:临时切换主组 
    如果用户本不属于此组,则需要组密码 
19、groupmems,更改和查看组成员
    groupmems [options] [action] 
     -g, --group groupname 更改为指定组 (只有root) 
     -a, --add username 指定用户加入组 
     -d, --delete username 从组中删除用户 
     -p, --purge 从组中清除所有成员 
     -l, --list 显示组成员列表 
---->groupmems -l -g test1
X6L0`L3_W18_$)6RJKBF`R3
---->groupmems -a test3 -g test1
NDBJR(IK1ONIQAHSXNJO6OR
19、chown 修改文件的属主
     chown [OPTION]... [OWNER][:[GROUP]] FILE... 
      用法: 
      OWNER 
      OWNER:GROUP 
      :GROUP 
      命令中的冒号可用.替换 
      -R: 递归 
    chown [OPTION]... --reference=RFILE FILE... 
chgrp 修改文件的属组
    chgrp [OPTION]... GROUP FILE... 
    chgrp [OPTION]... --reference=RFILE FILE... 
    -R 递归 
20、文件目录属主属组权限说明
  文件的权限主要针对三类对象进行定义 
    owner: 属主, u 
    group: 属组, g 
    other: 其他, o 
  每个文件针对每类访问者都定义了三种权限 
    r: Readable 
    w: Writable 
    x: eXcutable 
   文件: 
     r: 可使用文件查看类工具获取其内容 
     w: 可修改其内容 
     x: 可以把此文件提请内核启动为一个进程 
   目录: 
     r: 可以使用ls查看此目录中文件列表 
     w: 可在此目录中创建文件,也可删除此目录中的文件 
     x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录 
     X:只给目录x权限,不给文件x权限 
21 chmod 修改权限
   chmod [OPTION]... OCTAL-MODE FILE... 
    -R: 递归修改权限 
   chmod [OPTION]... MODE[,MODE]... FILE...  
    修改一类用户的所有权限: 
      u= g= o= ug= a= u=,g= 
    修改一类用户某位或某些位权限 
      u+ u- g+ g- o+ o- a+ a- + - 
   chmod [OPTION]... --reference=RFILE FILE... 
    参考RFILE文件的权限,将FILE的修改为同RFILE 
---->chmod -R a+x 目录及所在文件都增加x权限,如果是X,则只会给目录加x权限,如果目录中有文件有x权限,则其也会增加x权限
VVS061O_5JP6`M3C$W~L}{K
22 三种特殊权限
 suid 
    文件中属主位表现为s,一般为二进制文件,表示用户执行此文件时,会继承其所有者权限
---->chmod u+s file
sgid 
  1)继承二进制程序所有组的权限
  2)作用于目录,此目录新建的文件继承目录的所属组
---->chmod g+s file | dir
sticky
  作用于目录,此目录的文件只能被所有者删除
---->chmod o+t dir
  SUID: user,占据属主的执行权限位 
   s: 属主拥有x权限 
   S:属主没有x权限 
  SGID: group,占据属组的执行权限位 
   s: group拥有x权限 
   S:group没有x权限 
  Sticky: other,占据other的执行权限位 
   t: other拥有x权限 
   T:other没有x权限 
 23、chattr 设定文件特定属性
    +i:不能删除,改名,写内容; -i 去除锁定
    +a 只能追加内容
    lsattr,查看锁文件
---->chattr +i file;lsattr
UW{W6)JY284L7R@$S%_LA97
24、ACL,访问控制列表
  setfacl -m [u|o|g]:用户名:rwx file|directory,不指用户则为对所有用户生效
  getfacl file|directory,查看访问控制列表
---->setfacl -m:test1:r ls;getfacl ls
E4O(7JY0PBT59H@M@N$NL(H
  setfacl -m mask::权限:设置mask权限,一旦启用了acl,组权限则变为mask权限,设定权限不超过mask权限
----setfacl -m mask::r ls 
$44OUN_IK{FE{TDLW)6_3SN
----setfacl -b file|directory 删除所有扩展acl权限
4F2`GFURH2RYV]ZBHJ2MPGL
---->setfacl  -x u:yyc file,删除控制列表中指定控制权限
L$W6O$C}CA5`KNKJW1R{T[Y
T{QX3YV8QBLQ_Q_$}VXGWMU
注意:如果启用了ACL,group权限就变为mask权限,ACL文件上的group权限是mask值(自定义用户,自定义组,拥有组的最大权限),而非传统的组权限




本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94883

(0)
parrotparrot
上一篇 2018-04-03
下一篇 2018-04-04

相关推荐

  • VMware安装过程中出现的问题及解决方法

    VMware软件的安装应当是非常简单的,但在本次的安装过程中却出现了两个问题,其中第一个问题比较好解决,但是第二个问题却让我纠结和浪费了很多的时间。以下是对于两个问题的描述及解决方法,以备出现同样问题的人们参考:  问题1:已将该虚拟机配置为64位客户机操作系统,但是,无法执行64位操作.具体错误提示见图:  解决方法:重启计算机,启动过程中按F12键(或依…

    2018-03-29
  • at & crontab命令

    at命令 功能 at命令用于执行未来某个时间点的某一次任务,任务的执行结果为以邮件的形式发送给用户 命令格式 at [OPTION] TIME 常用选项[OPTION] -l 查看等待运行的任务 atq 命令也可用户查看等待运行的任务 -f /path/from/file 从指定文件中读取作业任务,而不再交互式输入 -d # 删除指定的作业任务 -c 查看指…

    Linux笔记 2018-06-11
  • test

    test

    Linux笔记 2018-07-06
  • Linux学习入门知识

    Linux学习入门知识2

    Linux笔记 2018-06-28
  • 转义字符Escape character在正则中的用法

    通过()的在基本正则和扩展正则中的不同使用,详细介绍了转义字符的使用注意事项

    Linux笔记 2018-04-13
  • 用户管理类命令

    1.列出当前系统上所有已经登录的用户的用户名,注意,同一个用户登录多次则只显示一次 [root@localhost tmp]# who |cut -d” ” -f1 |sort -u root test zach 2.取出最后登录到当前系统的用户的相关信息 [root@localhost tmp]# grep $(w|tail -n 1 |awk -F ” …

    Linux笔记 2018-05-27