passwd group SUID SGID SBIT

2019-10-27  本文已影响0人  dreamscd

密码

[john@server tmp]$ umask 0000
[john@server tmp]$ touch file
[john@server tmp]$ mkdir directory
[john@server tmp]$ ls -lh .
total 0
drwxrwxrwx. 2 john john 40 Nov  2 13:17 directory
-rw-rw-rw-. 1 john john  0 Nov  2 13:17 file

[tom@localhost ~]$ umask
0002
[tom@localhost ~]$ umask -S
u=rwx,g=rwx,o=rx
[tom@localhost ~]$ 

目录777 文件666
Utilities Description
id 显示用户和组ID。
useradd, usermod, userdel 用于添加,修改和删除用户帐户的标准实用程序。
groupadd, groupmod, groupdel 用于添加,修改和删除组的标准实用程序。
gpasswd 该实用程序主要用于修改/etc/gshadow文件中的组密码,该文件由newgrp命令使用。
pwck, grpck 可用于验证密码,组和关联的shadow文件的实用程序。
pwconv, pwunconv 可用于将密码转换为shadow密码或从shadow密码转换回标准密码的实用程序。
grpconv, grpunconv 与上面的类似,这些实用程序可用于转换组帐户的隐藏信息。

useradd [options] username

Option -
-c 'comment' 常用于指定用户的全名。
-d home_directory 要使用的主目录,而不是默认目录/home/username/.
-e date 帐户的停用日期,格式为 YYYY-MM-DD.
-f days 密码过期后直到禁用帐户的天数。如果指定为0,则密码过期后立即禁用该帐户。如果指定-1,则密码过期后不会禁用该帐户。
-g group_name
-g group_id
用户默认(主要)组的组名或组号。该组必须存在,然后才能在此处指定。
-G group_list 用户的附加组,以逗号分隔。这些组必须存在,然后才能在此处指定。
-m 如果主目录不存在,创建它。
-M 不要创建主目录。
-N 不要为用户创建用户私人组。
-p password 用crypt加密的密码
-r 创建UID小于1000且没有主目录的系统帐户。
-s 用户的登录shell,默认为 /bin/bash.
-u uid 用户的用户标识,必须唯一且大于999。
juan:!!:14798:0:99999:7:::

在/etc/shadow文件的密码字段中会出现两个感叹号(!!),它会锁定该帐户。


groupadd [options] group_name

Option Description
-f, --force 与-g gid一起使用且gid已经存在时,
groupadd将为该组选择另一个唯一的gid。
-g gid 群组的群组ID,必须唯一且大于999。
-K, --key key=value 覆盖/etc/login.defs默认值。
-o, --non-unique 允许创建具有重复GID的组。
-p, --password password 对新组使用此加密密码。
-r 创建GID小于1000的系统组。

usermod -g group_name user_name # 改变用户的属组 (不保留原有的)
usermod -G group_name1,group_name2,... user_name # 改变用户的有多个属组(不保留原有)
usermod -aG group_name1,group_name2,... user_name # 为用户添加多个属组(保留原有的)

选项 说明
--help 显示帮助文档
--version 显示命令版本
-d 删除用户的密码,只有root用户才能使用
-e 使用户密码失效,强制用户下次登录改变密码,只有root用户才能使用
-n 设置密码的最短有效时间,只有root用户才能使用
-x 设置密码最大有效时间,只有root用户才能使用
-S 显示简短的密码信息,只有root用户才能使用
-l 锁定用户,只有root用户才能使用
-u 解锁用户,只有root用户才能使用
-k 选项-k用于指示更新只适用于过期的身份验证令牌(密码);用户希望像以前一样保留其未过期的令牌。
-i 这将设置此帐户的过期密码将被视为不活动的天数,如果用户帐户支持密码生存期,则应禁用该帐户。只对根用户可用。
-w 这将设置用户将开始收到警告,如果用户帐户支持密码生存期,其密码将过期的天数。只对根用户可用。
--stdin 此选项用于指示passwd应从标准输入中读取新密码,该输入可以是管道。
echo "password" |passwd --stdin user少用
字段 说明
login name 登录名
encrypted password 加密密码
date of last password change 自1970年1月1日以来的最后一次更改密码
minimum password age 最小密码使用期限是允许用户再次更改密码之前,
用户必须等待的天数。
maximum password age 最长密码使用期限是用户必须更改密码的天数。
password warning period 密码到期前的天数(请参见上面的最长密码使用
期限),在此期间应警告用户。
password inactivity period 密码过期后的天数(请参见上面的最长密码使用
期限),在此期间仍应接受密码(用户应在下次
登录时更新其密码)。
account expiration date 帐户的到期日期,表示自1970年1月1日以来的天数。
reserved field 该字段保留供将来使用。

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index

特殊权限 suid sgid sticky

文件 原权限 有无执行权限 加suid后的权限 是否有效
file -rw-r--r-- -rwSr--r--
file -rwxr--r-- -rwsr--r--

功用:当目录属组有写权限,且有SGID权限时,那么所有属于此目录的属组,且以属组的身份在此目录中新建文件或者目录时,新文件的属组不是用户的基本组,而是此目录的属组。





设置setgid后在属组的x位表示

目录 原权限 有无执行权限 加suid后的权限 是否有效
Dir drwxr--r-x drwxr-Sr-x
Dir drwxr-xr-x drwxr-sr-x

设置sticky后在全局(other)的x位表示

目录 原权限 有无执行权限 加suid后的权限 是否有效
Dir drwxrwxrwx drwxrwxrwT
Dir drwxrwxrwx drwxrwxrwt

设置方法

名称 命令 说明
suid u+s or 4 -
- chmod u+s cat #添加suid
- chmod u-s cat #取消suid
- chmod 4755 cat #添加suid
- chmod 0755 cat #取消suid
sgid g+s or 2 -
- chmod g+s /testdir/ #添加sgid
- chmod g-s /testdir/ #取消sgid
- chmod 2755 /testdir/ #添加guid
- chmod 0755 /testdir/ #取消guid
sticky o+s or 1 -
- chmod o+s /testdir/ #添加sticky
- chmod o-s /testdir/ #取消sticky
- chmod 1755 /testdir/ #添加sticky
- chmod 0755 /testdir/ #取消sticky
- 也可以suid,sgid,sticky位同时设置 -

上一篇 下一篇

猜你喜欢

热点阅读