linux 账号管理
1.UID:使用者ID,GID:group ID,群组ID
2.使用者账号非常相关的两个文件:一个是UID&GID 的/etc/passwd 一个是管理密码 /etc/shadow
3.root❌0:0:root:/root:/bin/bash —/etc/passwd
1.root:账户名称,对应第三位的UID
2.X:密码,为了防止密码泄露就存入/etc/shadow中了
3.UID: 0 - 系统管理员、1~999 - 系统账号、 1000-2^32 -1 —可登入账号,可以将一般用户UID改为0,则具有root权限,不过容易导致系统管理员账号混乱
4.GID:组ID
5.root:使用者咨询说明
6.家目录:/root家目录
7.shell:
4.root❌17941:0:99999:7::: —/etc/shadow
1.root:账号名称
2.密码:加密过,不同编码系统造成的密码长度不一致,由于固定的编码系统长度必须一致,所以在此位加!/*改变密码长度,则可以使密码失效
3.最近更改密码的日期:17941 即1970.1.1到今天的天数 ,因为linux使以这一天为基础累加1
4.密码不可被更改的天数:0表示随时可以改,1表示修改密码后1天内不得再次修改
5.密码需要重新更改的天数:多少天内必须改密码
6.密码需要变更前的警告天数
7.密码失效日期
8.账户失效日期
9.保留
5.有效群组和初始群组
初始群组:在/etc/passwd中的GID,根据GID区etc/group中查询则知道init群组
有效群组:通过命令groups,则可以查询到当前账号支持哪些群组,第一个即当前的有效群组
切换有效群组:newgrp + 支持的群组;是以另外一个shell来提供这个功能,群组权限将被更改,需要回到以前的shell中直接exit即可
6./etc/gshadow - 群组管理
root:::
1.群组名
2.密码,当开头为!,表示无合法密码,无群组管理员
3.群组管理员账号
4.有加入该群组支持的所属账号
7.账号管理 / 常用命令
useradd
-u:加uid
-g:init group
-G 可以加入的群组
-r:加入系统账号
-m:创建时在/home下建立目录
-M:创建时不在/home目录下建立目录
eg:
useradd -r users
useradd wuxuan
useradd -D 可以显示useradd预设项
[root@study ~]# useradd -D
GROUP=100 <==預設的群組
HOME=/home <==預設的家目錄所在目錄
INACTIVE=-1 <==密碼失效日,在 shadow 內的第 7 欄
EXPIRE= <==帳號失效日,在 shadow 內的第 8 欄
SHELL=/bin/bash <==預設的 shell
SKEL=/etc/skel <==使用者家目錄的內容資料參考目錄
CREATE_MAIL_SPOOL=yes <==是否主動幫使用者建立郵件信箱(mailbox) --/etc/login.defs
usermod 可以修改账户相关的信息
密码: psaawd 参数
-l :lock。可以使密码失效
-u :unlock
-S :密码参数
chage --也可以查看账户密码等信息
eg:
chage -l wuxuan
userdel -r +账号 --删除用户
其他命令:
id:可以列出账号相关参数
chsh:可以改变自己使用的shell / chsh -s /bin/bash
群组:
groupadd
groupmod
groupdel/
gpasswd + groupname :修改群组密码
gpasswd -A username groupname :将uasername作为groupname的管理员
gpasswd -a username groupname :新增成员到groupname
附:
更改文件的拥有者或者群组:chown,chgrp chown username filename
ACL:功能,可以配置每个人对每个群组不同的权限;
getfacl + filename :查询文件属性和对应users权限
setfacl 设置
-m 加上后续参数
eg:setfacl -m u:wuxuan:rx filename ----添加wuxuan对filename 的rx权限
eg: setfacl -m g:groupname:rx filename ----同理
eg:setfacl -m d:u:myuser1:rx filename ---- d可以让myuser1可以继承filename的额外权限
getfacl acl_test1
file: acl_test1
owner: root
group: root
user::rwx
user:wuxuan:r-x
group::r–
group:groupname:r-x
mask::r-x ----表示有效权限,使用者或者群组所设定的权限必须要存在于mask的权限设定范围内才能生效
other::r–
8.用户切换
su - 切换到root
su -l +username 切换到其他用户
sudo 仅有/etc/sudoers内的用户可以执行sudo
sudo表示可以用自己的密码执行root权限
可以通过修改sudoers文件中的使用者列表来
命令 visodu ----相当于直接打开sudoers文件,在文件中添加上需要有sudo权限的用户;
eg:
useranem ALL=(ALL) ALL
%groupname ALL=(ALL) ALL —groupname群组内的用户都可以使用sudo
username ALL=(ALL) NOPASSWD:ALL --免除密码
^s保存 ^x退出
特殊的shell & PAM:
可以给账号/sbin/nologin来作为shell,这样就可以使某些系统账号不用登陆到linux上;
不给予一个账号密码,则该账号不能登陆到linux;
PAM:模组 :提供了验证机制,只要使用者将需要验证的需求告知PAM,PAM就能输出结果; ----一套独立的API;
常用到到命令:
w/who —可以查看当前登入用户
lastlog – 查看登陆日志
给其他用户发送消息
:
write + username + info
如果不想接受(拒绝)任何消息 mesg n/y
wall + info(“hello”) 所有本主机的使用者都可以收到消息。
如果对方不在线上,可以使用mail来通信
eg: mail -s “nice to meet you” username
…