다음 줄이 있습니다 /etc/environment
.
AAABBB=cccddd
텍스트 콘솔을 사용하여 로그인하면 변수가 설정되므로 재부팅할 필요도 없습니다. 하지만 이렇게 하면 su -
변수가 지워집니다. 왜 그런 겁니까?
ArchLinux와 CentOS 6 및 7에 이 기능이 있습니다.
여기중력은 이렇게 말합니다.
로그아웃했다가 다시 로그인하면 변경사항이 적용됩니다.
하지만 su
대시를 사용하여 명령을 내리는 것은 바로 그것입니다!
난 정말 불행해요su -
분명한변하기 쉬운. su가 더 나은 행동을 하게 만드는 방법이 있나요? 한 가지 해결 방법은 레코드를 복사하는 것입니다 /etc/profile.d
. /etc/environment
예를 들어 프로필 스크립트를 가져오지 못하는 경우가 있기 때문에 프로필 대신 프로필에 레코드를 포함하는 것만으로는 충분하지 않습니다 scp
.
고쳐 쓰다
[root@reallin ~]# cat /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
[root@reallin ~]# cat /etc/pam.d/su-l
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
답변1
su -l <user>
내 시스템에서 제대로 작동하는 동안 sudo su -l <user>
".profile"은 잘 선택되지만 "/etc/environment"에 일반적으로 설정되는 변수를 지울 때 설명하는 것과 동일한 문제를 일으키는 것 같습니다.
<user>
다음을 수행하여 겉보기에 완전한 로그인을 얻을 수 있었습니다 ("/etc/environment"에서 ".profile"과 변수를 실행).
sudo -i -u <user>