一、用户账户管理
liunx用户三种角色:
超级用户: root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高 无上的权限。
普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等
伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache
useradd: 添加用户
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号)。
-G:指定用户的附加组名(或使用 GID 号)。
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
-s:指定用户的登录Shell。
创建一个辅助管理员账号 admin,将其基本组指定为“wheel”,附加组指定为“root”,宿主目录指定为“/admin”
useradd -d /admin -g wheel -G root admin
passwd: 修改用户密码
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态(是否被锁定)。
passwd -S yy
-u:解锁用户账户。
echo “123” | passwd --stdin zhsngsan #调用管道符,给 zhangsan 用户设置密码 “123”,为了方便系统管理,passwd 命令提供了 --stdin 选项,用于批量给用户设置初始密码。
usermod: 修改用户信息
-l:更改用户账号的登录名称(Login Name)。
-L:锁定用户账户。
-U:解锁用户账户
u:修改用户的 UID 号。
-d:修改用户的宿主目录位置。
usermod -d /home/admin admin
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)。
-G:修改用户的附加组名(或使用 GID 号)。
-s:指定用户的登录 Shell。
userdel: 删除用户,一般带 -r 一起使用
userdel [-r] 用户名 添加 -r 选项时,表示连用户的宿主目录一并删除
chage:用来修改帐号和密码的有效期限,针对目前系统已经存在的用户
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。chage -M 60 root
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
chage -E 2019-04-29 test //其中,test为用户,用户将在2019年4月29日失效(不可登录)
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期
二、组账号管理
groupadd: 添加组
gpasswd: 修改组信息
-a:添加用户到组
gpasswd -a yy root 添加用户yy进root组
-d:从组删除用户
gpasswd -d yy root 用户yy踢出root组
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
groupdel: 删除组
groupadd [-g GID] 组账号名 groupadd -g 1200 market (-g可以省略)
groupdel yy 删除yy组
三、用户账号文件与组账号文件
账号文件 /etc/passwd 组账号文件 /etc/group
添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文 件。这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件,较常用的初始配置文件 包括“.bash_logout”、“.bash_profile”和“.bashrc”。其中,“.bash_profile”文件中的命令将在该 用户每次登录时被执行;“.bashrc”文件中的命令会在每次加载“/bin/Bash”程序(当然也包括登 录系统)时执行;而“.bash_logout”文件中的命令将在用户每次退出登录时执行。
关于环境变量的读取顺序: 用户登录 ->> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效
bash_logout 用途: 用户登出时执行的命令
四、查询账号相关信息
查询账号相关信息(查询用户信息)
groups: groups yy
id: id yy
finger: finger yy
w: w yy
五、设置目录与文件权限
chmod: 修改文件或目录权限
如“drwxr-xr-x”和“-rw-r–r–”。权限字段由四部分组成,各 自的含义如下所述。
第 1 个字符:表示该文件的类型,可以是 d(目录)、b(块设备文件)、c(字符设备文 件)、“-”(普通文件)、字母“l”(链接文件)等。
第 2~4 个字符:表示该文件的属主用户(User)对该文件的访问权限。
第 5~7 个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。
第 8~10 个字符:表示其他任何用户(Other)对该文件的访问权限。
第 11 个字符:这里的“.”与 SELinux 有关,目前不必关注
rwx: r读,值4 w: 写,值2 x: 执行,值1
chmod 755 1.txt chmod要用三个数,第一个数代表属主的权限,第二个数代表属组的权限,第三个代表其他用户的权限
六、设置目录与文件归属
chown: 修改文件或目录属主,属组
chown 用户名 文件或目录
chown -R 用户名 文件或目录 (目录一般都是递归修改)
chown 用户名:组名 文件或目录 (同时修改用户名和组名)
七、查看用户登陆数据
w: 显示当前登录用户的详细信息,包括用户正在运行的进程、登录时间、从哪里登录、使用的终端等。
who: 显示当前登录系统的所有用户列表,包括他们的终端和登录时间。
last: 显示用户的登录历史记录,包括登录和注销时间,使用的终端,以及登录的IP地址等。last -10,显示最后登陆的10个用户