linux如何修改用户主目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何修改用户主目录相关的知识,希望对你有一定的参考价值。
1、打开操作系统,切换到要修改的文件或目录的父目录。注意,首先切换到root用户群进行更改。
2、接下来,复制/etc/rc.d下的文件到/tmp下,并切换到/tmp目录。
3、文件的基本权限分为三种:rwx,权限的对象也有三种:属主(u)、属组(g)、其他(o)。对于文件权限的修改,有两种方式。第一种指定对某一类用户添加(+)或删除(-)某一个权限。在不指定用户时,表示对所有用户修改某一个权限。
4、第二种是直接指定一个3位的8进制数,它的二进制表示的每一位分别表示该用户的某个权限,0表示没有权限,1表示有权限。
5、以上的命令只能修改对应的目录自身权限,不能修改目录内部文件的权限。如果要修改目录内部的权限,则使用-R选项,表示递归修改。
参考技术A1、开始之前,我们需要有root权限。这里我们就以binn这个用户为例。我们先来看看我们机器上有哪些shell。cat /etc/shells。
2、使用的shell是bash,最后一个:后面的字段即是用户shell路径。
3、登入binn用户,查看是否是bash。可以看到确实是bash无误。
4、那么,我们先把binn用户登出。logout然后再回到我们root这里,vim /etc/passwd打开用户配置文件。把binn的shell改为ksh。按a插入。修改binn最后:后的字段——/bin/bash为/bin/ksh。
5、按下ESC输入:wq保存退出。
6、然后我们再次登录binn。可以看到确实是ksh无误。
参考技术B 第一:修改/etc/passwd文件 详细说明如下: 第一种方法:vi /etc/passwd 找到要修改的用户那几行,修改掉即可。此法很暴力,建议慎用。 /etc/passwd文件格式 登录名:加密口令:数字用户ID:数字组ID:注释字段:起始目录:shell程序 用此方法修改了用户宿主目录后,会出现某些异常,如:bash环境异常,需要将用户原宿主目录下的隐藏文件拷贝到更改后的宿主目录即可 cp /原宿主目录/.* /目标目录 第二种:usermod usermod -d /usr/newfolder -u uid -u后面一定要接uid啊,不是username 附:usermod详细参数 语 法:usermod [-LU][-c <备注][-d <登入目录][-e <有效期限][- f <缓冲天数][-g <群组][-G <群组][-l <帐号名称][-s ][-u ] [用户帐号] 补充说明:usermod可用来修改用户帐号的各项设定。 参 数: -c<备注 修改用户帐号的备注文字。 -d登入目录 修改用户登入时的目录。 -e<有效期限 修改帐号的有效期限。 -f<缓冲天数 修改在密码过期后多少天即关闭该帐号。 -g<群组 修改用户所属的群组。 -G<群组 修改用户所属的附加群组。 -l<帐号名称 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s 修改用户登入后所使用的shell。 -U 解除密码锁定本回答被提问者采纳 参考技术C 有两种方法:第一:修改/etc/passwd文件
第二:usermod命令
详细说明如下:
第一种方法:vi /etc/passwd
找到要修改的用户那几行,修改掉即可。此法很暴力,建议慎用。
第二种:usermod
usermod -d /usr/newfolder -u uid
-u后面一定要接uid啊,不是username
附:usermod详细参数
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-
f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ]
[用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。 参考技术D
操作步骤如下:
1、切换到root用户,直接修改/etc/passwd文件,找到用户名一行,如下图所示修改路径,然后保存即可;
2、切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为用户名),使用该命令请确保该用户下没有运行的软件或进程;
3、最后切换到普通账户,就会看到当前默认目录已经更改了。
Linux获取用户主目录
#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
import os
class get_home_path(object):
def __init__(self, username):
self.username = username
self.user_dict = {}
def read_passwd(self):
with open("/etc/passwd", "r") as user_info:
for f in user_info.readlines():
f_list = f.strip(‘\n‘).split(‘:‘)
self.user_dict[f_list[0]] = f_list[5]
return self.user_dict
def get_home_dir(self):
user_dict = self.read_passwd()
try:
home_dir = user_dict[self.username]
return home_dir
except Exception, e:
print "%s user not exist!" % e
sys.exit()
if __name__ == ‘__main__‘:
if len(sys.argv) == 1:
print os.path.expanduser(‘~‘)
elif len(sys.argv) == 2:
username = sys.argv[1]
get_path = get_home_path(username)
print get_path.get_home_dir()
else:
print "Parameter input is incorrect,more than one."
以上是关于linux如何修改用户主目录的主要内容,如果未能解决你的问题,请参考以下文章