扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
会创建用户,并同时创建和用户同名的组;邮件文件;家目录(默认存放在/HOME/里的同名文件夹里)
成都创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站制作、成都网站设计、手机APP定制开发、微信小程序定制开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。
语 法:useradd [选项] 用户名
常用选项 :
• -c 备注 加上备注文字
• -d 目录 指定用户登入时的启始目录
useradd -d /tmp/jack jack
cat /etc/passwd jack 已经为/tmp/jack了,说明创建成功了。但是cd到/tmp/里看不到
jack的文件夹,是因为权限不够,如果关掉SeLinux或者赋予它权限了就可以看到jack文件夹了
• -g 群组 指定用户所属的群组
• -G 群组 指定用户所属的附加群组
• -m /-M 自动建立(-m)用户的登入目录或不自动创建
• -n 取消建立以用户名称为名的群组
• -s shell 指定用户登入后所使用的shell (不加-s的默认shell为/bin/bash)
/sbin/nologin 没有可登录的shell
• -u uid 指定用户ID
useradd -n -G natasha tom
建新用户在不指定的情况下UID和GID是一样的,但是因为这里用-n取消建立以用户
名称为名的群组,所以 cat /etc/passwd 的时候发现GID为100,和cat /etc/group里users组的GID是一样的,由此可知在不建立以用户名称为名的群组的时候新建的用户主属组都是users,而用-G指定tom的附加群组为natasha,因此在 cat /etc/group 的时候出现的是natasha:x:1003:tom (1003是natasha的GID)
useradd -g natasha tom
用-g指定tom的主群组为natasha,因此在cat /etc/group里没有tom群组,在cat
/etc/passwd里出现的是tom:x:1006:1003::/home/tom:/bin/bash
(1003是natasha的GID)
语 法:userdel [选项] 用户名
常用选项
• -r 删除用户登入目录以及目录中所有文件 (不加-r不会自动删除同名组,邮件文件和家目录,如果先通过userdel删除了用户,之后想删除其同名组,邮件文件和家目录需要用rm命令手动一个个删除),但是如果只删除了用户,没删除的里面的各种文件使用的还是原来创建这个用户时的UID,所以一旦其他用户使用了这个UID,还是没办法通过rm手动删除
• -f 强制删除用户
语 法:usermod [选项] 用户名
常用选项
• -c:改变用户的描述信息
• -d:改变用户的主目录,如果加上-m则会将旧家目录移动到新的目录中去 (-m应加在新目录之后)
usermod -d 目的文件夹 用户名
• -g:改变用户的主属组
• -G:设置用户属于哪些组
• -l:改变用户的登录用名
不会改变属组的名称,原来的登录用户属于哪个组,现在还是属于哪个组
• -s:改变用户的默认shell ,如果将一个用户的shell指定为sbin/nologin的话用su -l 用户名进不去,会显示回显:This account is currently not available.
• -u:改变用户的UID
• -L:锁住密码,使密码不可用,这时在/etc/shadow文件里该用户的密码第一位为!
通过 usermod -L 用户名锁住密码,这时在root用户下su -l 用户名还是可以进入到系统中,因为root用户su到任意用户里都是不需要密码的。但是如果登出root用户,用该用户登录时就会显示sorry,that didn’t work,please try again.
• -U:为用户密码解锁
passwd 用户名,然后输入两次密码改密码,root的可以修改其他user的密码,但是root以外的用户只能修改自己的密码。只有root用户可以用这个命令改密码。如果是普通用户要改自己的密码的话,直接登录自己的普通用户账户,输入passwd即可改密码。
root以外的其他用户需要遵循密码最小生存周期,比如如果是1的话一天之内最多改一次。而root用户没有这个限制
系统用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下指令:
※一个组的管理员不一定要包含在这个组当中
※一个组可以有多个管理员
※一个人也可以在多个组中担任管理员
例: gpasswd -A user2 pools 将user2设置为组管理员
想将管理员改成user3的时候: gpasswd -A user3 pools
想新增管理员user3的时候: gpasswd -A user2,user3 pools
cat /etc/gshadow 可以看到一个组的管理员是谁
• gpasswd –a 用户名 用户组:将一个用户添加入一个组(从属组)
• gpasswd –M 用户名… 用户组:将多个用户添加入一个组(从属组)
※这里的M是modify的缩写,添加完会覆盖原来已经添加到这个组的组员
• gpasswd –d 用户名 用户组:将一个用户从一个组删除
gpasswd只能修改用户的从属组,想指定/改变主属组只能通过useradd/usermod
linux修改密码命令的方法是:
1、普通用户一般使用该命令都是修改登录密码,使用方法也很简单,只有在提示符下输入 passwd ,按照提示输入原密码,然后再两次输入新密码就可以了,但是要注意密码的复杂度,否则系统不会接受。
2、passwd命令的使用方法(root用户)。root用户通常可以在不需要知道用户原密码的情况下修改所有用户的密码,只需要输入密码passwd用户名即可,按照提示两次输入新密码就能够设置完成。如果密码在设置过程中不符合复杂度,系统会提示,但不会阻止设置完成。
3、root用户还可以锁定用户,只需要加上“-l选项”和用户名即可。一旦用户被锁定,将无法登录系统,提示信息都会是密码错误。
4、如果想恢复用户的登录,可以使用“-u”选项加用户名即可。一旦解锁,用户就可以重新登录系统。
有两种方式可以取消root密码。 一种是使用passwd命令,加上-d参数用于删除密码。 用法示例: $ passwd -d root 另一种是直接编辑/etc/shadow文件,/etc/shadow文件以加密的形式保存了各个用户的密码,如果密码为空则不允许使用密码登录。 用法示例: $ sudo nano /etc/shadow 删除root那一行第一个与第二个冒号之间的内容
锁用户的设定
/etc/pam.d/下包含各种认证程序或服务的配置文件。编辑这些可限制认证失败次数,当失败次数超过指定值时用户会被锁住。
在此,以run
level为3的时候,多次登录登录失败即锁用户为例:
在/etc/pam.d/login文件中追加如下两行:
auth
required
/lib/security/pam_tally.so
onerr=fail
no_magic_root
account
required
/lib/security/pam_tally.so
deny=3
no_magic_root
reset
deny=3
设置登录失败3次就将用户锁住,该值可任意设定。
如下为全文见设定例:
auth
required
pam_securetty.so
auth
required
pam_stack.so
service=system-auth
auth
required
pam_nologin.so
auth
required
pam_tally.so
onerr=fail
no_magic_root
account
required
pam_stack.so
service=system-auth
account
required
pam_tally.so
deny=3
no_magic_root
reset
password
required
pam_stack.so
service=system-auth
session
required
pam_stack.so
service=system-auth
session
optional
pam_console.so
这样当用户在run
level=3的情况下登录时,/var/log/faillog会自动生成,裏面记录用户登录失败次数等信息。
可用"faillog
-u
用户名"命令来查看。
当用户登录成功时,以前的登录失败信息会重置。
2)用户的解锁
用户因多次登录失败而被锁的情况下,可用faillog命令来解锁。具体如下:
faillog
-u
用户名
-r
此命令实行后,faillog里记录的失败信息即被重置,用户又可用了。
关於faillog的其他命令。。参见man
failog。
二:手动锁定用户禁止使用
可以用usermod命令来锁定用户密码,使密码无效,该用户名将不能使用。
如:
usermod
-L
用户名
解锁命令:usermod
-U
用户名
......
要想强制用户下次登录更改密码就使用chage
-d
username
强制把上次更改密码的日期归零.
定义用户密码变更天数在/etc/shadow
这个文件中定义
对新建的用户在/etc/login.defs这个文件中定义
pam_tally2模块(方法一)
用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。
配置
使用 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth 配置文件来配置的登录尝试的访问
注意:
auth要放到第二行,不然会导致用户超过3次后也可登录。
如果对root也适用在auth后添加 even_deny_root .
auth required pam_tally2.so deny=3 even_deny_root unlock_time=600
pam_tally2命令
查看用户登录失败的信息
解锁用户
pam_faillock 模块(方法二)
在红帽企业版 Linux 6 中, pam_faillock PAM 模块允许系统管理员锁定在指定次数内登录尝试失败的用户账户。限制用户登录尝试的次数主要是作为一个安全措施,旨在防止可能针对获取用户的账户密码的暴力破解
通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中
配置
添加以下命令行到 /etc/pam.d/system-auth 文件和 /etc/pam.d/password-auth 文件中的对应区段:
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3
account required pam_faillock.so
注意:
auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。
适用于root在 pam_faillock 条目里添加 even_deny_root 选项
faillock命令
查看每个用户的尝试失败次数
$ faillock
test:
When Type Source Valid
2017-06-20 14:29:05 RHOST 192.168.56.1 V
2017-06-20 14:29:14 RHOST 192.168.56.1 V
2017-06-20 14:29:17 RHOST 192.168.56.1 V
解锁一个用户的账户
首先,用root用户登陆Linux系统或者使用su、sudo等命令提升到root权限。\x0d\x0a\x0d\x0a其次,修改帐户密码,只需要使用passwd命令即可,该命令详细介绍如下:\x0d\x0a passwd 选项 用户名\x0d\x0a可使用的选项:\x0d\x0a-l 锁定口令,即禁用账号。\x0d\x0a-u 口令解锁。\x0d\x0a-d 使账号无口令。\x0d\x0a-f 强迫用户下次登录时修改口令。\x0d\x0a如果默认用户名,则修改当前用户的口令。\x0d\x0a例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:\x0d\x0a$ passwd\x0d\x0aOld password:******\x0d\x0aNew password:*******\x0d\x0aRe-enter new password:*******\x0d\x0a如果是超级用户,可以用下列形式指定任何用户的口令:\x0d\x0a# passwd sam\x0d\x0aNew password:*******\x0d\x0aRe-enter new password:*******\x0d\x0a普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。\x0d\x0a为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。\x0d\x0a为用户指定空口令时,执行下列形式的命令:\x0d\x0a# passwd -d sam\x0d\x0a此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。\x0d\x0apasswd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:\x0d\x0a# passwd -l sam
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流